
:root{
  color-scheme:light;
  --p:#e72630;--pd:#b91620;--ps:#fff0f1;--accent:#10100f;
  --ink:#10100f;--text:#2e3035;--muted:#6f747d;--bg:#f5f5f6;
  --surface:#ffffff;--surface-2:#fafafa;--line:#dedfe3;
  --danger:#c72b35;--success:#16835f;--warning:#916300;
  --shadow:0 18px 48px rgba(16,16,15,.10);--shadow-sm:0 8px 24px rgba(16,16,15,.07);
  --r:10px;--button-r:3px;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --p:#ff3945;--pd:#e72630;--ps:rgba(231,38,48,.14);--accent:#f5f5f6;
  --ink:#f7f7f8;--text:#e3e5e8;--muted:#a5a9b1;--bg:#0d0e10;
  --surface:#15171a;--surface-2:#1b1d21;--line:#2c2f34;
  --danger:#ff6570;--success:#50c895;--warning:#ffc95e;
  --shadow:0 18px 55px rgba(0,0,0,.34);--shadow-sm:0 9px 28px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Alexandria",Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.75;transition:background .22s,color .22s}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(231,38,48,.22);outline-offset:2px}
.container{width:min(1180px,calc(100% - 32px));margin:auto}
.loading-screen{min-height:100vh;display:grid;place-content:center;gap:15px;text-align:center;background:var(--bg)}
.loading-screen img{width:150px;max-height:90px;object-fit:contain;margin:auto}
.topbar{background:#10100f;color:#fff;text-align:center;padding:7px 14px;font-size:12px;border-bottom:3px solid var(--p)}
.header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;color:var(--ink);font-weight:800;min-width:130px}
.brand-logo{display:block;width:135px;height:66px;object-fit:contain}
.logo-dark{display:none}
html[data-theme="dark"] .logo-light{display:none}
html[data-theme="dark"] .logo-dark{display:block}
.navlinks{display:flex;gap:25px;font-size:14px;font-weight:600}
.navlinks a{position:relative;padding:7px 0}
.navlinks a:after{content:"";position:absolute;inset-inline-start:0;bottom:0;width:0;height:2px;background:var(--p);transition:.2s}
.navlinks a:hover{color:var(--p)}
.navlinks a:hover:after{width:100%}
.actions,.preference-controls{display:flex;gap:8px;align-items:center}
.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:var(--button-r);background:var(--surface);color:var(--ink);cursor:pointer;font-weight:800;display:grid;place-items:center;transition:.18s}
.icon-btn:hover{border-color:var(--p);color:var(--p);transform:translateY(-1px)}
.btn{border:1px solid transparent;border-radius:var(--button-r);padding:10px 18px;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s;min-height:43px}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-p{background:var(--p);color:#fff;box-shadow:0 9px 22px rgba(231,38,48,.20)}
.btn-p:hover{background:var(--pd)}
.btn-light{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn-light:hover{border-color:var(--p);color:var(--p)}
.btn-dark{background:#10100f;color:#fff;border-color:#10100f}
.btn-danger{background:var(--surface);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}
.btn-sm{padding:7px 11px;min-height:34px;font-size:12px}
.badge{display:inline-flex;align-items:center;gap:7px;background:var(--ps);color:var(--p);border:1px solid color-mix(in srgb,var(--p) 24%,var(--line));border-radius:4px;padding:6px 11px;font-size:12px;font-weight:700}
.hero{position:relative;overflow:hidden;padding:74px 0 68px;background:linear-gradient(135deg,var(--surface) 0%,var(--bg) 62%)}
.hero:before{content:"";position:absolute;width:280px;height:520px;background:var(--p);opacity:.07;transform:skewX(-24deg) rotate(12deg);top:-190px;inset-inline-end:7%}
.hero:after{content:"VNT";position:absolute;inset-inline-start:-30px;bottom:-95px;font-weight:800;font-size:230px;line-height:1;color:color-mix(in srgb,var(--p) 6%,transparent);letter-spacing:-20px;pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(34px,4vw,58px)}
.hero-copy,.mock{min-width:0}
.hero-copy{max-width:660px}
.hero-title{font-size:clamp(40px,5vw,61px);line-height:1.22;margin:19px 0 16px;color:var(--ink);letter-spacing:-1.35px;text-wrap:balance}
.hero-title-line{display:block;white-space:nowrap;color:inherit}
.hero-title-line.hero-title-accent{color:var(--p)}
.lead{font-size:18px;color:var(--muted);max-width:650px;margin:0;text-wrap:balance}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.hero-note{margin:14px 0 0;color:var(--muted);font-size:12px;text-align:start;max-width:620px}
.mock{width:100%;max-width:520px;justify-self:center;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--p);padding:19px;border-radius:var(--r);box-shadow:var(--shadow);transform:none}
.mock-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.avatar{width:39px;height:39px;border-radius:7px;display:grid;place-items:center;background:var(--ps)}
.mock-body{display:grid;grid-template-columns:105px 1fr;gap:12px}
.mock-side{background:#10100f;color:#fff;border-radius:6px;padding:10px;border-inline-start:4px solid var(--p)}
.mock-side div{font-size:11px;padding:8px;border-radius:3px;margin-bottom:5px}
.mock-side div:first-child{background:var(--p)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.mini,.card,.panel,.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm)}
.mini{padding:14px}
.mini strong{font-size:23px;color:var(--ink)}
.mini.wide{grid-column:1/-1}
.progress{height:8px;background:color-mix(in srgb,var(--line) 70%,transparent);border-radius:2px;overflow:hidden;margin-top:10px}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--p),#ff6570)}
.section{padding:78px 0}
.section-head{max-width:760px;margin:0 auto 40px;text-align:center}
.section-head h2{font-size:clamp(30px,4vw,44px);line-height:1.3;color:var(--ink);margin:11px 0}
.section-head p{color:var(--muted);margin:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{padding:24px;position:relative;overflow:hidden}
.card:before{content:"";position:absolute;inset-inline-start:0;top:0;width:4px;height:100%;background:var(--p);opacity:.8}
.hover{transition:.22s}
.hover:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--p) 35%,var(--line))}
.icon{width:50px;height:50px;display:grid;place-items:center;background:var(--ps);border-radius:5px;font-size:23px;margin-bottom:15px;color:var(--p)}
.card h3{color:var(--ink);margin:0 0 7px}
.card p{color:var(--muted);font-size:14px;margin:0}
.dark-section{background:#10100f;color:#fff;border-block:5px solid var(--p)}
.dark-section h2,.dark-section p{color:#fff}
.dark-section .badge{background:rgba(231,38,48,.15);border-color:rgba(255,255,255,.18);color:#fff}
.grades{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.grade{padding:24px 10px;text-align:center;border-radius:5px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-bottom:3px solid var(--p)}
.grade strong{font-size:23px;display:block}
.grade span{font-size:12px;color:#c7c9cd}
.subscription{display:grid;grid-template-columns:1fr .82fr;gap:38px;align-items:center;padding:40px;border:1px solid var(--line);border-inline-start:7px solid var(--p);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}
.subscription h2{font-size:clamp(29px,4vw,43px);color:var(--ink);margin:0 0 9px}
.check{list-style:none;padding:0}
.check li{margin:10px 0}
.check li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;background:var(--p);color:#fff;border-radius:3px;margin-inline-end:8px;font-size:12px}
.price{padding:29px;border-radius:6px;background:linear-gradient(145deg,#10100f,#242424);color:#fff;text-align:center;border-top:5px solid var(--p)}
.price h3{font-size:31px;margin:8px 0}
.price .btn{width:100%;background:#fff;color:#10100f}
.footer{background:var(--surface);border-top:1px solid var(--line);padding:29px 0}
.footer-row{display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:13px}
.page-hero{padding:50px 0;background:linear-gradient(135deg,var(--surface),var(--bg));border-bottom:1px solid var(--line);border-top:4px solid var(--p)}
.page-hero h1{font-size:clamp(31px,5vw,48px);color:var(--ink);margin:8px 0}
.page-hero p{color:var(--muted);margin:0}
.form-wrap{width:min(720px,calc(100% - 30px));margin:48px auto;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--p);border-radius:var(--r);padding:31px;box-shadow:var(--shadow)}
.form-wrap.small{max-width:530px}
.form-wrap h1{color:var(--ink);margin:8px 0 3px}
.form-wrap>p{color:var(--muted);margin:0 0 20px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.field{display:grid;gap:6px;margin-bottom:13px}
.field label{font-size:13px;font-weight:700;color:var(--ink)}
.field input,.field select,.field textarea,.search{border:1px solid var(--line);border-radius:3px;padding:12px 13px;background:var(--surface-2);color:var(--text);outline:none;width:100%}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(231,38,48,.10)}
.full{grid-column:1/-1}
.form-wrap>.btn,.form-wrap form>.btn{width:100%}
.note{text-align:center;color:var(--muted);font-size:13px}
.app-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:#10100f;color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;border-inline-end:4px solid var(--p);overflow:auto}
.side-brand{display:flex;justify-content:center;padding:3px 4px 15px;border-bottom:1px solid rgba(255,255,255,.13);margin-bottom:15px}
.side-brand .brand-logo{width:145px;height:82px}
.profile{padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:rgba(255,255,255,.055);margin-bottom:16px}
.profile strong{display:block}
.profile small{color:#c2c4c8}
.sidebar .preference-controls{margin:0 0 15px}
.sidebar .icon-btn{flex:1;width:auto;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#fff}
.side-nav{display:grid;gap:5px}
.side-nav a{padding:11px 12px;border-radius:3px;color:#dedfe2;font-size:14px;border-inline-start:3px solid transparent}
.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.10);color:#fff;border-inline-start-color:var(--p)}
.main{padding:29px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}
.toolbar h1{font-size:30px;color:var(--ink);margin:0}
.toolbar p{color:var(--muted);font-size:13px;margin:2px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.stat{padding:19px;border-top:4px solid var(--p)}
.stat small{color:var(--muted)}
.stat strong{display:block;font-size:28px;color:var(--ink)}
.dash-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.panel{padding:21px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}
.panel-head h2{font-size:18px;color:var(--ink);margin:0}
.list{display:grid;gap:9px}
.list-item,.lesson{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2)}
.list-item:hover,.lesson:hover{border-color:color-mix(in srgb,var(--p) 35%,var(--line))}
.dot{width:10px;height:10px;border-radius:2px;background:var(--p);flex:0 0 auto}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.course{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm)}
.cover{height:150px;display:grid;place-items:center;background:linear-gradient(145deg,var(--ps),var(--surface-2));font-size:52px;border-bottom:4px solid var(--p)}
.course-body{padding:19px}
.course-body h3{color:var(--ink);margin:7px 0}
.meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}
.course-body p{font-size:13px;color:var(--muted)}
.course-body .btn{width:100%}
.lesson-num{width:42px;height:42px;display:grid;place-items:center;background:var(--ps);color:var(--p);border-radius:4px;font-weight:800}
.lesson-info{flex:1}
.lesson-info strong{display:block;color:var(--ink)}
.lesson-info small{color:var(--muted)}
.status{display:inline-flex;padding:4px 9px;border-radius:3px;font-size:11px;font-weight:700}
.ok{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}
.warn{background:color-mix(in srgb,var(--warning) 14%,var(--surface));color:var(--warning)}
.bad{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}
.alert{padding:14px 16px;border-radius:5px;margin-bottom:15px;font-size:13px}
.info{background:var(--ps);color:var(--p);border:1px solid color-mix(in srgb,var(--p) 28%,var(--line))}
.warning{background:color-mix(in srgb,#f5a800 11%,var(--surface));color:var(--warning);border:1px solid color-mix(in srgb,#f5a800 30%,var(--line))}
.danger{background:color-mix(in srgb,var(--danger) 11%,var(--surface));color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line))}
.video{background:#050506;border-radius:6px;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;position:relative;border:1px solid #292929;border-top:5px solid var(--p)}
.video iframe{width:100%;height:100%;border:0}
.video-placeholder{color:#fff;text-align:center}
.video-placeholder div{font-size:58px}
.watermark{position:absolute;z-index:3;top:12px;inset-inline-start:12px;color:rgba(255,255,255,.62);font-size:11px;pointer-events:none}
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0}
.tab{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:3px;padding:8px 12px;cursor:pointer}
.tab.active{background:var(--p);color:#fff;border-color:var(--p)}
.comment{padding:13px;border:1px solid var(--line);border-radius:5px;margin-bottom:9px;background:var(--surface)}
.comment-head{display:flex;justify-content:space-between;gap:8px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:680px}
th,td{text-align:start;padding:11px;border-bottom:1px solid var(--line);font-size:12px}
th{color:var(--muted);background:var(--surface-2)}
.bars{height:210px;display:flex;align-items:flex-end;gap:10px;padding-top:15px}
.bar{flex:1;background:linear-gradient(180deg,#ff6570,var(--p));border-radius:3px 3px 0 0;position:relative}
.bar span{position:absolute;bottom:-24px;width:100%;text-align:center;font-size:10px;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:rgba(5,5,6,.76);display:grid;place-items:center;padding:16px;z-index:100}
.modal{width:min(560px,100%);background:var(--surface);border-radius:var(--r);padding:25px;box-shadow:var(--shadow);border-top:5px solid var(--p)}
.modal h2{color:var(--ink);margin-top:0}
.hidden{display:none!important}
.toast{position:fixed;bottom:18px;inset-inline-start:18px;z-index:200;background:#10100f;color:#fff;padding:12px 16px;border-radius:4px;border-inline-start:5px solid var(--p);box-shadow:var(--shadow);opacity:0;transform:translateY(15px);transition:.22s;pointer-events:none}
.toast.show{opacity:1;transform:none}
.empty{text-align:center;padding:38px;color:var(--muted)}
.spinner{width:34px;height:34px;border:4px solid var(--line);border-top-color:var(--p);border-radius:50%;animation:spin .8s linear infinite;margin:auto}
@keyframes spin{to{transform:rotate(360deg)}}
.menu-btn{display:none}
html[dir="ltr"] .check li:before{margin-right:8px;margin-left:0}
html[dir="ltr"] .hero h1{letter-spacing:-1.8px}
body[data-lang="en"] .hero-title{font-size:clamp(38px,4.45vw,56px);line-height:1.2}
html[data-theme="dark"] .mock,html[data-theme="dark"] .subscription,html[data-theme="dark"] .form-wrap,html[data-theme="dark"] .card,html[data-theme="dark"] .panel,html[data-theme="dark"] .stat,html[data-theme="dark"] .course{box-shadow:none}
html[data-theme="dark"] .brand-logo.logo-dark{filter:drop-shadow(0 5px 16px rgba(231,38,48,.18))}
@media(max-width:1000px){
  .navlinks{display:none}.hero-grid,.subscription,.dash-grid{grid-template-columns:1fr}.hero-copy{max-width:760px}.mock{max-width:650px}.hero-title-line{white-space:normal}.cards{grid-template-columns:repeat(2,1fr)}.grades{grid-template-columns:repeat(3,1fr)}.course-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.app-layout{grid-template-columns:1fr}.sidebar{display:none;position:fixed;inset-inline-start:0;top:0;z-index:80;width:260px}.sidebar.open{display:block}.menu-btn{display:inline-flex}
}
@media(max-width:700px){
  .brand-logo{width:105px;height:58px}.nav{min-height:72px}.actions{gap:5px}.actions>.btn-light{display:none}.actions .btn{padding:9px 11px;font-size:12px}.icon-btn{width:36px;height:36px}.hero{padding:50px 0 56px}.hero h1{font-size:39px;line-height:1.28}.lead{font-size:16px}.hero-actions .btn{width:100%}.mock-body{grid-template-columns:82px 1fr}.section{padding:61px 0}.cards,.grades,.course-grid,.stats,.form-grid{grid-template-columns:1fr}.subscription{padding:25px 19px}.main{padding:18px 13px}.toolbar{align-items:flex-start;flex-direction:column}.footer-row{flex-direction:column;text-align:center}.preference-controls{gap:4px}
}
@media(max-width:430px){.topbar{font-size:10px}.actions>.btn-p{display:none}.brand-logo{width:100px}.hero h1{font-size:33px;line-height:1.3}.form-wrap{padding:24px 18px}}


/* Content management center */
.content-manager{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;align-items:start}
.subject-rail{position:sticky;top:22px;padding:15px}
.subject-choice-list{display:grid;gap:8px}
.subject-choice{width:100%;display:flex;align-items:center;gap:10px;text-align:start;border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:10px;border-radius:4px;cursor:pointer;transition:.18s}
.subject-choice:hover,.subject-choice.active{border-color:var(--p);background:var(--ps)}
.subject-choice.active{box-shadow:inset 4px 0 0 var(--p)}
html[dir="rtl"] .subject-choice.active{box-shadow:inset -4px 0 0 var(--p)}
.subject-choice strong{display:block;color:var(--ink);font-size:13px}.subject-choice small{display:block;color:var(--muted);font-size:10px}
.content-workspace{display:grid;gap:18px;min-width:0}.content-list{display:grid;gap:8px}
.content-item{display:grid;grid-template-columns:43px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);background:var(--surface-2);border-radius:5px}
.content-order{width:40px;height:40px;display:grid;place-items:center;background:#10100f;color:#fff;border-bottom:3px solid var(--p);font-weight:800;border-radius:3px}
.inline-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.top-gap{margin-top:9px}.full-width{width:100%;margin-top:10px}
.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.advanced-box{border:1px solid var(--line);background:var(--surface-2);padding:10px 12px;margin-bottom:13px;border-radius:4px}.advanced-box summary{cursor:pointer;font-weight:700;color:var(--ink);margin-bottom:7px}
.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink);margin:8px 0 12px}.checkbox-row input{width:18px;height:18px;accent-color:var(--p)}
.upload-field input[type="file"]{padding:9px;background:var(--surface)}
.panel-subhead{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.panel-subhead h3{font-size:15px;margin:0;color:var(--ink)}.panel-subhead span{font-size:12px;color:var(--muted)}
.file-list{display:grid;gap:8px;margin-top:10px}.file-row{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface-2);padding:10px;border-radius:4px}.file-icon{font-size:20px}.empty.compact{padding:20px}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{margin:0}.wide-modal{width:min(720px,100%);max-height:calc(100vh - 32px);overflow:auto}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:1050px){.content-manager{grid-template-columns:1fr}.subject-rail{position:static}.subject-choice-list{grid-template-columns:repeat(2,1fr)}.manage-grid{grid-template-columns:1fr}}
@media(max-width:700px){.subject-choice-list{grid-template-columns:1fr}.content-item{grid-template-columns:40px minmax(0,1fr)}.content-item>.status,.content-item>.inline-actions{grid-column:2}.file-row{align-items:flex-start;flex-wrap:wrap}.file-row .lesson-info{min-width:calc(100% - 40px)}.form-actions{align-items:stretch;flex-direction:column}.form-actions>.inline-actions,.form-actions>.btn{width:100%}.form-actions .btn{flex:1}}
.video video{width:100%;height:100%;display:block;background:#050506;object-fit:contain}
.manual-progress{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:11px 13px;border:1px solid var(--line);border-inline-start:4px solid var(--p);background:var(--surface);border-radius:4px}
.manual-progress p{margin:0;color:var(--muted);font-size:12px}
@media(max-width:700px){.manual-progress{align-items:stretch;flex-direction:column}.manual-progress .btn{width:100%}}
.video-upload-progress{margin:4px 0 14px;padding:12px;border:1px solid var(--line);border-inline-start:4px solid var(--p);background:var(--surface-2);border-radius:3px}
.video-upload-progress.hidden{display:none}
.video-upload-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.video-upload-progress small{display:block;margin-top:7px;color:var(--muted)}
.current-video{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;margin-bottom:13px;border:1px solid var(--line);background:var(--surface-2);border-radius:3px}
@media(max-width:700px){.current-video,.video-upload-row{align-items:flex-start;flex-direction:column}}

/* Light/dark dashboard sidebar */
.sidebar{background:var(--surface);color:var(--text);border-inline-end:4px solid var(--p);box-shadow:8px 0 28px rgba(16,16,15,.06)}
.side-brand{border-bottom-color:var(--line)}
.profile{border-color:var(--line);background:var(--surface-2)}
.profile strong{color:var(--ink)}
.profile small{color:var(--muted)}
.sidebar .icon-btn{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
.side-nav a{color:var(--text)}
.side-nav a:hover,.side-nav a.active{background:var(--ps);color:var(--p);border-inline-start-color:var(--p)}
html[data-theme="dark"] .sidebar{background:#10100f;color:#fff;box-shadow:none}
html[data-theme="dark"] .side-brand{border-bottom-color:rgba(255,255,255,.13)}
html[data-theme="dark"] .profile{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.055)}
html[data-theme="dark"] .profile strong{color:#fff}
html[data-theme="dark"] .profile small{color:#c2c4c8}
html[data-theme="dark"] .sidebar .icon-btn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#fff}
html[data-theme="dark"] .side-nav a{color:#dedfe2}
html[data-theme="dark"] .side-nav a:hover,html[data-theme="dark"] .side-nav a.active{background:rgba(255,255,255,.10);color:#fff}

/* Manual subject sales */
.course-price{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 12px;padding:10px 0;border-top:1px solid var(--line)}
.course-price strong{font-size:18px;color:var(--p)}
.purchase-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start}
.purchase-price{font-size:clamp(34px,5vw,52px);font-weight:800;color:var(--p);margin:12px 0 18px}
.payment-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}
.payment-details>div,.purchase-review-meta>div{border:1px solid var(--line);background:var(--surface-2);padding:12px;border-radius:4px;min-width:0}
.payment-details small,.purchase-review-meta small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.payment-details strong,.purchase-review-meta strong{display:block;color:var(--ink);overflow-wrap:anywhere}
.purchase-steps{margin:0;padding-inline-start:24px;color:var(--text)}
.purchase-steps li{margin:12px 0}
.purchase-request-list{display:grid;gap:11px}
.purchase-request{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);background:var(--surface-2);border-inline-start:4px solid var(--p);border-radius:5px}
.purchase-request-main{display:flex;align-items:center;gap:11px;min-width:0}
.purchase-request-main small{display:block;color:var(--muted)}
.purchase-note{grid-column:1/-1;margin:0;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.purchase-dashboard{margin-bottom:18px}
.purchase-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.purchase-review{display:flex;flex-direction:column;gap:13px}
.purchase-review-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.proof-preview{display:grid;gap:8px;border:1px solid var(--line);background:var(--surface-2);padding:9px;border-radius:5px;color:var(--p);font-weight:700;text-align:center}
.proof-preview img{width:100%;height:260px;object-fit:contain;background:#0b0b0c;border-radius:3px}
.subject-price-badge{display:inline-flex;align-items:center;padding:5px 10px;background:var(--ps);color:var(--p);border:1px solid color-mix(in srgb,var(--p) 30%,var(--line));border-radius:3px;font-size:13px}
.status.bad{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}
.status.warn{background:color-mix(in srgb,#f5a800 14%,var(--surface));color:var(--warning)}
.status.ok{background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}
@media(max-width:1000px){.purchase-layout,.purchase-review-grid{grid-template-columns:1fr}.payment-details{grid-template-columns:1fr}.purchase-request{grid-template-columns:1fr auto}.purchase-request>.inline-actions,.purchase-request>.status{justify-self:start}.purchase-review-meta{grid-template-columns:1fr}}
@media(max-width:600px){.purchase-request{grid-template-columns:1fr}.proof-preview img{height:220px}}

/* Exams and question center */
.subject-switcher,.comment-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.subject-switcher label{font-weight:800;color:var(--ink)}
.subject-switcher select,.comment-toolbar select,.comment-toolbar input{min-width:210px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:11px 12px;border-radius:3px}
.exam-management-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(520px,1.2fr);gap:18px;align-items:start}
.exam-admin-list{display:grid;gap:10px}.exam-admin-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid var(--line);background:var(--surface-2);border-inline-start:4px solid var(--p);border-radius:4px}
.exam-admin-card h3{margin:0;color:var(--ink);font-size:16px}.exam-admin-card p,.exam-admin-card small{margin:5px 0 0;color:var(--muted);font-size:12px}.inline-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.exam-modal{width:min(920px,100%);max-height:92vh;overflow:auto}.exam-modal .modal-head{position:sticky;top:-25px;z-index:5;background:var(--surface);padding:20px 0 13px;border-bottom:1px solid var(--line);margin-bottom:16px}.exam-modal .modal-head small{color:var(--muted)}
.checkbox-grid{display:flex;gap:18px;flex-wrap:wrap;padding:8px 0 16px}.checkbox-row{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:700}.checkbox-row input{width:auto}
.exam-builder-head{border-top:1px solid var(--line);padding-top:16px}.exam-question-list{display:grid;gap:14px}.exam-question-editor{border:1px solid var(--line);border-top:4px solid var(--p);background:var(--surface-2);padding:16px;border-radius:4px}.exam-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--ink)}
.exam-options{display:grid;gap:8px;margin-bottom:10px}.exam-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.exam-option>input[type="radio"]{width:18px;height:18px;accent-color:var(--p)}.exam-option>input[data-option-label]{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:10px 11px;border-radius:3px}
.form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:19px}.inline-actions.centered{justify-content:center}.exam-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}.exam-list-item{align-items:center}
.exam-running-header{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:4px solid var(--p);box-shadow:var(--shadow-sm)}.exam-running-header .container{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px}.exam-running-header h1{margin:5px 0 0;color:var(--ink);font-size:25px}.exam-clock{min-width:150px;text-align:center;background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:4px}.exam-clock small{display:block;opacity:.75}.exam-clock strong{font-size:27px;letter-spacing:1px}
.exam-question-title{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px}.exam-question-title h3{margin:5px 0;color:var(--ink)}.exam-question-title small{color:var(--muted)}.exam-answer-list{display:grid;gap:8px;margin-top:14px}.exam-answer{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface-2);padding:12px;border-radius:4px;cursor:pointer}.exam-answer:hover{border-color:var(--p);background:var(--ps)}.exam-answer input{accent-color:var(--p);width:18px;height:18px}.exam-submit-bar{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-inline-start:5px solid var(--p);box-shadow:var(--shadow);border-radius:4px}.exam-submit-bar span{color:var(--muted);font-size:12px}
.exam-result{text-align:center}.result-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;font-size:35px;font-weight:900;border:12px solid var(--line);color:var(--ink)}.result-ring.passed{border-color:var(--success);color:var(--success)}.result-ring.failed{border-color:var(--danger);color:var(--danger)}
.comment-toolbar .search{flex:1;min-width:260px}.comment-center{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.doctor-comment-card blockquote{margin:12px 0;padding:13px 15px;background:var(--surface-2);border-inline-start:4px solid var(--p);color:var(--text)}.comment-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.comment-settings .checkbox-row{margin-bottom:14px}
@media(max-width:1100px){.exam-management-grid,.exam-intro-grid{grid-template-columns:1fr}.comment-center{grid-template-columns:1fr}}
@media(max-width:700px){.exam-running-header .container,.exam-submit-bar,.form-actions{align-items:stretch;flex-direction:column}.exam-clock{width:100%}.exam-question-title{grid-template-columns:auto 1fr}.exam-question-title small{grid-column:2}.comment-settings{grid-template-columns:1fr}.exam-option{grid-template-columns:auto 1fr auto}.exam-modal{padding:18px}.subject-switcher select,.comment-toolbar select,.comment-toolbar input{width:100%;min-width:0}}

/* Subject and lecture thumbnails */
.course-cover-image{width:100%;height:100%;object-fit:cover;display:block}
.thumbnail-fallback{display:grid;place-items:center;background:linear-gradient(145deg,var(--ps),var(--surface-2));color:var(--p);font-weight:800}
.choice-thumbnail{width:48px;height:48px;object-fit:cover;border:1px solid var(--line);border-radius:3px;flex:0 0 auto}
.list-thumbnail{width:48px;height:48px;object-fit:cover;border:1px solid var(--line);border-radius:3px;flex:0 0 auto}
.subject-heading-thumbnail{width:66px;height:46px;object-fit:cover;border:1px solid var(--line);border-radius:3px;flex:0 0 auto}
.subject-title-with-thumb{display:flex;align-items:center;gap:12px;min-width:0}.subject-title-with-thumb>div{min-width:0}.subject-title-with-thumb h2{margin:0 0 4px}.subject-title-with-thumb small{display:block;color:var(--muted)}
.lecture-admin-thumbnail{width:76px;height:48px;object-fit:cover;border:1px solid var(--line);border-radius:3px;flex:0 0 auto}
.lesson-thumbnail{width:74px;height:48px;object-fit:cover;border:1px solid var(--line);border-radius:3px;flex:0 0 auto}
.page-hero-title{display:flex;align-items:center;gap:16px}.page-hero-title>div{min-width:0}.page-hero-title h1{margin-top:10px}
.page-hero-thumbnail{width:124px;height:78px;object-fit:cover;border:1px solid color-mix(in srgb,var(--p) 30%,var(--line));border-bottom:4px solid var(--p);border-radius:3px;flex:0 0 auto;box-shadow:var(--shadow-sm)}
.thumbnail-current{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:14px;margin:8px 0 12px;padding:10px;border:1px solid var(--line);background:var(--surface-2);border-radius:4px}.thumbnail-current img{width:180px;height:102px;object-fit:cover;border:1px solid var(--line);border-radius:3px}.thumbnail-current strong,.thumbnail-current small{display:block}.thumbnail-current small{color:var(--muted);margin:4px 0 9px}
.content-item{grid-template-columns:76px minmax(0,1fr) auto auto}
@media(max-width:700px){.page-hero-title{align-items:flex-start}.page-hero-thumbnail{width:92px;height:60px}.thumbnail-current{grid-template-columns:1fr}.thumbnail-current img{width:100%;height:auto;aspect-ratio:16/9}.content-item{grid-template-columns:76px minmax(0,1fr)}.content-item>.status,.content-item>.inline-actions{grid-column:2}.lesson-thumbnail{width:64px;height:44px}}

/* Course catalog, profile settings, and enrollment management */
.course-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}
.course-toolbar h2{margin:0;color:var(--ink);font-size:28px}.course-toolbar p{margin:4px 0 0;color:var(--muted)}
.course-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.course-filters select,.course-filters input{min-width:210px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:11px 12px;border-radius:3px}
.course-grid{align-items:stretch}
.course{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.course-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,var(--ps),var(--surface-2));border-bottom:4px solid var(--p)}
.course-media .course-cover-image,.course-media .thumbnail-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:grid;place-items:center}
.course-grade-badge{position:absolute;top:10px;inset-inline-start:10px;z-index:2;background:rgba(16,16,15,.84);color:#fff;padding:5px 9px;border-radius:3px;font-size:11px;font-weight:800;border-inline-start:3px solid var(--p);backdrop-filter:blur(5px)}
.course-body{display:flex;flex:1;flex-direction:column;padding:17px 18px 18px;min-height:270px}
.course-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;margin-bottom:6px}
.course-body h3{font-size:20px;line-height:1.45;margin:4px 0 7px;overflow-wrap:anywhere}
.course-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:62px;margin:0;color:var(--muted)!important;line-height:1.65}
.course-bottom{margin-top:auto;padding-top:12px}.course-bottom>.btn{margin-top:12px}
.course-price{margin:0 0 10px}.course-price+.progress{margin-bottom:12px}

.student-grade-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:center;gap:12px;margin:0 0 18px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-inline-start:5px solid var(--p);box-shadow:var(--shadow-sm)}
.student-grade-summary div{display:grid;gap:2px}.student-grade-summary small{color:var(--muted)}.student-grade-summary strong{color:var(--ink)}.student-grade-summary a{color:var(--p);font-weight:800}

.profile-settings-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:18px;align-items:start}
.account-summary{text-align:center;position:sticky;top:20px}.account-avatar,.enrollment-avatar{display:grid;place-items:center;background:var(--p);color:#fff;font-weight:900}
.account-avatar{width:82px;height:82px;margin:0 auto 13px;font-size:31px;border-radius:4px;box-shadow:0 10px 24px rgba(231,38,48,.2)}
.account-summary h2{margin:0;color:var(--ink)}.account-summary>p{color:var(--muted);margin:5px 0 20px}
.account-details{display:grid;gap:9px;text-align:start}.account-details>div{padding:11px;background:var(--surface-2);border:1px solid var(--line)}.account-details small,.account-details strong{display:block}.account-details small{color:var(--muted);font-size:11px}.account-details strong{color:var(--ink);overflow-wrap:anywhere}

.student-management-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) 150px;align-items:end;gap:14px;margin-bottom:18px;padding:15px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.student-management-toolbar .field{margin:0}.student-count{height:100%;min-height:74px;display:grid;place-content:center;text-align:center;background:var(--surface-2);border:1px solid var(--line);border-bottom:4px solid var(--p)}.student-count small{color:var(--muted)}.student-count strong{font-size:27px;color:var(--ink)}
.enrollment-list{display:grid;gap:10px}.enrollment-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);background:var(--surface-2);border-inline-start:4px solid var(--p)}
.enrollment-avatar{width:48px;height:48px;border-radius:3px;font-size:18px}.enrollment-card .lesson-info small{display:block}.enrollment-card .btn{white-space:nowrap}
.danger-confirmation{margin:0 0 15px;padding:14px;background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 36%,var(--line));border-inline-start:5px solid var(--danger)}.danger-confirmation strong{color:var(--danger);font-size:17px}.danger-confirmation p{margin:7px 0 0}

@media(max-width:900px){.profile-settings-grid{grid-template-columns:1fr}.account-summary{position:static}.student-management-toolbar{grid-template-columns:1fr 1fr}.student-count{grid-column:1/-1}.course-toolbar{align-items:stretch;flex-direction:column}.course-filters>*{flex:1}}
@media(max-width:650px){.student-grade-summary{grid-template-columns:1fr}.student-management-toolbar{grid-template-columns:1fr}.student-count{grid-column:auto}.enrollment-card{grid-template-columns:44px minmax(0,1fr)}.enrollment-card>.btn{grid-column:2;justify-self:start}.course-filters{display:grid;grid-template-columns:1fr}.course-filters select,.course-filters input{width:100%;min-width:0}.course-body{min-height:0}.course-description{min-height:auto}}

.enrollment-card-revoked{opacity:.9;border-style:dashed;background:color-mix(in srgb,var(--surface) 88%,var(--danger) 12%)}
.enrollment-card-revoked .enrollment-avatar{filter:grayscale(.35)}


/* Cinematic public landing — inspired by the supplied editorial motion reference */
.landing-header{position:absolute;inset:0 0 auto;z-index:60;background:linear-gradient(180deg,rgba(8,8,9,.68),transparent);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:none;color:#fff}
.landing-header .nav{min-height:96px}
.landing-header .brand-logo{width:128px;height:70px}
.landing-header .logo-light{display:none!important}.landing-header .logo-dark{display:block!important}
.landing-header .navlinks{color:rgba(255,255,255,.84)}.landing-header .navlinks a:hover{color:#fff}
.landing-header .icon-btn,.landing-header .btn-light{background:rgba(10,10,11,.26);border-color:rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(12px)}
.landing-header .icon-btn:hover,.landing-header .btn-light:hover{border-color:#ff4651;color:#fff;background:rgba(231,38,48,.14)}
.landing-home{background:#0a0a0b;color:#fff;overflow:hidden}
.landing-hero{position:relative;min-height:900px;display:flex;align-items:center;padding:150px 0 92px;background:
radial-gradient(circle at 82% 24%,rgba(231,38,48,.28),transparent 30%),
radial-gradient(circle at 14% 85%,rgba(141,76,65,.26),transparent 36%),
linear-gradient(118deg,#080809 0%,#151113 48%,#241416 100%);isolation:isolate}
.landing-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.18) 46%,rgba(0,0,0,.42) 100%);z-index:-1}
.landing-hero:after{content:"VNT";position:absolute;inset-inline-end:-3vw;bottom:-7vw;font-size:clamp(180px,28vw,430px);line-height:.74;font-weight:800;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);letter-spacing:-.09em;z-index:-1;pointer-events:none}
.landing-noise{position:absolute;inset:0;opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");mix-blend-mode:screen}
.landing-glow{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.landing-glow-a{width:540px;height:540px;inset-inline-end:-210px;top:120px;border:1px solid rgba(255,62,73,.24);box-shadow:0 0 140px rgba(231,38,48,.13)}.landing-glow-b{width:230px;height:230px;inset-inline-start:41%;bottom:-80px;background:rgba(231,38,48,.13);filter:blur(70px)}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(450px,1.08fr);gap:clamp(38px,5vw,84px);align-items:center;position:relative;z-index:2}
.landing-copy{position:relative;z-index:3}.landing-kicker,.landing-eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:#ff626c}.landing-kicker i{width:34px;height:1px;background:#ff4651;display:block}
.landing-title{margin:24px 0 22px;font-size:clamp(58px,7vw,102px);line-height:.98;letter-spacing:-.065em;font-weight:800;text-wrap:balance}.landing-title>span{display:block}.landing-title-outline{color:transparent;-webkit-text-stroke:2px #ff3c48;text-shadow:0 0 38px rgba(231,38,48,.12)}
.landing-lead{max-width:650px;color:rgba(255,255,255,.68);font-size:17px;line-height:2;margin:0;text-wrap:balance}
.landing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.landing-cta{min-height:54px;padding:12px 22px;border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;gap:18px;font-weight:700;transition:.25s;position:relative;overflow:hidden}.landing-cta b{font-size:22px;font-weight:400}.landing-cta-primary{background:#e72630;color:#fff;border-color:#e72630;box-shadow:0 18px 50px rgba(231,38,48,.25)}.landing-cta-primary:hover{background:#ff3945;transform:translateY(-3px)}.landing-cta-ghost{background:rgba(255,255,255,.045);color:#fff;backdrop-filter:blur(12px)}.landing-cta-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.42)}
.landing-proof{display:flex;gap:0;margin-top:38px;border-top:1px solid rgba(255,255,255,.14);max-width:610px}.landing-proof>div{padding:17px 0 0;min-width:130px}.landing-proof>div+div{border-inline-start:1px solid rgba(255,255,255,.12);padding-inline-start:24px;margin-inline-start:24px}.landing-proof strong{font-size:22px;display:block}.landing-proof span{font-size:10px;color:rgba(255,255,255,.5)}
.landing-stage{position:relative;min-height:570px;border:1px solid rgba(255,255,255,.17);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012));box-shadow:0 45px 120px rgba(0,0,0,.48);overflow:hidden;transform:perspective(1300px) rotateY(-5deg) rotateX(1deg);backdrop-filter:blur(8px)}
html[dir="ltr"] .landing-stage{transform:perspective(1300px) rotateY(5deg) rotateX(1deg)}
.landing-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(132deg,transparent 0 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%),linear-gradient(90deg,transparent 0 68%,rgba(231,38,48,.16) 68% 68.4%,transparent 68.4%);pointer-events:none}.landing-stage:after{content:"";position:absolute;inset:9%;border:1px solid rgba(255,255,255,.1);pointer-events:none}
.landing-stage-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(135deg,black,transparent 78%)}
.landing-stage-logo{position:absolute;width:72%;height:62%;object-fit:contain;inset:16% 14% auto;filter:drop-shadow(0 30px 60px rgba(231,38,48,.2));animation:landingLogoFloat 6s ease-in-out infinite}
.landing-stage-ring{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%}.landing-stage-ring-a{width:420px;height:420px;right:-120px;top:-120px}.landing-stage-ring-b{width:250px;height:250px;left:-80px;bottom:-90px;border-color:rgba(231,38,48,.3)}
.landing-stage-index{position:absolute;top:22px;inset-inline-start:24px;font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.45)}.landing-stage-caption{position:absolute;bottom:20px;inset-inline-end:24px;font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.42)}
.landing-float{position:absolute;display:flex;align-items:center;gap:12px;background:rgba(10,10,11,.76);border:1px solid rgba(255,255,255,.17);box-shadow:0 16px 50px rgba(0,0,0,.32);backdrop-filter:blur(18px);padding:14px 16px;min-width:230px;animation:landingFloat 5s ease-in-out infinite}.landing-float small{display:block;color:rgba(255,255,255,.48);font-size:9px}.landing-float strong{font-size:13px}.landing-float em{margin-inline-start:auto;color:#ff4b56;font-style:normal;font-weight:800}.landing-float-top{top:17%;inset-inline-start:-9%}.landing-float-bottom{bottom:13%;inset-inline-end:-7%;animation-delay:-2.4s}.landing-float-dot{width:11px;height:11px;background:#ff3d49;box-shadow:0 0 20px #ff3d49;border-radius:50%}.landing-mini-bars{display:flex;align-items:end;gap:4px;height:38px}.landing-mini-bars i{width:5px;background:linear-gradient(#ff5963,#b91620);display:block}
.landing-scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.12em;color:rgba(255,255,255,.48);display:grid;justify-items:center;gap:7px}.landing-scroll-cue span{width:1px;height:25px;background:linear-gradient(#ff4651,transparent);animation:landingScroll 1.7s infinite}
.landing-marquee{height:70px;background:#e72630;color:#fff;overflow:hidden;display:flex;align-items:center;border-block:1px solid rgba(255,255,255,.14)}.landing-marquee-track{display:flex;align-items:center;gap:28px;white-space:nowrap;width:max-content;animation:landingMarquee 28s linear infinite}.landing-marquee span{font-size:15px;font-weight:700}.landing-marquee i{font-style:normal;font-size:11px;color:#111}
.landing-story{padding:120px 0;background:#f1ebe6;color:#151112;position:relative}.landing-story:before{content:"";position:absolute;width:40%;height:100%;top:0;inset-inline-start:0;background:linear-gradient(135deg,rgba(231,38,48,.07),transparent 68%);pointer-events:none}.landing-story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,7vw,110px);align-items:center}.landing-story-visual{position:relative;min-width:0}.landing-window{background:#111214;border:1px solid rgba(0,0,0,.18);box-shadow:0 38px 80px rgba(50,29,28,.2);transform:rotate(-2.5deg);overflow:hidden}.landing-window-bar{height:38px;background:#1a1b1e;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:6px;padding:0 12px}.landing-window-bar>span{width:7px;height:7px;border-radius:50%;background:#e72630}.landing-window-bar>span:nth-child(2){opacity:.55}.landing-window-bar>span:nth-child(3){opacity:.25}.landing-window-bar small{margin-inline-start:auto;color:#73757a;font-size:8px}.landing-window-body{display:grid;grid-template-columns:105px 1fr;min-height:350px}.landing-window-body aside{background:#0b0c0e;color:#fff;padding:22px 12px;display:flex;flex-direction:column;gap:9px;border-inline-end:1px solid rgba(255,255,255,.08)}.landing-window-body aside b{color:#ff3945;font-size:18px;margin-bottom:12px}.landing-window-body aside span{font-size:9px;padding:8px;color:#7f8289}.landing-window-body aside .active{background:#e72630;color:#fff}.landing-window-content{padding:35px;color:#fff}.landing-window-content>small{color:#94979d;font-size:9px}.landing-window-content h3{font-size:28px;margin:5px 0 24px}.landing-window-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.landing-window-stats div{padding:17px;background:#191b1f;border:1px solid #282b30}.landing-window-stats b{display:block;font-size:25px}.landing-window-stats span{font-size:8px;color:#868a91}.landing-window-course{margin-top:12px;padding:16px;background:#191b1f;border:1px solid #282b30;display:grid;grid-template-columns:1fr auto;gap:10px;font-size:10px}.landing-window-course i{grid-column:1/-1;height:5px;background:#2b2e34;overflow:hidden}.landing-window-course u{display:block;width:72%;height:100%;background:#e72630;text-decoration:none}.landing-visual-tag{position:absolute;inset-inline-end:-25px;bottom:-35px;background:#e72630;color:#fff;padding:20px 24px;width:min(310px,82%);box-shadow:0 24px 50px rgba(231,38,48,.25)}.landing-visual-tag strong{display:block;font-size:17px}.landing-visual-tag span{font-size:10px;color:rgba(255,255,255,.73)}
.landing-story-copy .landing-eyebrow{color:#c11b25}.landing-story-copy h2{font-size:clamp(39px,5vw,67px);line-height:1.18;letter-spacing:-.05em;margin:16px 0 20px;color:#151112}.landing-story-copy>p{color:#635b5b;font-size:15px;line-height:2}.landing-story-points{margin-top:30px}.landing-story-points>div{display:grid;grid-template-columns:55px 1fr;gap:15px;padding:17px 0;border-top:1px solid rgba(20,17,18,.15)}.landing-story-points b{font-size:11px;color:#e72630}.landing-story-points strong{display:block;font-size:14px}.landing-story-points small{color:#766e6f;font-size:11px}
.landing-editorial{padding:120px 0;background:#0b0b0c;color:#fff}.landing-editorial-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.landing-editorial-head h2{font-size:clamp(44px,6vw,78px);line-height:1.08;letter-spacing:-.055em;margin:0}.landing-editorial-head h2 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55)}
.landing-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}.landing-feature{position:relative;min-height:330px;padding:36px;background:#111214;overflow:hidden}.landing-feature-wide{grid-row:span 2;min-height:661px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 50% 20%,rgba(231,38,48,.24),transparent 38%),#111214}.landing-feature-number{position:absolute;top:24px;inset-inline-start:28px;font-size:10px;letter-spacing:.16em;color:#6d7076}.landing-feature-icon{position:absolute;top:26px;inset-inline-end:28px;width:54px;height:54px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:#ff4651;font-weight:800}.landing-feature h3{font-size:clamp(25px,3vw,42px);margin:0 0 12px}.landing-feature p{color:#8f939a;max-width:490px;font-size:13px}.landing-feature-line{position:absolute;inset-inline-start:0;bottom:0;width:0;height:3px;background:#e72630;transition:.45s}.landing-feature:hover .landing-feature-line{width:100%}.landing-feature:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.07);border-radius:50%;inset-inline-end:-70px;bottom:-70px}
.landing-grades{padding:110px 0;background:#f3efeb;color:#171314}.landing-grades-head{max-width:720px;margin-bottom:45px}.landing-grades-head .landing-eyebrow{color:#c71f28}.landing-grades h2{font-size:clamp(42px,5vw,66px);margin:10px 0;letter-spacing:-.05em}.landing-grades p{color:#756d6d}.landing-grade-row{border-top:1px solid rgba(23,19,20,.18)}.landing-grade-row a{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:21px 5px;border-bottom:1px solid rgba(23,19,20,.18);transition:.25s}.landing-grade-row a:hover{padding-inline:18px;background:#e72630;color:#fff}.landing-grade-row span{font-size:10px;color:#e72630}.landing-grade-row a:hover span{color:#fff}.landing-grade-row strong{font-size:clamp(20px,3vw,34px)}.landing-grade-row em{font-style:normal;font-size:22px}
.landing-final{padding:105px 0;background:#e72630;color:#fff;position:relative;overflow:hidden}.landing-final:after{content:"VNT";position:absolute;inset-inline-end:-30px;bottom:-90px;font-size:260px;line-height:1;font-weight:800;color:rgba(0,0,0,.08);letter-spacing:-.1em}.landing-final-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;position:relative;z-index:1}.landing-final .landing-eyebrow{color:#181314}.landing-final h2{font-size:clamp(48px,7vw,91px);line-height:1.04;letter-spacing:-.055em;margin:14px 0 0}.landing-final p{color:rgba(255,255,255,.8);font-size:15px}.landing-cta-light{background:#fff;color:#151112;border-color:#fff;margin-top:16px}.landing-cta-light:hover{background:#151112;color:#fff;border-color:#151112;transform:translateY(-3px)}
@keyframes landingLogoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.015)}}@keyframes landingFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes landingScroll{0%{transform:scaleY(.2);transform-origin:top;opacity:.2}55%{transform:scaleY(1);transform-origin:top;opacity:1}100%{transform:translateY(8px);opacity:0}}@keyframes landingMarquee{to{transform:translateX(-50%)}}
html[dir="rtl"] .landing-marquee-track{animation-direction:reverse}
@media(max-width:1050px){.landing-hero{min-height:auto}.landing-hero-grid,.landing-story-grid,.landing-final-inner{grid-template-columns:1fr}.landing-stage{min-height:510px;max-width:760px;width:100%;margin:auto}.landing-story-copy{order:-1}.landing-feature-grid{grid-template-columns:1fr 1fr}.landing-feature-wide{grid-column:1/-1;grid-row:auto;min-height:430px}.landing-final-inner{gap:25px}.landing-editorial-head{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.landing-header .nav{min-height:78px}.landing-header .brand-logo{width:105px;height:58px}.landing-header .actions>.btn{display:none}.landing-hero{padding:112px 0 75px}.landing-hero-grid{gap:45px}.landing-title{font-size:clamp(49px,15vw,72px)}.landing-title-outline{-webkit-text-stroke-width:1px}.landing-lead{font-size:14px}.landing-actions{display:grid}.landing-cta{width:100%}.landing-proof{justify-content:space-between}.landing-proof>div{min-width:0}.landing-proof>div+div{padding-inline-start:12px;margin-inline-start:12px}.landing-proof strong{font-size:17px}.landing-stage{min-height:390px;transform:none}.landing-float{min-width:190px;padding:10px}.landing-float-top{inset-inline-start:4%;top:13%}.landing-float-bottom{inset-inline-end:4%;bottom:10%}.landing-stage-logo{width:78%;inset-inline-start:11%}.landing-scroll-cue{display:none}.landing-story,.landing-editorial,.landing-grades,.landing-final{padding:80px 0}.landing-window-body{grid-template-columns:72px 1fr;min-height:300px}.landing-window-content{padding:25px 16px}.landing-window-content h3{font-size:20px}.landing-visual-tag{inset-inline-end:10px}.landing-story-copy h2{font-size:40px}.landing-editorial-head h2{font-size:45px}.landing-feature-grid{grid-template-columns:1fr}.landing-feature-wide{grid-column:auto;min-height:360px}.landing-feature{min-height:300px}.landing-final h2{font-size:50px}.landing-grade-row a{grid-template-columns:45px 1fr auto}}
@media(max-width:430px){.landing-kicker{font-size:9px}.landing-title{font-size:45px}.landing-proof span{font-size:8px}.landing-stage{min-height:330px}.landing-float{min-width:165px}.landing-float strong{font-size:11px}.landing-stage-caption{display:none}.landing-window-body aside span{font-size:7px}.landing-story-copy h2{font-size:34px}.landing-editorial-head h2{font-size:39px}.landing-final h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){.landing-stage-logo,.landing-float,.landing-marquee-track,.landing-scroll-cue span{animation:none!important}.landing-cta,.landing-grade-row a{transition:none}}

/* =========================================================
   KRAI-inspired editorial palette — independent of logo colors
   Warm sunset / dusty mauve / antique gold / parchment / charcoal
   ========================================================= */
:root{
  --p:#d58b68;
  --pd:#b96f52;
  --ps:#f3e1d7;
  --accent:#c8b077;
  --ink:#1b1517;
  --text:#403438;
  --muted:#79696d;
  --bg:#f1e5dc;
  --surface:#fff9f4;
  --surface-2:#f8eee7;
  --line:#dac7bc;
  --danger:#b75a65;
  --success:#4f806b;
  --warning:#ad7848;
  --shadow:0 18px 48px rgba(68,43,46,.13);
  --shadow-sm:0 8px 24px rgba(68,43,46,.09);
}
html[data-theme="dark"]{
  --p:#e5a176;
  --pd:#cd825d;
  --ps:rgba(229,161,118,.15);
  --accent:#d2bd86;
  --ink:#fff7f0;
  --text:#eaded7;
  --muted:#bbaaa6;
  --bg:#171113;
  --surface:#21191c;
  --surface-2:#2a2023;
  --line:#47363b;
  --danger:#e17b86;
  --success:#79b091;
  --warning:#d3a15d;
  --shadow:0 20px 58px rgba(0,0,0,.38);
  --shadow-sm:0 10px 30px rgba(0,0,0,.28);
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:rgba(213,139,104,.30)}
.topbar,.btn-dark,.mock-side,.dark-section,.toast,.content-order{background:#1b1517}
.btn-p{box-shadow:0 10px 25px rgba(213,139,104,.25)}
.progress span{background:linear-gradient(90deg,var(--p),var(--accent))}
.price{background:linear-gradient(145deg,#1b1517,#382a2e)}
.price .btn{color:#1b1517}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus{box-shadow:0 0 0 3px rgba(213,139,104,.14)}
.video,.video video{background:#0f0b0d}
.bar{background:linear-gradient(180deg,var(--accent),var(--p))}
.modal-backdrop{background:rgba(21,14,16,.80)}
.course-grade-badge{background:rgba(28,20,23,.86)}
.account-avatar{box-shadow:0 10px 24px rgba(213,139,104,.24)}
html[data-theme="dark"] .sidebar{background:#181214}
html[data-theme="dark"] .brand-logo.logo-dark{filter:drop-shadow(0 6px 18px rgba(229,161,118,.18))}

/* Public landing: match the supplied cinematic reference palette */
.landing-header{background:linear-gradient(180deg,rgba(28,19,22,.82),rgba(28,19,22,.08));border-bottom-color:rgba(244,225,210,.16)}
.landing-header .icon-btn,.landing-header .btn-light{background:rgba(37,25,29,.38);border-color:rgba(244,225,210,.24)}
.landing-header .icon-btn:hover,.landing-header .btn-light:hover{border-color:#d7bd86;background:rgba(213,139,104,.16)}
.landing-home{background:#171113}
.landing-hero{background:
  radial-gradient(circle at 80% 20%,rgba(231,160,104,.38),transparent 31%),
  radial-gradient(circle at 18% 83%,rgba(111,79,85,.42),transparent 38%),
  linear-gradient(118deg,#171113 0%,#2a2023 48%,#5e474b 100%)}
.landing-hero:before{background:linear-gradient(90deg,rgba(18,12,14,.72) 0%,rgba(24,16,18,.18) 47%,rgba(33,22,25,.45) 100%)}
.landing-glow-a{border-color:rgba(232,164,113,.32);box-shadow:0 0 150px rgba(229,161,118,.20)}
.landing-glow-b{background:rgba(117,83,89,.34)}
.landing-kicker,.landing-eyebrow{color:#e9b18b}
.landing-kicker i{background:#d8bd85}
.landing-title-outline{-webkit-text-stroke-color:#e3a078;text-shadow:0 0 40px rgba(229,161,118,.18)}
.landing-cta-primary{background:#c8b077;color:#1b1517;border-color:#c8b077;box-shadow:0 18px 52px rgba(200,176,119,.25)}
.landing-cta-primary:hover{background:#ddc990;color:#171113}
.landing-stage{border-color:rgba(235,216,201,.18);background:linear-gradient(145deg,rgba(243,224,208,.07),rgba(86,61,66,.055));box-shadow:0 45px 120px rgba(20,12,15,.55)}
.landing-stage:before{background:linear-gradient(132deg,transparent 0 49.8%,rgba(235,216,201,.09) 50%,transparent 50.2%),linear-gradient(90deg,transparent 0 68%,rgba(200,176,119,.18) 68% 68.4%,transparent 68.4%)}
.landing-stage-logo{filter:drop-shadow(0 30px 60px rgba(229,161,118,.18))}
.landing-stage-ring-b{border-color:rgba(216,139,104,.40)}
.landing-float{background:rgba(31,21,24,.80);border-color:rgba(235,216,201,.18)}
.landing-float em{color:#d8bd85}
.landing-float-dot{background:#e2a078;box-shadow:0 0 20px #e2a078}
.landing-mini-bars i{background:linear-gradient(#dbc48e,#b96f52)}
.landing-scroll-cue span{background:linear-gradient(#d8bd85,transparent)}
.landing-marquee{background:#705257;color:#fff7f0;border-block-color:rgba(255,247,240,.16)}
.landing-marquee i{color:#d8bd85}
.landing-story{background:#f0e2d7;color:#1b1517}
.landing-story:before{background:linear-gradient(135deg,rgba(111,79,85,.12),transparent 68%)}
.landing-window{background:#1b1517;box-shadow:0 38px 80px rgba(74,48,52,.23)}
.landing-window-bar{background:#251c1f}
.landing-window-bar>span{background:#d8bd85}
.landing-window-body aside{background:#151012}
.landing-window-body aside b{color:#e4a078}
.landing-window-body aside .active{background:#705257}
.landing-window-stats div,.landing-window-course{background:#282023;border-color:#46373b}
.landing-window-course i{background:#44363a}
.landing-window-course u{background:linear-gradient(90deg,#d58b68,#c8b077)}
.landing-visual-tag{background:#705257;box-shadow:0 24px 50px rgba(81,54,59,.28)}
.landing-story-copy .landing-eyebrow,.landing-story-points b{color:#a56750}
.landing-story-copy h2{color:#1b1517}
.landing-story-copy>p{color:#6f5f62}
.landing-story-points small{color:#79696d}
.landing-editorial{background:#171113}
.landing-feature{background:#21191c}
.landing-feature-wide{background:radial-gradient(circle at 50% 20%,rgba(229,161,118,.26),transparent 39%),#21191c}
.landing-feature-icon{color:#d8bd85}
.landing-feature-line{background:linear-gradient(90deg,#d58b68,#c8b077)}
.landing-feature p{color:#b5a4a0}
.landing-grades{background:#f3e8df;color:#1b1517}
.landing-grades-head .landing-eyebrow,.landing-grade-row span{color:#a56750}
.landing-grades p{color:#78686b}
.landing-grade-row{border-top-color:rgba(65,48,52,.18)}
.landing-grade-row a{border-bottom-color:rgba(65,48,52,.18)}
.landing-grade-row a:hover{background:#705257;color:#fff7f0}
.landing-final{background:linear-gradient(120deg,#705257 0%,#8b6562 48%,#d58b68 100%)}
.landing-final .landing-eyebrow{color:#f0dfc1}
.landing-final:after{color:rgba(27,21,23,.10)}
.landing-cta-light{background:#f5e7d5;color:#1b1517;border-color:#f5e7d5}
.landing-cta-light:hover{background:#1b1517;color:#fff7f0;border-color:#1b1517}

/* =========================================================
   KRAI 02 — alpine indigo palette from the supplied reference
   Deep navy / electric violet / alpine orange / coral / snow white
   Independent from the logo artwork.
   ========================================================= */
:root{
  --p:#ef5a4f;
  --pd:#cf3f49;
  --ps:#eeeaff;
  --accent:#5147d9;
  --ink:#11133f;
  --text:#2b2e68;
  --muted:#7479a5;
  --bg:#f3f2fc;
  --surface:#ffffff;
  --surface-2:#ebeafd;
  --line:#d8d7ee;
  --danger:#d83f58;
  --success:#2d9278;
  --warning:#d97735;
  --shadow:0 20px 52px rgba(22,21,79,.13);
  --shadow-sm:0 9px 26px rgba(22,21,79,.08);
}
html[data-theme="dark"]{
  --p:#ff8048;
  --pd:#ef4d50;
  --ps:rgba(255,128,72,.16);
  --accent:#5a4be7;
  --ink:#faf9ff;
  --text:#e8e8fb;
  --muted:#a7a9cf;
  --bg:#090b3f;
  --surface:#151650;
  --surface-2:#202068;
  --line:#3c3b82;
  --danger:#ff6976;
  --success:#55cba3;
  --warning:#ffba5c;
  --shadow:0 22px 62px rgba(0,0,30,.46);
  --shadow-sm:0 10px 32px rgba(0,0,30,.30);
}
body{
  background:
    radial-gradient(circle at 92% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 30%),
    var(--bg);
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:rgba(81,71,217,.32)}
.topbar{background:#0b0c44;border-bottom-color:#ff8048}
.header{background:color-mix(in srgb,var(--surface) 92%,transparent)}
.navlinks a:hover,.icon-btn:hover,.btn-light:hover{color:var(--accent)}
.navlinks a:after{background:linear-gradient(90deg,var(--accent),var(--p))}
.icon-btn:hover,.btn-light:hover{border-color:var(--accent)}
.btn-p{background:linear-gradient(105deg,var(--pd),var(--p));box-shadow:0 12px 30px rgba(239,90,79,.24)}
.btn-p:hover{background:linear-gradient(105deg,#bf3448,#ff7e48)}
.btn-dark{background:#10124b;border-color:#10124b}
.btn-light{background:var(--surface);border-color:var(--line)}
.badge{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.hero{background:linear-gradient(135deg,var(--surface) 0%,color-mix(in srgb,var(--accent) 7%,var(--bg)) 62%)}
.hero:before{background:linear-gradient(var(--p),var(--accent));opacity:.09}
.hero-title-line.hero-title-accent{color:var(--accent)}
.mock{border-top-color:var(--p)}
.mock-side,.content-order{background:#0b0c44}
.mock-side div:first-child{background:linear-gradient(90deg,var(--accent),var(--p))}
.progress span,.bar,.landing-mini-bars i{background:linear-gradient(90deg,var(--accent),var(--p),#ff9a43)}
.card:before{background:linear-gradient(180deg,var(--accent),var(--p))}
.icon{background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent)}
.dark-section{background:#0b0c44;border-block-color:#ff8048}
.dark-section .badge{background:rgba(84,70,225,.25);color:#fff}
.grade{border-bottom-color:#ff8048;background:rgba(83,72,215,.12)}
.subscription{border-inline-start-color:var(--accent)}
.price{background:linear-gradient(145deg,#0b0c44,#29206f);border-top-color:#ff8048}
.check li:before{background:linear-gradient(135deg,var(--accent),var(--p))}
.page-hero{background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent) 8%,var(--bg)));border-top-color:var(--accent)}
.form-wrap,.modal,.exam-question-editor{border-top-color:var(--accent)}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(81,71,217,.13)}
.course-media{border-bottom-color:#ff8048;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 18%,var(--surface)),var(--surface-2))}
.course-grade-badge{background:rgba(10,11,62,.87);border-inline-start-color:#ff8048}
.course:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:0 22px 56px rgba(42,35,130,.16)}
.lesson-num{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}
.tab.active{background:linear-gradient(100deg,var(--accent),var(--p));border-color:transparent}
.info{background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.video{border-top-color:#ff8048;background:#030421}
.video video{background:#030421}
.modal-backdrop{background:rgba(4,5,42,.82)}
.toast{background:#0b0c44;border-inline-start-color:#ff8048}
.spinner{border-top-color:#ff8048}
.subject-choice:hover,.subject-choice.active,.exam-answer:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.subject-choice.active{box-shadow:inset 4px 0 0 var(--accent)}
html[dir="rtl"] .subject-choice.active{box-shadow:inset -4px 0 0 var(--accent)}
.checkbox-row input,.exam-answer input,.exam-option>input[type="radio"]{accent-color:var(--accent)}
.manual-progress,.video-upload-progress,.exam-submit-bar,.exam-admin-card{border-inline-start-color:var(--accent)}
.page-hero-thumbnail,.course-media,.exam-running-header{border-color:var(--accent)}
.exam-running-header{border-bottom-color:#ff8048}
.exam-clock{background:#0b0c44;color:#fff}
.result-ring.passed{border-color:var(--success)}
.result-ring.failed{border-color:var(--danger)}

/* Sidebar follows both appearance modes */
.sidebar{background:#f8f7ff;color:#24265f;border-inline-end-color:var(--accent);box-shadow:8px 0 34px rgba(29,27,96,.11)}
.sidebar .brand-logo{filter:drop-shadow(0 8px 18px rgba(50,43,145,.12))}
.sidebar .side-user{background:#eeecff;border-color:#d8d5f2}
.sidebar nav a{color:#2b2e68}
.sidebar nav a:hover{background:#e7e4ff;color:#3327b9}
.sidebar nav a.active{background:linear-gradient(100deg,#5147d9,#6a59eb);color:#fff;border-inline-end-color:#ff8048}
.sidebar .icon-btn{background:#eeecff;border-color:#d7d5ef;color:#24265f}
html[data-theme="dark"] .sidebar{background:#080a36;color:#f8f7ff;border-inline-end-color:#ff8048;box-shadow:none}
html[data-theme="dark"] .sidebar .side-user{background:#151650;border-color:#39387f}
html[data-theme="dark"] .sidebar nav a{color:#dfe0f7}
html[data-theme="dark"] .sidebar nav a:hover{background:#202068;color:#fff}
html[data-theme="dark"] .sidebar nav a.active{background:linear-gradient(100deg,#5147d9,#ef5a4f);color:#fff;border-inline-end-color:#ff9a43}
html[data-theme="dark"] .sidebar .icon-btn{background:#191958;border-color:#3a3981;color:#fff}

/* Public landing — visual language of the second KRAI reference */
.landing-header{background:linear-gradient(180deg,rgba(7,8,53,.90),rgba(7,8,53,.20));border-bottom-color:rgba(210,210,255,.17)}
.landing-header .icon-btn,.landing-header .btn-light{background:rgba(24,23,96,.38);border-color:rgba(207,207,255,.24)}
.landing-header .icon-btn:hover,.landing-header .btn-light:hover{border-color:#ff9a43;background:rgba(82,70,217,.27)}
.landing-home{background:#090b3f}
.landing-hero{
  background:
    radial-gradient(ellipse at 67% 35%,rgba(255,150,60,.80) 0%,rgba(239,80,73,.42) 18%,transparent 37%),
    radial-gradient(ellipse at 12% 10%,rgba(87,76,218,.58),transparent 36%),
    radial-gradient(ellipse at 28% 82%,rgba(51,45,154,.56),transparent 39%),
    linear-gradient(125deg,#090b3f 0%,#171858 43%,#313087 72%,#171858 100%);
}
.landing-hero:before{background:linear-gradient(90deg,rgba(4,5,40,.80) 0%,rgba(8,9,56,.20) 48%,rgba(17,16,80,.38) 100%)}
.landing-hero:after{-webkit-text-stroke-color:rgba(255,255,255,.055)}
.landing-noise{opacity:.075}
.landing-glow-a{border-color:rgba(255,145,64,.46);box-shadow:0 0 170px rgba(255,129,66,.27)}
.landing-glow-b{background:rgba(81,71,217,.45)}
.landing-kicker,.landing-eyebrow{color:#ff9b54}
.landing-kicker i{background:linear-gradient(90deg,#ff9a43,#ef4d50)}
.landing-title-outline{-webkit-text-stroke-color:#ff874b;text-shadow:0 0 48px rgba(255,128,72,.26)}
.landing-lead{color:rgba(235,235,255,.74)}
.landing-cta-primary{background:linear-gradient(100deg,#ef4d50,#ff8a47);color:#fff;border-color:transparent;box-shadow:0 20px 58px rgba(239,77,80,.30)}
.landing-cta-primary:hover{background:linear-gradient(100deg,#d93d50,#ff9d45)}
.landing-cta-ghost{background:rgba(84,72,221,.13);border-color:rgba(219,218,255,.25)}
.landing-stage{border-color:rgba(210,211,255,.20);background:linear-gradient(145deg,rgba(91,78,230,.15),rgba(12,13,67,.10));box-shadow:0 48px 130px rgba(1,2,34,.62)}
.landing-stage:before{background:linear-gradient(132deg,transparent 0 49.8%,rgba(214,213,255,.10) 50%,transparent 50.2%),linear-gradient(90deg,transparent 0 68%,rgba(255,139,69,.25) 68% 68.4%,transparent 68.4%)}
.landing-stage-grid{background-image:linear-gradient(rgba(199,199,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(199,199,255,.055) 1px,transparent 1px)}
.landing-stage-logo{filter:drop-shadow(0 32px 68px rgba(255,128,72,.25))}
.landing-stage-ring-b{border-color:rgba(255,133,69,.55)}
.landing-float{background:rgba(12,13,67,.82);border-color:rgba(211,211,255,.20)}
.landing-float em{color:#ff9a43}
.landing-float-dot{background:#ff8048;box-shadow:0 0 22px #ff8048}
.landing-scroll-cue span{background:linear-gradient(#ff9a43,transparent)}
.landing-marquee{background:linear-gradient(90deg,#4c3ed0,#ef4d50,#ff8d45);color:#fff;border-block-color:rgba(255,255,255,.17)}
.landing-marquee i{color:#0b0c44}
.landing-story{background:#eeecff;color:#11133f}
.landing-story:before{background:linear-gradient(135deg,rgba(81,71,217,.14),transparent 68%)}
.landing-window{background:#0b0c44;box-shadow:0 40px 86px rgba(26,22,112,.26)}
.landing-window-bar{background:#151650}
.landing-window-bar>span{background:#ff8048}
.landing-window-body aside{background:#080a36}
.landing-window-body aside b{color:#ff9a43}
.landing-window-body aside .active{background:#5147d9}
.landing-window-stats div,.landing-window-course{background:#1b1b61;border-color:#383782}
.landing-window-course i{background:#34337a}
.landing-window-course u{background:linear-gradient(90deg,#5147d9,#ef5a4f,#ff9a43)}
.landing-visual-tag{background:linear-gradient(120deg,#5147d9,#ef5a4f);box-shadow:0 26px 55px rgba(50,41,177,.32)}
.landing-story-copy .landing-eyebrow,.landing-story-points b{color:#5147d9}
.landing-story-copy h2{color:#11133f}
.landing-story-copy>p{color:#5f6292}
.landing-story-points small{color:#7477a2}
.landing-editorial{background:#090b3f}
.landing-feature-grid{background:rgba(150,148,236,.20);border-color:rgba(155,153,237,.20)}
.landing-feature{background:#151650}
.landing-feature-wide{background:radial-gradient(circle at 50% 20%,rgba(255,132,70,.28),transparent 39%),#151650}
.landing-feature-icon{color:#ff9a43;border-color:rgba(205,204,255,.20)}
.landing-feature-line{background:linear-gradient(90deg,#5147d9,#ef5a4f,#ff9a43)}
.landing-feature p{color:#a8aad1}
.landing-grades{background:#f0efff;color:#11133f}
.landing-grades-head .landing-eyebrow,.landing-grade-row span{color:#5147d9}
.landing-grades p{color:#686c99}
.landing-grade-row{border-top-color:rgba(36,35,103,.17)}
.landing-grade-row a{border-bottom-color:rgba(36,35,103,.17)}
.landing-grade-row a:hover{background:linear-gradient(90deg,#5147d9,#ef5a4f);color:#fff}
.landing-final{background:linear-gradient(115deg,#3f37bd 0%,#5b4be7 42%,#ef5a4f 74%,#ff9148 100%)}
.landing-final .landing-eyebrow{color:#ffe0bf}
.landing-final:after{color:rgba(8,8,55,.13)}
.landing-cta-light{background:#fff;color:#11133f;border-color:#fff}
.landing-cta-light:hover{background:#0b0c44;color:#fff;border-color:#0b0c44}

/* =========================================================
   KRAI-inspired complete landing system (layout + composition)
   Original VNT implementation based on the supplied motion reference.
   ========================================================= */
body:has(.krai-page){background:#090a3d}
body:has(.krai-page) .landing-header{
  position:absolute;top:0;left:0;right:0;z-index:90;background:transparent;border:0;
  color:#fff;backdrop-filter:none;padding-top:10px
}
body:has(.krai-page) .landing-header .container{width:min(1440px,calc(100% - 54px))}
body:has(.krai-page) .landing-header .nav{min-height:78px;display:grid;grid-template-columns:180px 1fr auto;gap:30px}
body:has(.krai-page) .landing-header .brand-logo{width:95px;height:58px;object-fit:contain;filter:brightness(0) invert(1);opacity:.94}
body:has(.krai-page) .landing-header .navlinks{justify-content:center;gap:44px;color:rgba(255,255,255,.74);font-size:10px;font-weight:400;letter-spacing:.04em}
body:has(.krai-page) .landing-header .navlinks a{padding:10px 0}
body:has(.krai-page) .landing-header .navlinks a:after{height:1px;background:#ff8954}
body:has(.krai-page) .landing-header .actions{gap:8px}
body:has(.krai-page) .landing-header .icon-btn,
body:has(.krai-page) .landing-header .btn-light,
body:has(.krai-page) .landing-header .btn-p{min-height:36px;height:36px;padding:6px 12px;background:rgba(9,10,61,.22);border:1px solid rgba(255,255,255,.2);color:#fff;box-shadow:none;font-size:10px;backdrop-filter:blur(10px)}
body:has(.krai-page) .landing-header .icon-btn{width:38px;padding:0}
body:has(.krai-page) .landing-header .btn-p:hover,
body:has(.krai-page) .landing-header .btn-light:hover,
body:has(.krai-page) .landing-header .icon-btn:hover{background:rgba(255,139,82,.18);border-color:#ff9b5f;color:#fff;transform:none}
body:has(.krai-page)>.footer{background:#080934;color:#a8abd5;border-top:1px solid rgba(255,255,255,.08)}
body:has(.krai-page)>.footer .footer-row{font-size:10px;letter-spacing:.03em}

.krai-page{--k-navy:#090a3d;--k-navy-2:#121456;--k-blue:#292b78;--k-violet:#5a5faf;--k-orange:#ff9a4b;--k-coral:#ef5554;--k-cream:#f7f1e7;--k-lav:#c8c9ef;overflow:hidden;background:var(--k-navy);color:#fff}
.krai-page *{box-sizing:border-box}
.krai-hero,.krai-paths,.krai-world,.krai-final{position:relative}
.krai-hero{min-height:100vh;height:max(760px,100vh);isolation:isolate;display:flex;align-items:flex-end;padding:120px 0 86px;background:#26296f;overflow:hidden}
.krai-scene{position:absolute;inset:0;background-image:url('/assets/vet-adventure-scene.svg');background-size:cover;background-position:center 43%;z-index:-3;transform:scale(1.01);animation:kraiSceneDrift 16s ease-in-out infinite alternate}
.krai-veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(9,10,61,.86) 0%,rgba(9,10,61,.56) 29%,rgba(9,10,61,.10) 58%,rgba(9,10,61,.22) 100%),linear-gradient(0deg,rgba(8,9,52,.64),transparent 37%,rgba(8,9,52,.22));mix-blend-mode:multiply}
.krai-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,black,transparent 72%)}
.krai-hero-inner{position:relative;z-index:2;width:min(1440px,calc(100% - 54px));display:grid;grid-template-columns:minmax(0,620px) 1fr;align-items:end;gap:70px}
.krai-hero-copy{padding-inline-start:30px;max-width:620px}
.krai-overline{display:block;color:#fff;font-size:9px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;font-weight:500;margin-bottom:22px;opacity:.9}
.krai-wordmark{font-size:clamp(76px,9vw,150px);line-height:.73;letter-spacing:-.075em;margin:0;color:#fff;font-weight:800;text-transform:uppercase;text-shadow:0 20px 55px rgba(10,10,52,.22)}
.krai-wordmark span{display:inline-block;margin-inline-end:.08em}
.krai-wordmark em{font-style:normal;color:var(--k-orange);font-size:.32em;letter-spacing:.03em;vertical-align:.18em;margin-inline-start:.2em}
.krai-hero-copy>p{max-width:470px;margin:25px 0 0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.85}
.krai-hero-actions{display:flex;align-items:center;gap:27px;margin-top:24px}
.krai-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:42px;padding:9px 18px;border:1px solid transparent;border-radius:0;font-size:10px;font-weight:700;letter-spacing:.02em;transition:.25s}
.krai-button b{font-weight:400;font-size:10px}
.krai-button.light{background:#fff;color:#181947;border-color:#fff}.krai-button.light:hover{background:var(--k-orange);border-color:var(--k-orange);color:#10113d;transform:translateY(-2px)}
.krai-button.coral{background:linear-gradient(90deg,var(--k-coral),#ff764e);color:#fff}.krai-button.coral:hover{filter:brightness(1.08);transform:translateY(-2px)}
.krai-text-link{display:inline-flex;align-items:center;gap:14px;color:#fff;font-size:10px;border-bottom:1px solid rgba(255,255,255,.45);padding:7px 0}.krai-text-link:hover{color:var(--k-orange);border-color:var(--k-orange)}
.krai-hero-meta{justify-self:end;align-self:end;text-align:end;margin-bottom:2px;display:grid;gap:8px;max-width:250px}
.krai-hero-meta span{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.55)}.krai-hero-meta strong{font-size:11px;font-weight:500;color:rgba(255,255,255,.88)}
.krai-rail{position:absolute;z-index:5;inset-inline-start:23px;top:105px;bottom:88px;width:22px;display:flex;flex-direction:column;align-items:center;color:rgba(255,255,255,.72);gap:13px}
.krai-rail>span{font-size:8px;letter-spacing:.18em;writing-mode:vertical-rl;transform:rotate(180deg)}
.krai-rail>i{width:1px;flex:1;background:linear-gradient(to bottom,rgba(255,255,255,.55),rgba(255,255,255,.05))}
.krai-rail a,.krai-rail b{font-size:8px;font-weight:400;color:rgba(255,255,255,.35)}.krai-rail a.active{color:#fff}
.krai-section-next{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);width:min(1360px,calc(100% - 130px));display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;z-index:5;font-size:8px;letter-spacing:.08em;color:rgba(255,255,255,.66)}
.krai-section-next i{height:1px;background:rgba(255,255,255,.35)}.krai-section-next a:hover{color:var(--k-orange)}

.krai-paths{min-height:860px;padding:105px 0 110px;background:radial-gradient(circle at 80% 22%,rgba(71,75,164,.24),transparent 34%),linear-gradient(145deg,#0a0b43,#101250 58%,#08093a);border-top:1px solid rgba(255,255,255,.08)}
.krai-paths:before,.krai-world:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.krai-paths>.container,.krai-world>.container{position:relative;z-index:2;width:min(1240px,calc(100% - 86px))}
.krai-section-head{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(360px,1.28fr);gap:80px;align-items:end;margin-bottom:58px;padding-inline-start:8px}
.krai-section-head h2{font-size:clamp(45px,5vw,72px);line-height:.88;letter-spacing:-.055em;margin:0;color:#fff;font-weight:700}.krai-section-head p{margin:0 0 2px;color:rgba(219,220,248,.62);font-size:11px;line-height:1.9;max-width:590px}.krai-section-head .krai-overline{color:var(--k-lav);opacity:.75;margin-bottom:16px}
.krai-card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:start}
.krai-adventure-card{min-height:410px;padding:22px 22px 25px;background:linear-gradient(180deg,#574bd3 0%,#4f3fc1 58%,#3f34a7 100%);box-shadow:0 25px 60px rgba(0,0,25,.26);position:relative;border:1px solid rgba(255,255,255,.08);transition:.3s;overflow:hidden}
.krai-adventure-card:nth-child(2){margin-top:25px;background:linear-gradient(180deg,#6958dc,#5547c5)}.krai-adventure-card:nth-child(3){background:linear-gradient(180deg,#544ac8,#4038aa)}
.krai-adventure-card:hover{transform:translateY(-10px);box-shadow:0 34px 80px rgba(0,0,25,.38)}
.krai-card-index{position:absolute;top:18px;inset-inline-start:18px;color:rgba(255,255,255,.72);font-size:11px;letter-spacing:.12em}
.krai-orbit{height:210px;display:grid;place-items:center;position:relative}.krai-orbit:before,.krai-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%}.krai-orbit:before{width:172px;height:172px}.krai-orbit:after{width:130px;height:130px;border-color:rgba(255,168,78,.38);transform:rotateX(65deg)}
.krai-orbit-core{width:115px;height:115px;border-radius:50%;display:grid;place-items:center;font-size:55px;background:radial-gradient(circle at 35% 25%,#ffcb59,#ff8449 53%,#e24e58 100%);box-shadow:0 18px 35px rgba(17,14,84,.32);transform:rotate(-5deg);animation:kraiFloat 5s ease-in-out infinite}
.krai-adventure-card:nth-child(2) .krai-orbit-core{animation-delay:-1.7s}.krai-adventure-card:nth-child(3) .krai-orbit-core{animation-delay:-3.1s}
.krai-adventure-card h3{font-size:20px;margin:2px 0 9px;color:#fff}.krai-adventure-card p{font-size:9px;line-height:1.75;color:rgba(255,255,255,.65);min-height:50px;margin:0 0 20px}.krai-adventure-card>a{display:inline-flex;background:linear-gradient(90deg,#ef5255,#ff7e4b);color:#fff;padding:8px 15px;font-size:8px;letter-spacing:.04em;min-width:110px;justify-content:center}.krai-adventure-card>a:hover{filter:brightness(1.12)}
.krai-progress-line{margin-top:45px;display:grid;grid-template-columns:30px 1fr auto 30px;gap:13px;align-items:center}.krai-progress-line button{width:30px;height:30px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;cursor:pointer}.krai-progress-line i{height:1px;background:rgba(255,255,255,.18);position:relative}.krai-progress-line u{position:absolute;inset-inline-start:0;top:0;height:1px;width:36%;background:var(--k-orange);text-decoration:none}.krai-progress-line span{font-size:8px;color:rgba(255,255,255,.5);letter-spacing:.12em}

.krai-world{padding:105px 0 120px;min-height:820px;background:radial-gradient(circle at 12% 28%,rgba(72,76,166,.2),transparent 36%),#0a0b43;border-top:1px solid rgba(255,255,255,.08)}
.krai-section-head.compact{margin-bottom:42px}.krai-gallery-card{width:min(900px,92%);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;background:#4f48bc;box-shadow:0 36px 90px rgba(0,0,20,.38);min-height:420px;border:1px solid rgba(255,255,255,.09)}
.krai-gallery-art{position:relative;overflow:hidden;background:linear-gradient(155deg,#f3a455,#ec5b58 55%,#5540a5);min-height:420px}
.krai-gallery-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 25%,#ffd378 0 4%,transparent 28%),linear-gradient(15deg,rgba(36,35,111,.12),transparent 60%)}
.krai-gallery-mountain{position:absolute;left:-12%;right:-8%;bottom:0;height:76%;background:linear-gradient(150deg,#ffb450,#ed5b56 48%,#3e348e);clip-path:polygon(0 86%,16% 45%,29% 65%,49% 9%,68% 62%,82% 34%,100% 83%,100% 100%,0 100%)}
.krai-gallery-mountain:after{content:"";position:absolute;left:42%;top:8%;width:24%;height:24%;background:#ffe1a5;clip-path:polygon(30% 0,100% 100%,0 76%)}
.krai-student-silhouette{position:absolute;z-index:2;right:13%;bottom:7%;font-size:150px;filter:grayscale(1) brightness(.25) sepia(.4) hue-rotate(190deg);transform:rotate(-4deg)}
.krai-gallery-art>span{position:absolute;z-index:3;left:18px;bottom:15px;color:rgba(255,255,255,.7);font-size:7px;letter-spacing:.14em}
.krai-gallery-copy{padding:38px 36px;color:#fff;position:relative;background:linear-gradient(145deg,#554bc5,#443caf)}.krai-gallery-year{position:absolute;top:24px;inset-inline-end:25px;font-size:9px;color:rgba(255,255,255,.5)}.krai-gallery-copy small{display:block;color:#ffb362;font-size:8px;letter-spacing:.08em;margin-bottom:10px}.krai-gallery-copy h3{font-size:31px;line-height:1.15;margin:0 0 13px}.krai-gallery-copy p{font-size:9px;color:rgba(255,255,255,.66);line-height:1.85}.krai-gallery-copy ul{padding-inline-start:18px;margin:17px 0 24px;color:#fff;font-size:9px;line-height:2}.krai-gallery-copy li::marker{color:#ff9d55}
.krai-final{padding:95px 0;background:linear-gradient(120deg,#4d42c8,#614fcf 45%,#ef5755 76%,#ff984b);text-align:center}.krai-final:before{content:"VNT";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:25vw;line-height:.7;font-weight:800;color:rgba(9,10,61,.08);pointer-events:none}.krai-final>.container{position:relative;z-index:2}.krai-final .krai-overline{margin-bottom:15px}.krai-final h2{font-size:clamp(40px,6vw,82px);line-height:1;margin:0 0 18px}.krai-final p{font-size:12px;color:rgba(255,255,255,.72);margin:0 0 26px}.krai-final>div>div{display:flex;justify-content:center;align-items:center;gap:28px}

html[dir="ltr"] .krai-wordmark{letter-spacing:-.055em}
html[dir="ltr"] .krai-hero-copy{padding-left:30px;padding-right:0}
html[dir="rtl"] .krai-hero-copy{padding-right:30px;padding-left:0}
@keyframes kraiSceneDrift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.045) translate3d(-12px,-6px,0)}}
@keyframes kraiFloat{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-10px) rotate(3deg)}}
@media(max-width:1050px){
  body:has(.krai-page) .landing-header .nav{grid-template-columns:120px 1fr auto}body:has(.krai-page) .landing-header .navlinks{gap:20px}
  .krai-hero-inner{grid-template-columns:1fr}.krai-hero-meta{display:none}.krai-wordmark{font-size:clamp(76px,15vw,125px)}
  .krai-section-head{grid-template-columns:1fr;gap:22px}.krai-card-row{gap:18px}.krai-gallery-card{width:100%}
}
@media(max-width:780px){
  body:has(.krai-page) .landing-header .container{width:min(100% - 24px,1440px)}body:has(.krai-page) .landing-header .nav{display:flex;min-height:70px}body:has(.krai-page) .landing-header .navlinks{display:none}body:has(.krai-page) .landing-header .actions>.btn{display:none}
  .krai-hero{min-height:760px;height:100svh;padding:100px 0 76px;align-items:center}.krai-hero-inner{width:calc(100% - 42px)}.krai-hero-copy{padding-inline:14px}.krai-wordmark{font-size:clamp(66px,21vw,104px)}.krai-wordmark em{display:block;font-size:.25em;margin:15px 0 0}.krai-hero-copy>p{font-size:11px}.krai-section-next{width:calc(100% - 58px)}.krai-rail{display:none}
  .krai-paths,.krai-world{padding:78px 0}.krai-paths>.container,.krai-world>.container{width:calc(100% - 36px)}.krai-section-head h2{font-size:48px}.krai-card-row{grid-template-columns:1fr}.krai-adventure-card,.krai-adventure-card:nth-child(2){margin-top:0;min-height:360px}.krai-orbit{height:170px}.krai-orbit-core{width:100px;height:100px;font-size:47px}.krai-gallery-card{grid-template-columns:1fr}.krai-gallery-art{min-height:330px}.krai-gallery-copy{padding:30px 24px}.krai-final{padding:75px 0}.krai-final>div>div{flex-direction:column;gap:12px}
}
@media(max-width:470px){.krai-hero-actions{display:grid;gap:15px;align-items:start}.krai-button{width:max-content}.krai-section-next span{display:none}.krai-section-next{grid-template-columns:auto 1fr}.krai-wordmark{font-size:63px}.krai-gallery-art{min-height:285px}.krai-student-silhouette{font-size:105px}.krai-gallery-copy h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.krai-scene,.krai-orbit-core{animation:none}}
/* Hero wordmark alignment correction */
.krai-scene{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.krai-wordmark{display:flex;align-items:flex-start;gap:.03em;direction:ltr;white-space:nowrap}
.krai-wordmark>span{display:inline-block;color:var(--k-orange);font-size:.34em;line-height:1;letter-spacing:0;transform:translateY(-.34em);margin:0}
html[dir="rtl"] .krai-hero-inner{direction:ltr}
html[dir="rtl"] .krai-hero-copy{direction:rtl;text-align:right}
html[dir="rtl"] .krai-wordmark{justify-content:flex-start;text-align:left}
html[dir="rtl"] .krai-hero-meta{direction:rtl}
@media(max-width:780px){.krai-wordmark{font-size:clamp(82px,28vw,132px)}.krai-wordmark>span{font-size:.28em}}

/* =========================================================
   Landing refinement 2026-08-05
   Five academic years in one row, safe Arabic typography,
   clear veterinary imagery, and a true light theme.
   ========================================================= */
.krai-section-head h2,
.krai-final h2{
  letter-spacing:-.025em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.krai-section-head h2{font-size:clamp(38px,4.3vw,64px);line-height:1.08;max-width:720px}
.krai-section-head h2>span,.krai-final h2>span{display:block}
html[dir="rtl"] .krai-section-head h2{letter-spacing:-.018em}
.krai-section-head{grid-template-columns:minmax(340px,.9fr) minmax(360px,1.1fr);gap:56px;align-items:center}
.krai-section-head p{font-size:12px;line-height:1.95;max-width:650px}

/* Keep all five years beside each other on desktop. */
.krai-paths>.container{width:min(1540px,calc(100% - 72px))}
.krai-card-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}
.krai-adventure-card,
.krai-adventure-card:nth-child(2),
.krai-adventure-card:nth-child(3){margin-top:0;min-height:410px;padding:20px 18px 22px;display:flex;flex-direction:column}
.krai-adventure-card:nth-child(4){background:linear-gradient(180deg,#5e51d2,#483bb1)}
.krai-adventure-card:nth-child(5){background:linear-gradient(180deg,#6a58dc,#4a3ab0)}
.krai-orbit{height:170px;flex:0 0 170px}
.krai-orbit:before{width:138px;height:138px}.krai-orbit:after{width:105px;height:105px}
.krai-orbit-core{width:92px;height:92px;font-size:45px}
.krai-adventure-card h3{font-size:18px;line-height:1.35;margin:2px 0 10px}
.krai-adventure-card p{font-size:10px;line-height:1.8;min-height:72px;margin:0 0 18px}
.krai-adventure-card>a{margin-top:auto;min-height:38px;font-size:9px;padding:9px 12px}
.krai-progress-line{grid-template-columns:auto 1fr auto auto;margin-top:34px}
.krai-progress-line span{white-space:nowrap}

/* Clear, unmistakable animal imagery in the content showcase. */
.krai-gallery-art{background:radial-gradient(circle at 50% 38%,rgba(255,209,112,.95),rgba(255,136,79,.86) 34%,rgba(83,65,181,.98) 74%);display:grid;place-items:center}
.krai-gallery-art:before{background:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,#000,transparent 72%)}
.krai-animal-showcase{position:relative;width:min(440px,90%);height:300px;z-index:2}
.krai-animal-showcase:before,.krai-animal-showcase:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.3);border-radius:50%;inset:28px 60px;transform:rotate(-8deg)}
.krai-animal-showcase:after{inset:70px 110px;transform:rotate(14deg);border-color:rgba(40,39,111,.22)}
.krai-animal-showcase .animal{position:absolute;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:#fff4dc;border:5px solid rgba(255,255,255,.58);box-shadow:0 18px 45px rgba(17,15,80,.28);font-size:52px;line-height:1;z-index:3}
.krai-animal-showcase .dog{left:7%;top:12%}.krai-animal-showcase .cat{right:7%;top:12%}.krai-animal-showcase .horse{left:21%;bottom:4%}.krai-animal-showcase .cow{right:21%;bottom:4%}
.krai-animal-showcase>i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:#28266e;color:#fff;font-style:normal;font-size:58px;z-index:4;box-shadow:0 24px 60px rgba(9,10,61,.35)}
.krai-gallery-mountain,.krai-student-silhouette{display:none!important}

/* Safer final call-to-action typography. */
.krai-final h2{font-size:clamp(38px,5.2vw,72px);line-height:1.12;max-width:980px;margin:0 auto 22px}
.krai-final p{font-size:13px;line-height:1.9;max-width:720px;margin:0 auto 28px}

/* Actual light mode for the full public landing page. */
html[data-theme="light"] body:has(.krai-page){background:#f6f4ff}
html[data-theme="light"] body:has(.krai-page) .landing-header{background:rgba(248,247,255,.82);border-bottom:1px solid rgba(41,43,120,.12);backdrop-filter:blur(16px);color:#17184f}
html[data-theme="light"] body:has(.krai-page) .landing-header .brand-logo{filter:none;opacity:1}
html[data-theme="light"] body:has(.krai-page) .landing-header .navlinks{color:rgba(24,25,77,.72)}
html[data-theme="light"] body:has(.krai-page) .landing-header .icon-btn,
html[data-theme="light"] body:has(.krai-page) .landing-header .btn-light,
html[data-theme="light"] body:has(.krai-page) .landing-header .btn-p{background:rgba(255,255,255,.78);border-color:rgba(41,43,120,.18);color:#17184f}
html[data-theme="light"] body:has(.krai-page) .landing-header .btn-p{background:#4f46c7;color:#fff;border-color:#4f46c7}
html[data-theme="light"] body:has(.krai-page) .landing-header .icon-btn:hover,
html[data-theme="light"] body:has(.krai-page) .landing-header .btn-light:hover{background:#fff;border-color:#ef6552;color:#ef6552}
html[data-theme="light"] .krai-page{background:#f6f4ff;color:#17184f}
html[data-theme="light"] .krai-hero{background:#dddffa}
html[data-theme="light"] .krai-scene{filter:saturate(.92) brightness(1.12)}
html[data-theme="light"] .krai-veil{background:linear-gradient(90deg,rgba(248,247,255,.96) 0%,rgba(248,247,255,.82) 31%,rgba(248,247,255,.16) 64%,rgba(248,247,255,.06) 100%),linear-gradient(0deg,rgba(248,247,255,.18),transparent 45%);mix-blend-mode:normal}
html[data-theme="light"] .krai-hero:after{background-image:linear-gradient(rgba(35,37,105,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(35,37,105,.045) 1px,transparent 1px)}
html[data-theme="light"] .krai-wordmark,
html[data-theme="light"] .krai-overline,
html[data-theme="light"] .krai-text-link,
html[data-theme="light"] .krai-hero-meta strong{color:#17184f;text-shadow:none}
html[data-theme="light"] .krai-hero-copy>p{color:rgba(23,24,79,.74)}
html[data-theme="light"] .krai-text-link{border-color:rgba(23,24,79,.38)}
html[data-theme="light"] .krai-hero-meta span,
html[data-theme="light"] .krai-section-next{color:rgba(23,24,79,.58)}
html[data-theme="light"] .krai-section-next i{background:rgba(23,24,79,.28)}
html[data-theme="light"] .krai-rail{color:rgba(23,24,79,.62)}
html[data-theme="light"] .krai-rail>i{background:linear-gradient(to bottom,rgba(23,24,79,.5),rgba(23,24,79,.05))}
html[data-theme="light"] .krai-rail a.active{color:#17184f}
html[data-theme="light"] .krai-paths{background:radial-gradient(circle at 85% 16%,rgba(107,96,222,.18),transparent 35%),linear-gradient(145deg,#f8f6ff,#ebe8ff 58%,#f6f3ff);border-top-color:rgba(41,43,120,.1)}
html[data-theme="light"] .krai-world{background:radial-gradient(circle at 14% 28%,rgba(111,104,220,.15),transparent 38%),#f4f1ff;border-top-color:rgba(41,43,120,.1)}
html[data-theme="light"] .krai-section-head h2{color:#17184f}
html[data-theme="light"] .krai-section-head p{color:rgba(23,24,79,.65)}
html[data-theme="light"] .krai-section-head .krai-overline{color:#5a51c9}
html[data-theme="light"] .krai-adventure-card{box-shadow:0 20px 55px rgba(60,53,150,.18)}
html[data-theme="light"] .krai-gallery-card{box-shadow:0 28px 70px rgba(61,54,143,.2)}
html[data-theme="light"] body:has(.krai-page)>.footer{background:#f8f7ff;color:#656798;border-top-color:rgba(41,43,120,.12)}

@media(max-width:1350px){
  .krai-card-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;gap:16px;scrollbar-width:thin}
  .krai-adventure-card{flex:0 0 245px;scroll-snap-align:start}
}
@media(max-width:1050px){
  .krai-section-head{grid-template-columns:1fr;gap:20px;align-items:start}
  .krai-section-head h2{font-size:clamp(38px,7vw,58px);max-width:650px}
  .krai-section-head p{max-width:760px}
}
@media(max-width:780px){
  .krai-section-head h2{font-size:clamp(36px,11vw,50px);line-height:1.12}
  .krai-card-row{display:flex;grid-template-columns:none;overflow-x:auto;margin-inline:-2px;padding-inline:2px 16px}
  .krai-adventure-card{flex-basis:min(82vw,310px);min-height:380px}
  .krai-final h2{font-size:clamp(36px,11vw,54px);line-height:1.14}
  .krai-animal-showcase{height:270px}
  .krai-animal-showcase .animal{width:78px;height:78px;font-size:43px}
  .krai-animal-showcase>i{width:92px;height:92px;font-size:48px}
}
@media(max-width:470px){
  .krai-section-head h2{font-size:38px}
  .krai-section-head p{font-size:11px}
  .krai-animal-showcase{height:235px;width:100%}
  .krai-animal-showcase .animal{width:66px;height:66px;font-size:36px}
  .krai-animal-showcase>i{width:78px;height:78px;font-size:40px}
}

/* Light mode card surfaces stay bright, not merely a dark theme with a pale background. */
html[data-theme="light"] .krai-adventure-card,
html[data-theme="light"] .krai-adventure-card:nth-child(2),
html[data-theme="light"] .krai-adventure-card:nth-child(3),
html[data-theme="light"] .krai-adventure-card:nth-child(4),
html[data-theme="light"] .krai-adventure-card:nth-child(5){
  background:linear-gradient(180deg,#ffffff 0%,#f1efff 100%);
  border-color:rgba(75,67,183,.16);
  box-shadow:0 20px 55px rgba(58,51,145,.14);
}
html[data-theme="light"] .krai-adventure-card h3{color:#17184f}
html[data-theme="light"] .krai-adventure-card p{color:rgba(23,24,79,.64)}
html[data-theme="light"] .krai-card-index{color:#5a51c9}
html[data-theme="light"] .krai-orbit:before{border-color:rgba(77,69,190,.2)}
html[data-theme="light"] .krai-orbit:after{border-color:rgba(239,91,82,.28)}
html[data-theme="light"] .krai-orbit-core{box-shadow:0 16px 35px rgba(67,59,163,.18)}
html[data-theme="light"] .krai-progress-line button{border-color:rgba(23,24,79,.18);color:#17184f}
html[data-theme="light"] .krai-progress-line i{background:rgba(23,24,79,.14)}
html[data-theme="light"] .krai-progress-line span{color:rgba(23,24,79,.48)}
html[data-theme="light"] .krai-gallery-card{background:#fff;border-color:rgba(75,67,183,.14)}
html[data-theme="light"] .krai-gallery-copy{background:linear-gradient(145deg,#ffffff,#eeebff);color:#17184f}
html[data-theme="light"] .krai-gallery-copy h3,
html[data-theme="light"] .krai-gallery-copy ul{color:#17184f}
html[data-theme="light"] .krai-gallery-copy p{color:rgba(23,24,79,.66)}
html[data-theme="light"] .krai-gallery-year{color:rgba(23,24,79,.4)}
html[data-theme="light"] .krai-gallery-copy small{color:#e95752}

/* Platform operations: announcements, richer admin management, and activity history. */
.announcement-grid{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:22px;align-items:start}
.announcement-history{display:grid;gap:12px}
.announcement-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:18px;border:1px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow-sm)}
.announcement-card h3{margin:10px 0 7px;font-size:18px}.announcement-card p{margin:0 0 10px;color:var(--muted);white-space:pre-wrap;line-height:1.8}.announcement-card small{color:var(--muted)}
.management-filters{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:14px;align-items:end;margin-bottom:20px}
.management-filters .field{margin:0}.admin-management-grid{grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr)}
.admin-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-subject-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:18px;align-items:center;margin:0}
.admin-subject-thumbnail{width:150px;height:96px;object-fit:cover;background:var(--surface-2);border:1px solid var(--line)}
.admin-subject-card .thumbnail-fallback{display:grid;place-items:center;font-size:42px}.admin-subject-card h3{margin:0}.admin-subject-card p{margin:8px 0;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.admin-subject-card .lesson-info>strong{display:block;margin-top:10px;color:var(--p)}
.table-wrap code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;direction:ltr;display:inline-block}
[hidden]{display:none!important}
@media(max-width:1100px){.announcement-grid,.admin-management-grid{grid-template-columns:1fr}.admin-subject-grid{grid-template-columns:1fr}.management-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.management-filters{grid-template-columns:1fr}.admin-subject-card{grid-template-columns:92px minmax(0,1fr)}.admin-subject-thumbnail{width:92px;height:76px}.admin-subject-card>button{grid-column:1/-1;width:100%}.announcement-card{grid-template-columns:1fr}.announcement-card>button{width:100%}}

/* =========================================================
   Pricing, receipt retention, editable branding, and Arabic
   heading refinement — 2026-08-05
   ========================================================= */
.logo-wrap{display:inline-grid;place-items:center}
.brand-logo-mask{background:var(--brand-logo-color);-webkit-mask-image:var(--brand-logo-url);mask-image:var(--brand-logo-url);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.loading-screen .logo-wrap{width:180px;height:100px;margin:auto}.loading-screen .brand-logo{width:180px;height:100px}

.price-stack{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price-stack strong{font-size:inherit;color:var(--p)}
.price-stack del{color:var(--muted);font-size:.74em;text-decoration-thickness:2px;text-decoration-color:var(--danger)}
.price-stack em{font-style:normal;background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 28%,var(--line));padding:2px 7px;font-size:10px;font-weight:800}
.course-price-stack{display:grid;gap:2px}.course-price-stack strong{font-size:19px}.course-price-stack del{font-size:12px}
.purchase-price-stack{display:flex;align-items:center;gap:14px}.purchase-price-stack strong{font-size:clamp(34px,5vw,52px)}.purchase-price-stack del{font-size:20px}
.subject-price-badge{gap:6px;flex-wrap:wrap}.subject-price-badge strong{font-size:13px}.subject-price-badge del{font-size:10px}.subject-price-badge em{font-size:8px}
.admin-price-stack{margin-top:9px}.admin-price-stack strong{font-size:18px}

.proof-preview-private{grid-template-columns:auto 1fr;align-items:center;text-align:start;padding:18px;gap:16px;color:var(--text)}
.proof-preview-icon{display:grid;place-items:center;width:62px;height:62px;background:var(--ps);font-size:31px;border:1px solid color-mix(in srgb,var(--p) 24%,var(--line))}
.proof-preview-private strong{display:block;color:var(--ink);margin-bottom:8px}
.proof-access{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.proof-access small{display:block;color:var(--muted);font-size:10px;line-height:1.6;max-width:260px}.proof-access.compact{display:grid;gap:4px}.proof-retention.deleted{display:inline-flex;padding:7px 10px;background:color-mix(in srgb,var(--muted) 10%,var(--surface));color:var(--muted);border:1px solid var(--line);font-size:11px;font-weight:700}

.branding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.branding-card{display:grid;gap:18px}.branding-preview{min-height:220px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface-2);overflow:hidden}.branding-preview .brand-logo{width:min(310px,80%);height:150px}.branding-preview-light .logo-light,.branding-preview-dark .logo-dark{display:block!important}.branding-preview-light .logo-dark,.branding-preview-dark .logo-light{display:none!important}.branding-dark-card .branding-preview{background:#090a3d}.branding-light-card .branding-preview{background:#f4f2ff}.branding-colors-panel{margin-top:18px}.branding-check{align-self:center;padding-top:22px}

.krai-hero-meta{max-width:430px;gap:12px;margin-bottom:12px;padding:18px 20px;border-inline-end:3px solid var(--k-orange);background:linear-gradient(90deg,transparent,rgba(9,10,61,.28))}
.krai-hero-meta>span{font-size:9px!important}
.krai-hero-meta strong{display:grid;gap:2px;font-size:clamp(22px,2.1vw,35px)!important;line-height:1.12;font-weight:750!important;color:#fff!important;white-space:nowrap}
[data-ar-fit]>span{display:block;width:max-content;max-width:100%;will-change:transform}
html[dir="rtl"] .krai-section-head p,html[dir="rtl"] .krai-hero-copy>p,html[dir="rtl"] .krai-gallery-copy p,html[dir="rtl"] .krai-final p{text-align:justify;text-align-last:right;text-justify:inter-word}
html[data-theme="light"] .krai-hero-meta{background:linear-gradient(90deg,transparent,rgba(255,255,255,.62));border-inline-end-color:#ef6552}
html[data-theme="light"] .krai-hero-meta strong{color:#17184f!important}

@media(max-width:900px){.branding-grid{grid-template-columns:1fr}.krai-hero-meta{display:none}}
@media(max-width:600px){.proof-preview-private{grid-template-columns:1fr}.purchase-price-stack{align-items:flex-start;flex-direction:column;gap:2px}}

/* =========================================================
   Vet Nerd Team — clean education platform theme
   Inspired by the clarity and course-first organization of
   modern Egyptian learning platforms, with an original VNT UI.
   ========================================================= */
:root{
  --p:#12b89c;--pd:#0b8f7a;--ps:#e6faf6;--accent:#e4a32f;
  --ink:#102a43;--text:#334e68;--muted:#70869a;--bg:#f4f8fb;
  --surface:#fff;--surface-2:#eef5f7;--line:#d9e5ea;
  --danger:#d64550;--success:#12815f;--warning:#a66a00;
  --shadow:0 22px 60px rgba(13,45,67,.10);--shadow-sm:0 10px 28px rgba(13,45,67,.07);
  --r:12px;--button-r:6px;
}
html[data-theme="dark"]{
  --p:#39d2b4;--pd:#1bb89b;--ps:rgba(57,210,180,.12);--accent:#f0b84b;
  --ink:#f4fbff;--text:#d9e8ef;--muted:#9db4c1;--bg:#061725;
  --surface:#0d2535;--surface-2:#123246;--line:#23475b;
  --danger:#ff737d;--success:#59d8a8;--warning:#ffd06c;
  --shadow:0 24px 65px rgba(0,0,0,.32);--shadow-sm:0 12px 30px rgba(0,0,0,.22);
}
body{background:var(--bg)}
.topbar{background:#061b33;border-bottom:0;color:#d8e8ee;font-size:11px;letter-spacing:.01em}
.header{background:color-mix(in srgb,var(--surface) 96%,transparent);border-bottom:1px solid var(--line);box-shadow:0 5px 22px rgba(14,44,65,.05)}
.nav{min-height:78px}
.brand-logo{width:118px;height:58px}
.navlinks{gap:28px;color:var(--ink)}
.navlinks a:after{background:var(--p);height:3px;border-radius:3px}
.navlinks a:hover{color:var(--pd)}
.btn{border-radius:var(--button-r);min-height:44px;padding:10px 18px}
.btn-p{background:var(--p);color:#fff;box-shadow:0 10px 24px rgba(18,184,156,.2)}
.btn-p:hover{background:var(--pd)}
.btn-light{background:var(--surface);border-color:var(--line);color:var(--ink)}
.btn-light:hover{border-color:var(--p);color:var(--pd)}
.icon-btn{border-radius:var(--button-r)}
.badge{border-radius:5px;background:var(--ps);color:var(--pd);border-color:color-mix(in srgb,var(--p) 28%,var(--line))}
.panel,.card,.stat,.mini,.course,.form-wrap{border-radius:var(--r);border-color:var(--line);box-shadow:var(--shadow-sm)}
.form-wrap{background:var(--surface);border-top:5px solid var(--p);padding:34px}
.form-wrap h1{color:var(--ink)}
.field input,.field select,.field textarea,.search{border-radius:6px;background:var(--surface);border-color:var(--line)}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--p);box-shadow:0 0 0 4px rgba(18,184,156,.11)}
.page-hero{background:linear-gradient(135deg,#e8fbf6,#f7fbfd 58%,#fff7e8);border-bottom:1px solid var(--line)}
html[data-theme="dark"] .page-hero{background:linear-gradient(135deg,#0b2a3a,#081b29 58%,#132b38)}
.page-hero h1{color:var(--ink)}
.course{transition:.24s;overflow:hidden}
.course:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--p) 42%,var(--line))}
.course-media{border-bottom:4px solid var(--p);background:linear-gradient(145deg,var(--ps),var(--surface-2))}
.course-grade-badge{background:#061b33;border-inline-start-color:var(--p);border-radius:5px}
.course-body h3{color:var(--ink)}
.course-price strong{color:var(--pd)}
.progress span{background:linear-gradient(90deg,var(--p),#69dfc7)}

/* Landing header */
body:has(.sakr-page){background:var(--surface)}
body:has(.sakr-page) .landing-header{position:absolute;top:0;left:0;right:0;background:transparent;border:0;box-shadow:none;color:#fff;backdrop-filter:none}
body:has(.sakr-page) .landing-header .nav{min-height:88px}
body:has(.sakr-page) .landing-header .brand-logo{filter:brightness(0) invert(1);width:126px;height:66px}
body:has(.sakr-page) .landing-header .navlinks{color:rgba(255,255,255,.84);font-size:13px}
body:has(.sakr-page) .landing-header .navlinks a:hover{color:#fff}
body:has(.sakr-page) .landing-header .navlinks a:after{background:#57e1c5}
body:has(.sakr-page) .landing-header .icon-btn,
body:has(.sakr-page) .landing-header .btn-light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(12px)}
body:has(.sakr-page) .landing-header .btn-p{background:#20c5a5;border-color:#20c5a5;color:#fff;box-shadow:none}
body:has(.sakr-page)>.footer{background:#061b33;color:#b8ced8;border-top:1px solid rgba(255,255,255,.08)}
body:has(.sakr-page)>.footer .footer-row{font-size:12px}

/* Public home */
.sakr-page{overflow:hidden;background:var(--surface);color:var(--text)}
.sakr-hero{position:relative;min-height:760px;padding:160px 0 88px;background:linear-gradient(120deg,#061b33 0%,#08314d 54%,#0a4a5d 100%);color:#fff;isolation:isolate}
.sakr-pattern{position:absolute;inset:0;opacity:.18;z-index:-2;background-image:radial-gradient(circle at 15% 18%,rgba(57,210,180,.45),transparent 24%),radial-gradient(circle at 80% 35%,rgba(228,163,47,.28),transparent 26%),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px}
.sakr-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(57,210,180,.12);filter:blur(2px);inset-inline-end:-120px;top:80px;z-index:-1}
.sakr-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.95fr);align-items:center;gap:68px}
.sakr-copy{max-width:650px}
.sakr-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);border-radius:5px;color:#9ef0df;font-size:12px;font-weight:700}
.sakr-copy h1{font-size:clamp(48px,5.2vw,76px);line-height:1.14;letter-spacing:-1.7px;margin:21px 0 18px;text-wrap:balance;color:#fff}
.sakr-copy h1 span,.sakr-copy h1 strong{display:block}
.sakr-copy h1 strong{color:#48dec0;font-weight:800}
.sakr-copy>p{max-width:630px;font-size:17px;line-height:1.9;color:#c7dbe4;margin:0}
.sakr-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.sakr-primary{background:#20c5a5;min-width:180px}
.sakr-secondary{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.26)!important;color:#fff!important;min-width:150px}
.sakr-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;color:#a9c2ce;font-size:12px}
.sakr-trust span{display:inline-flex;align-items:center;gap:6px}
.sakr-trust span::first-letter{color:#51dfc2}
.sakr-visual{position:relative;min-height:510px}
.sakr-visual-glow{position:absolute;inset:70px 20px 20px;border-radius:50%;background:radial-gradient(circle,rgba(57,210,180,.28),transparent 65%);filter:blur(12px)}
.sakr-monitor{position:absolute;inset:70px 10px 38px 38px;background:#f8fbfd;border:8px solid #173b52;border-radius:14px;box-shadow:0 32px 80px rgba(0,0,0,.35);overflow:hidden;transform:perspective(1000px) rotateY(-4deg) rotateX(1deg)}
html[dir="ltr"] .sakr-monitor{transform:perspective(1000px) rotateY(4deg) rotateX(1deg)}
.sakr-monitor-top{height:45px;background:#0b2b42;color:#d8edf5;display:flex;align-items:center;gap:7px;padding:0 15px;font-size:11px}
.sakr-monitor-top span{margin-inline-end:auto;font-weight:700}.sakr-monitor-top i{width:8px;height:8px;border-radius:50%;background:#4edbbf}.sakr-monitor-top i:nth-last-child(2){background:#efbf5a}.sakr-monitor-top i:last-child{background:#ec6f75}
.sakr-monitor-body{display:grid;grid-template-columns:110px 1fr;height:calc(100% - 45px);direction:rtl}
.sakr-monitor-side{background:#0f3148;color:#dcebf1;padding:18px 12px;display:grid;align-content:start;gap:8px;font-size:10px}.sakr-monitor-side>*{padding:10px;border-radius:5px}.sakr-monitor-side b{background:#18b99a;color:#fff}
.sakr-monitor-content{padding:22px 18px;background:#f4f8fa;color:#18364a}.sakr-welcome{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.sakr-welcome span{font-weight:800}.sakr-welcome small{color:#78909f;font-size:9px}
.sakr-preview-cards{display:grid;gap:10px}.sakr-preview-cards article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:13px;background:#fff;border:1px solid #d9e5ea;border-radius:7px;box-shadow:0 8px 20px rgba(17,52,73,.06)}.sakr-preview-cards i{width:38px;height:38px;border-radius:6px;background:#e6faf6;display:grid;place-items:center;font-style:normal;font-size:20px}.sakr-preview-cards b{font-size:11px}.sakr-preview-cards span{font-size:11px;color:#0c9f86;font-weight:800}
.sakr-animal-card{position:absolute;width:245px;height:190px;inset-inline-end:-28px;bottom:-12px;border:7px solid #fff;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 22px 55px rgba(0,0,0,.25);transform:rotate(3deg)}
html[dir="ltr"] .sakr-animal-card{transform:rotate(-3deg)}
.sakr-animal-card img{width:100%;height:100%;object-fit:cover;object-position:72% 57%}
.sakr-floating{position:absolute;padding:11px 14px;background:#fff;color:#153448;border-radius:8px;box-shadow:0 16px 38px rgba(0,0,0,.2);display:grid;gap:1px;min-width:110px}.sakr-floating strong{font-size:20px;color:#0b9f87}.sakr-floating span{font-size:9px;color:#70869a}.sakr-floating.one{top:18px;inset-inline-start:4px}.sakr-floating.two{bottom:23px;inset-inline-start:-16px}
.sakr-stats{background:#fff;border-bottom:1px solid #dbe7eb;box-shadow:0 12px 30px rgba(18,55,75,.05)}
html[data-theme="dark"] .sakr-stats{background:#0c2637;border-color:#24485b}
.sakr-stats>.container{display:grid;grid-template-columns:repeat(4,1fr);padding:26px 0}
.sakr-stats>.container>div{text-align:center;border-inline-end:1px solid var(--line);display:grid;gap:2px}.sakr-stats>.container>div:last-child{border:0}.sakr-stats strong{font-size:28px;color:var(--pd)}.sakr-stats span{font-size:12px;color:var(--muted)}
.sakr-section{padding:90px 0}
.sakr-heading{max-width:760px;margin:0 auto 44px;text-align:center}.sakr-heading>span{color:var(--pd);font-weight:800;font-size:13px}.sakr-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.35;color:var(--ink);margin:10px 0 12px}.sakr-heading p{color:var(--muted);margin:0}
.sakr-year-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.sakr-year-card{position:relative;min-height:330px;padding:25px 20px 22px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--p);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:.23s;overflow:hidden}.sakr-year-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:var(--ps);inset-inline-end:-55px;top:-55px}.sakr-year-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--p) 42%,var(--line))}.sakr-year-number{position:absolute;top:13px;inset-inline-end:16px;color:var(--muted);font-size:11px;font-weight:800;z-index:1}.sakr-year-icon{width:68px;height:68px;border-radius:10px;background:linear-gradient(145deg,#dffaf4,#fff7e4);display:grid;place-items:center;font-size:34px;margin:18px 0 23px}.sakr-year-card h3{color:var(--ink);margin:0 0 10px;font-size:20px}.sakr-year-card p{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 22px}.sakr-year-card a{margin-top:auto;color:var(--pd);font-size:12px;font-weight:800;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px}.sakr-year-card a b{font-size:18px}
.sakr-features{background:#061b33;color:#fff}.sakr-heading.light h2{color:#fff}.sakr-heading.light>span{color:#58dec4}.sakr-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sakr-feature-grid article{padding:30px;background:#0c2d43;border:1px solid rgba(255,255,255,.09);border-bottom:4px solid #23c6a7;min-height:260px}.sakr-feature-grid article>div{width:56px;height:56px;border-radius:8px;background:rgba(57,210,180,.12);display:grid;place-items:center;color:#57dec4;font-size:24px;font-weight:800}.sakr-feature-grid h3{font-size:22px;margin:24px 0 10px;color:#fff}.sakr-feature-grid p{color:#a9c1cc;font-size:13px;margin:0}
.sakr-flow{background:linear-gradient(135deg,#f4f8fb,#e9faf6)}
html[data-theme="dark"] .sakr-flow{background:linear-gradient(135deg,#071a29,#0d293a)}
.sakr-flow-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:42px;display:grid;grid-template-columns:1fr .9fr;gap:50px;box-shadow:var(--shadow)}.sakr-flow-card>div>span{color:var(--pd);font-weight:800;font-size:12px}.sakr-flow-card h2{font-size:clamp(27px,3.5vw,42px);line-height:1.4;color:var(--ink);margin:10px 0 12px}.sakr-flow-card p{color:var(--muted);margin:0 0 22px}.sakr-flow-card ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}.sakr-flow-card li{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);background:var(--surface-2);border-radius:8px}.sakr-flow-card li b{width:42px;height:42px;border-radius:7px;background:#0b2c43;color:#53dec3;display:grid;place-items:center;font-size:11px}.sakr-flow-card li span{font-weight:700;color:var(--ink);font-size:13px}
.sakr-cta{padding:65px 0;background:linear-gradient(120deg,#0b8f7a,#16b99b);color:#fff}.sakr-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}.sakr-cta span{font-size:12px;color:#c8fff4}.sakr-cta h2{font-size:clamp(25px,3vw,40px);line-height:1.4;margin:5px 0 0;color:#fff;max-width:780px}.sakr-cta>.container>div:last-child{display:flex;gap:10px;flex-shrink:0}.sakr-cta .btn-p{background:#061b33}.sakr-cta .btn-light{background:#fff;border-color:#fff;color:#073046}
html[data-theme="dark"] .sakr-page{background:var(--bg)}
html[data-theme="dark"] .sakr-year-card{background:var(--surface)}
html[data-theme="dark"] .sakr-year-icon{background:linear-gradient(145deg,#163e4c,#1a3543)}

/* Dashboard: top horizontal navigation like a modern course platform */
.ks-dashboard{min-height:100vh;background:var(--bg)}
.ks-dashboard-header{position:sticky;top:0;z-index:70;background:#061b33;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.16);border-bottom:3px solid #18b99a}
.ks-dashboard-bar{width:min(1540px,calc(100% - 32px));min-height:78px;margin:auto;display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:20px}
.ks-dash-brand{display:flex;align-items:center}.ks-dash-brand .brand-logo{width:112px;height:58px;filter:brightness(0) invert(1)}
.ks-dashboard-nav{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.ks-dashboard-nav::-webkit-scrollbar{display:none}.ks-dashboard-nav a{white-space:nowrap;padding:10px 12px;border-radius:5px;color:#c8dce5;font-size:12px;font-weight:600;border-bottom:2px solid transparent}.ks-dashboard-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}.ks-dashboard-nav a.active{background:#16b99b;color:#fff;border-color:#72ead3}.ks-mobile-logout{display:none!important}
.ks-dashboard-tools{display:flex;align-items:center;gap:8px}.ks-dashboard-tools .preference-controls{gap:5px}.ks-dashboard-tools .icon-btn{width:36px;height:36px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}.ks-user-card{display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid rgba(255,255,255,.13);border-radius:7px;color:#fff}.ks-user-avatar{width:34px;height:34px;border-radius:6px;background:#16b99b;display:grid;place-items:center;font-weight:800}.ks-user-card>span:last-child{display:grid}.ks-user-card strong{font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ks-user-card small{font-size:9px;color:#a9c2ce}.ks-logout{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:6px;padding:8px 10px;font:inherit;font-size:11px;cursor:pointer}.ks-logout:hover{background:#d64550;border-color:#d64550}.ks-mobile-menu{display:none;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:6px;width:40px;height:40px;font-size:20px;cursor:pointer}
.ks-dashboard-main{width:min(1460px,calc(100% - 34px));margin:auto;padding:30px 0 70px}.ks-dashboard .menu-btn{display:none!important}.ks-dashboard .toolbar{margin-bottom:24px}.ks-dashboard .toolbar h1{color:var(--ink);font-size:30px;margin:0}.ks-dashboard .toolbar p{color:var(--muted)}.ks-dashboard .panel{border-top:3px solid color-mix(in srgb,var(--p) 55%,transparent)}.ks-dashboard .stat{border-top:4px solid var(--p)}.ks-dashboard .stat strong{color:var(--ink)}.ks-dashboard .panel-head h2{color:var(--ink)}

@media(max-width:1180px){
  .sakr-hero-grid{grid-template-columns:1fr 460px;gap:38px}.sakr-year-grid{grid-template-columns:repeat(3,1fr)}
  .ks-dashboard-bar{grid-template-columns:110px minmax(0,1fr) auto}.ks-dashboard-nav a{padding:9px 9px;font-size:11px}.ks-user-card strong{max-width:80px}
}
@media(max-width:980px){
  body:has(.sakr-page) .landing-header .navlinks{display:none}.sakr-hero{padding-top:130px}.sakr-hero-grid{grid-template-columns:1fr}.sakr-copy{max-width:760px}.sakr-visual{width:min(620px,100%);margin:auto}.sakr-feature-grid{grid-template-columns:1fr 1fr}.sakr-flow-card{grid-template-columns:1fr}
  .ks-dashboard-bar{display:flex;min-height:70px}.ks-dash-brand{margin-inline-end:auto}.ks-mobile-menu{display:grid;place-items:center;order:2}.ks-dashboard-tools{order:3}.ks-user-card{display:none}.ks-logout{display:none}.ks-dashboard-nav{display:none;position:fixed;top:70px;inset-inline:0;background:#08243a;padding:14px 16px 22px;box-shadow:0 20px 45px rgba(0,0,0,.3);flex-direction:column;align-items:stretch;max-height:calc(100vh - 70px);overflow:auto}.ks-dashboard-nav.open{display:flex}.ks-dashboard-nav a{font-size:13px;padding:12px}.ks-mobile-logout{display:block!important;color:#ffb5b9!important}.ks-dashboard-main{padding-top:22px}
}
@media(max-width:760px){
  body:has(.sakr-page) .landing-header .actions>.btn{display:none}.sakr-hero{min-height:auto;padding:116px 0 70px}.sakr-copy h1{font-size:44px}.sakr-copy>p{font-size:15px}.sakr-visual{min-height:430px}.sakr-monitor{inset:55px 0 35px 16px}.sakr-animal-card{width:190px;height:150px;inset-inline-end:-10px}.sakr-floating{display:none}.sakr-stats>.container{grid-template-columns:repeat(2,1fr);gap:0}.sakr-stats>.container>div{padding:12px;border-bottom:1px solid var(--line)}.sakr-year-grid{grid-template-columns:1fr 1fr}.sakr-feature-grid{grid-template-columns:1fr}.sakr-cta>.container{flex-direction:column;align-items:flex-start}.sakr-cta>.container>div:last-child{flex-wrap:wrap}.sakr-section{padding:70px 0}.sakr-flow-card{padding:28px 22px}.ks-dashboard-tools .preference-controls{display:flex}.ks-dashboard-main{width:calc(100% - 24px)}
}
@media(max-width:520px){
  .container{width:min(100% - 24px,1180px)}body:has(.sakr-page) .landing-header .nav{min-height:72px}.sakr-copy h1{font-size:36px;letter-spacing:-.8px}.sakr-actions{display:grid}.sakr-actions .btn{width:100%}.sakr-trust{display:grid;gap:8px}.sakr-visual{min-height:350px}.sakr-monitor{inset:42px 0 15px 0;border-width:5px}.sakr-monitor-body{grid-template-columns:76px 1fr}.sakr-monitor-side{padding:10px 7px}.sakr-monitor-side>*{padding:8px 5px}.sakr-monitor-content{padding:15px 10px}.sakr-welcome small{display:none}.sakr-preview-cards article{grid-template-columns:34px 1fr auto;padding:9px}.sakr-preview-cards i{width:32px;height:32px;font-size:16px}.sakr-animal-card{display:none}.sakr-year-grid{grid-template-columns:1fr}.sakr-year-card{min-height:280px}.sakr-stats strong{font-size:24px}.sakr-heading h2{font-size:30px}.sakr-cta>.container>div:last-child{display:grid;width:100%}.sakr-cta .btn{width:100%}.ks-dashboard-bar{width:calc(100% - 18px);gap:6px}.ks-dash-brand .brand-logo{width:84px;height:46px}.ks-dashboard-tools .icon-btn{width:32px;height:32px}.ks-mobile-menu{width:36px;height:36px}
}

/* =========================================================
   Phase 1 — navigation, responsive stability, and UI polish
   ========================================================= */
:root{--header-height:82px;--dashboard-header-height:78px}
html{scroll-padding-top:calc(var(--header-height) + 18px)}
body{overflow-x:hidden}
body.menu-open,body.modal-open{overflow:hidden}
.header,.ks-dashboard-header{transition:min-height .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease,transform .22s ease}
.header .nav,.ks-dashboard-bar,.brand-logo,.ks-dash-brand .brand-logo{transition:min-height .22s ease,width .22s ease,height .22s ease,padding .22s ease}
.header{position:sticky;top:0;z-index:90}
.landing-header{position:fixed;top:0;inset-inline:0;z-index:95;width:100%}
.landing-header.is-scrolled{background:rgba(6,27,51,.96)!important;box-shadow:0 14px 38px rgba(0,0,0,.22);border-bottom-color:rgba(255,255,255,.12);backdrop-filter:blur(18px)}
.header.is-scrolled:not(.landing-header){background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:0 10px 30px rgba(16,16,15,.10)}
.header.is-scrolled .nav{min-height:64px}
.header.is-scrolled .brand-logo{width:104px;height:50px}
.ks-dashboard-header.is-scrolled{box-shadow:0 12px 34px rgba(0,0,0,.24)}
.ks-dashboard-header.is-scrolled .ks-dashboard-bar{min-height:62px}
.ks-dashboard-header.is-scrolled .ks-dash-brand .brand-logo{width:90px;height:46px}
.public-mobile-menu{display:none;width:40px;height:40px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--button-r);font-size:20px;cursor:pointer;place-items:center}
.landing-header .public-mobile-menu{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#fff}
.landing-header .public-mobile-menu:hover{background:rgba(255,255,255,.13)}

/* Safer typography and content sizing */
h1,h2,h3,h4,p,li,td,th,label,small,strong,span{overflow-wrap:anywhere}
h1,h2,h3,.toolbar h1,.section-head h2,.sakr-heading h2,.sakr-copy h1{text-wrap:balance}
html[dir="rtl"] body{line-height:1.85}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3{line-height:1.42;letter-spacing:0}
.panel,.card,.course,.stat,.mini,.toolbar>*,.lesson-info,.content-workspace,.form-wrap{min-width:0}
.toolbar{gap:16px}.toolbar>div{min-width:0}.toolbar h1{margin-bottom:4px}.toolbar p{margin:0;max-width:800px}
.table-wrap{position:relative;max-width:100%;border:1px solid var(--line);background:var(--surface);overscroll-behavior-inline:contain}
.table-wrap table{margin:0}
.empty{border:1px dashed color-mix(in srgb,var(--muted) 35%,var(--line));background:color-mix(in srgb,var(--surface-2) 82%,transparent);border-radius:var(--r);min-height:120px;display:grid;place-items:center;line-height:1.8}
.loading-screen{padding:28px;min-height:100dvh}
.loading-screen p{margin:0;color:var(--muted);font-size:13px}

/* Modals: only explicit close buttons close them; outside click gives feedback */
.modal-backdrop{overflow:auto;overscroll-behavior:contain;padding-block:24px}
.modal{max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;margin:auto}
.modal-attention{animation:modalAttention .24s ease}
@keyframes modalAttention{0%,100%{transform:translateX(0)}25%{transform:translateX(4px)}75%{transform:translateX(-4px)}}
.modal-head{position:sticky;top:-25px;z-index:8;background:var(--surface);padding:17px 0 12px;border-bottom:1px solid var(--line);margin-bottom:14px}
.modal-head .icon-btn{flex:0 0 auto}

/* Better mobile navigation */
@media(max-width:1000px){
  .public-mobile-menu{display:grid}
  .header .navlinks{display:none;position:fixed;top:var(--mobile-header-top,72px);inset-inline:12px;z-index:120;background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);padding:12px;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 92px);overflow:auto}
  .header .navlinks.open{display:flex}
  .header .navlinks a{padding:12px 13px;border:1px solid transparent;border-radius:4px}
  .header .navlinks a:hover{background:var(--ps);border-color:color-mix(in srgb,var(--p) 25%,var(--line))}
  .header .navlinks a:after{display:none}
  .landing-header .navlinks{top:78px;background:#08243a;color:#fff;border-color:rgba(255,255,255,.14)}
  .landing-header.is-scrolled .navlinks{top:64px}
  .landing-header .navlinks a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
  .ks-dashboard-nav{inset-inline:10px!important;border:1px solid rgba(255,255,255,.12);border-radius:7px}
  .ks-dashboard-header.is-scrolled .ks-dashboard-nav{top:62px;max-height:calc(100dvh - 72px)}
}
@media(max-width:760px){
  :root{--header-height:72px;--dashboard-header-height:70px}
  .header.is-scrolled .nav{min-height:58px}
  .header.is-scrolled .brand-logo{width:88px;height:44px}
  .landing-header.is-scrolled .navlinks{top:58px}
  .actions{margin-inline-start:auto}
  .public-mobile-menu{width:36px;height:36px}
  .toolbar{align-items:stretch}.toolbar>.btn,.toolbar>.inline-actions{width:100%}.toolbar>.btn{justify-content:center}
  .panel,.card,.stat,.course{border-radius:7px}
  .modal-backdrop{padding:10px}.modal{max-height:calc(100dvh - 20px);padding:18px}.modal-head{top:-18px;padding-top:12px}
  table{min-width:600px}
}
@media(max-width:520px){
  .header .actions>.preference-controls{display:flex}
  .header .actions>.btn{display:none!important}
  .header .navlinks{inset-inline:8px}
  .ks-dashboard-main{padding-bottom:45px}
  .toolbar h1{font-size:25px!important}
  .section-head h2,.sakr-heading h2{font-size:29px!important}
  .form-actions{gap:9px}
  .form-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .header,.ks-dashboard-header,.header .nav,.ks-dashboard-bar,.brand-logo,.ks-dash-brand .brand-logo{transition:none}
  .modal-attention{animation:none}
}

/* =========================================================
   Phase 2 — student learning experience
   ========================================================= */
.student-focus-section{margin:24px 0}.student-focus-section>.panel-head{margin-bottom:14px}
.continue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.continue-card{display:grid;grid-template-columns:138px minmax(0,1fr);min-height:150px;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s ease;color:var(--text)}
.continue-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--p) 44%,var(--line));box-shadow:var(--shadow)}
.continue-card-media{position:relative;min-height:150px;background:var(--surface-2);overflow:hidden}.continue-card-image{width:100%;height:100%;object-fit:cover;display:grid;place-items:center;font-size:32px}.continue-card-media>span{position:absolute;inset-inline-end:9px;bottom:9px;background:rgba(6,27,51,.9);color:#fff;padding:4px 7px;border-radius:4px;font-size:11px;font-weight:800}
.continue-card-body{padding:16px;display:flex;flex-direction:column;min-width:0}.continue-card-body>small{color:var(--pd);font-weight:700}.continue-card-body h3{font-size:16px;margin:5px 0 12px;color:var(--ink);line-height:1.45}.continue-card-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;margin-top:auto;margin-bottom:9px}
.student-dashboard-grid{align-items:start}.student-exam-list{display:grid;gap:9px}.student-exam-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);transition:.18s}.student-exam-card:hover{border-color:var(--p);background:var(--ps)}.student-exam-icon{width:40px;height:40px;background:var(--p);color:#fff;display:grid;place-items:center;border-radius:6px;font-size:20px}.student-exam-card .lesson-info span{font-size:10px;color:var(--muted)}.student-exam-state{display:grid;justify-items:end;gap:5px}.student-exam-state b{font-size:18px;color:var(--ink)}
.list-item.is-unread{background:color-mix(in srgb,var(--ps) 65%,var(--surface));border-inline-start:3px solid var(--p)}
.student-subject-preview{margin-top:18px}.student-subject-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-subject-mini{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}.student-subject-mini-image{width:64px;height:54px;object-fit:cover;display:grid;place-items:center;background:var(--ps);font-size:22px}.student-subject-mini strong{display:block;color:var(--ink);margin-bottom:3px}.student-subject-mini small{color:var(--muted);font-size:10px}.student-subject-mini .progress{margin-top:8px}.student-subject-mini>b{color:var(--pd)}
.student-grade-summary{grid-template-columns:repeat(3,minmax(0,1fr)) auto}

.subject-learning-hero{padding-block:44px}.subject-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:center}.subject-progress-card{background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);padding:18px;box-shadow:var(--shadow-sm)}.subject-progress-card>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:10px}.subject-progress-card small{color:var(--muted)}.subject-progress-card strong{font-size:30px;color:var(--pd)}.subject-progress-card p{font-size:11px;color:var(--muted);margin:8px 0 13px}.progress.large{height:10px}
.subject-learning-section{padding-top:42px}.subject-learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.subject-lecture-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.subject-lecture-toolbar h2{margin:0;color:var(--ink)}.subject-lecture-toolbar p{margin:4px 0 0;color:var(--muted);font-size:11px}.subject-lecture-filters{display:flex;gap:8px;min-width:min(100%,430px)}.subject-lecture-filters select{min-width:145px}.subject-lecture-filters .search{flex:1}.subject-lecture-list{display:grid;gap:11px}.subject-lecture-card{display:grid;grid-template-columns:165px minmax(0,1fr);min-height:142px;background:var(--surface);border:1px solid var(--line);color:var(--text);overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s}.subject-lecture-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--p) 46%,var(--line));box-shadow:var(--shadow)}.subject-lecture-media{position:relative;min-height:142px;background:var(--surface-2)}.subject-lecture-image{width:100%;height:100%;object-fit:cover;display:grid;place-items:center;font-size:32px}.lecture-position{position:absolute;top:9px;inset-inline-start:9px;background:#061b33;color:#fff;padding:5px 8px;font-size:11px;font-weight:800}.subject-lecture-body{padding:15px 17px;min-width:0}.subject-lecture-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.subject-lecture-title small{color:var(--pd);font-size:10px}.subject-lecture-title h3{margin:3px 0 0;font-size:17px;color:var(--ink)}.subject-lecture-body>p{color:var(--muted);font-size:11px;line-height:1.75;margin:9px 0}.subject-lecture-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:10px;margin-bottom:10px}.subject-resources{display:grid;gap:14px;position:sticky;top:90px}.subject-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.subject-mini-stats>div{padding:10px 6px;background:var(--surface-2);border:1px solid var(--line);text-align:center}.subject-mini-stats strong{display:block;font-size:20px;color:var(--ink)}.subject-mini-stats span{font-size:9px;color:var(--muted)}.subject-resource-list{display:grid;gap:7px;margin-top:12px}.subject-resource-row,.subject-exam-row,.lecture-file-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}.resource-icon{width:42px;height:38px;display:grid;place-items:center;background:var(--ps);color:var(--pd);font-size:9px;font-weight:800;border:1px solid color-mix(in srgb,var(--p) 25%,var(--line))}.resource-icon.exam{background:#061b33;color:#fff}.subject-exam-result{display:grid;gap:5px;justify-items:end}.subject-exam-result b{color:var(--ink)}

.lecture-learning-hero{padding-block:30px}.lecture-breadcrumb{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-bottom:18px}.lecture-breadcrumb a{color:var(--pd)}.lecture-hero-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.lecture-overall-progress{display:grid;justify-items:end;gap:2px;min-width:110px}.lecture-overall-progress small,.lecture-overall-progress span{color:var(--muted);font-size:10px}.lecture-overall-progress strong{font-size:27px;color:var(--pd)}
.lecture-learning-section{padding-top:30px}.lecture-learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.lecture-main{min-width:0}.lecture-curriculum{position:sticky;top:86px}.curriculum-panel{padding:14px}.curriculum-panel .search{width:100%;margin-bottom:10px}.curriculum-list{display:grid;gap:6px;max-height:calc(100dvh - 220px);overflow:auto;overscroll-behavior:contain;padding-inline-end:2px}.curriculum-item{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);transition:.16s}.curriculum-item:hover{border-color:var(--p)}.curriculum-item.active{background:var(--ps);border-color:var(--p);box-shadow:inset 3px 0 0 var(--p)}html[dir="rtl"] .curriculum-item.active{box-shadow:inset -3px 0 0 var(--p)}.curriculum-number{font-size:10px;color:var(--muted);font-weight:800}.curriculum-item strong{font-size:11px;color:var(--ink)}.curriculum-item small{font-size:9px;color:var(--muted)}.curriculum-item .progress{height:3px;margin-top:5px}.curriculum-status{font-size:11px;color:var(--muted)}.curriculum-status.done{color:#14a979;font-weight:800}.curriculum-status.progressing{color:var(--pd);font-weight:800}
.lecture-player-tools{display:grid;gap:10px;margin:12px 0 16px}.lecture-nav-actions{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.lecture-nav-actions>*:last-child{justify-self:end}.bookmark-quick{display:flex;gap:8px;justify-content:flex-end}.bookmark-quick input{max-width:300px}.lecture-tabs{margin-top:8px}.lecture-tab-panel{margin-top:12px}.lecture-progress-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:8px}.lecture-file-list{display:grid;gap:8px}.lecture-note-editor{width:100%;resize:vertical;min-height:260px;line-height:1.9;background:var(--surface-2);border:1px solid var(--line);padding:15px;color:var(--text);font:inherit}.bookmark-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.bookmark-list{display:grid;gap:7px}.bookmark-row{display:grid;grid-template-columns:68px minmax(0,1fr) 36px;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);background:var(--surface-2)}.bookmark-time{border:0;background:var(--p);color:#fff;padding:8px 7px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.bookmark-row .icon-btn{width:32px;height:32px}.question-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.question-columns>div>h3{font-size:15px;color:var(--ink)}.my-question{border:1px solid var(--line);background:var(--surface-2);padding:13px;margin-bottom:8px}.my-question p{margin:8px 0}.prereq-actions{margin-top:9px}

@media(max-width:1180px){
  .continue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-learning-layout{grid-template-columns:minmax(0,1fr) 320px}.lecture-learning-layout{grid-template-columns:minmax(0,1fr) 300px}
}
@media(max-width:980px){
  .subject-hero-grid,.subject-learning-layout,.lecture-learning-layout{grid-template-columns:1fr}.subject-resources,.lecture-curriculum{position:static}.lecture-curriculum{order:-1}.curriculum-list{max-height:330px}.student-subject-strip{grid-template-columns:1fr}.subject-progress-card{max-width:520px}.student-grade-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.student-grade-summary>a{align-self:center}
}
@media(max-width:760px){
  .continue-grid{grid-template-columns:1fr}.continue-card{grid-template-columns:112px minmax(0,1fr)}.continue-card-media{min-height:135px}.student-exam-card{grid-template-columns:38px minmax(0,1fr)}.student-exam-state{grid-column:2;justify-items:start;display:flex;align-items:center;gap:8px}.subject-lecture-toolbar{align-items:stretch;flex-direction:column}.subject-lecture-filters{min-width:0;width:100%}.subject-lecture-card{grid-template-columns:118px minmax(0,1fr)}.subject-lecture-media{min-height:155px}.lecture-hero-row{align-items:flex-start}.lecture-overall-progress{justify-items:start}.lecture-nav-actions{grid-template-columns:1fr 1fr}.lecture-nav-actions>a:nth-child(2){grid-column:1/-1;grid-row:2}.lecture-nav-actions>*:last-child{justify-self:stretch}.lecture-nav-actions .btn{justify-content:center}.bookmark-quick{flex-direction:column}.bookmark-quick input{max-width:none}.question-columns{grid-template-columns:1fr}.subject-resource-row,.subject-exam-row,.lecture-file-row{grid-template-columns:42px minmax(0,1fr)}.subject-resource-row>.btn,.lecture-file-row>.btn,.subject-exam-result{grid-column:2;justify-self:start}.student-grade-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .continue-card{grid-template-columns:1fr}.continue-card-media{height:165px}.student-subject-mini{grid-template-columns:55px minmax(0,1fr)}.student-subject-mini>b{grid-column:2}.student-grade-summary{grid-template-columns:1fr}.subject-hero-grid{gap:16px}.subject-lecture-filters{display:grid}.subject-lecture-filters select{min-width:0}.subject-lecture-card{grid-template-columns:1fr}.subject-lecture-media{height:170px}.subject-lecture-title{align-items:flex-start}.lecture-hero-row{display:grid}.lecture-nav-actions{grid-template-columns:1fr}.lecture-nav-actions>a:nth-child(2){grid-column:auto;grid-row:auto}.bookmark-row{grid-template-columns:62px minmax(0,1fr) 32px}.lecture-tab-panel{padding:15px}.curriculum-list{max-height:280px}
}

/* =========================================================
   Phase 3 — doctor workspace, reports and resilient uploads
   ========================================================= */
.lecture-manager-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line)}
.lecture-manager-tools .checkbox-row{margin:0}.content-manager-hint{margin-top:10px;color:var(--muted);font-size:10px;line-height:1.7}
.sortable-lecture-list .content-item{grid-template-columns:28px 34px 76px minmax(0,1fr) auto auto;transition:transform .16s,border-color .16s,opacity .16s,box-shadow .16s}
.sortable-lecture-item{cursor:default}.sortable-lecture-item.is-dragging{opacity:.45;border-color:var(--p);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.lecture-select{display:grid;place-items:center}.lecture-select input{width:17px;height:17px;accent-color:var(--p)}
.drag-handle{border:1px solid var(--line);background:var(--surface);color:var(--muted);width:32px;height:42px;display:grid;place-items:center;cursor:grab;font-size:17px;font-weight:900;letter-spacing:-5px;padding-inline-end:5px}.drag-handle:active{cursor:grabbing}.drag-handle:hover{border-color:var(--p);color:var(--pd);background:var(--ps)}
.lecture-position-label{display:inline-grid;place-items:center;min-width:22px;height:22px;background:var(--ps);color:var(--pd);font-size:10px;border:1px solid color-mix(in srgb,var(--p) 28%,var(--line));margin-inline-end:3px}
.video-upload-progress{border:1px solid color-mix(in srgb,var(--p) 35%,var(--line));background:var(--ps);padding:11px}.video-upload-progress small{display:block;margin-top:7px;color:var(--muted)}

.report-filter{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.report-filter .field{min-width:min(100%,360px);margin:0}.report-filter-note{display:grid;justify-items:end;gap:3px}.report-filter-note small{color:var(--muted)}
.report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.doctor-report-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:18px;align-items:start;margin-bottom:18px}
.report-activity-panel{min-height:300px}.doctor-activity-chart{height:220px;display:grid;grid-template-columns:repeat(14,minmax(20px,1fr));align-items:end;gap:7px;padding:22px 4px 0;border-bottom:1px solid var(--line)}
.doctor-activity-day{height:100%;display:grid;grid-template-rows:1fr auto auto;align-items:end;justify-items:center;gap:5px;min-width:0}.doctor-activity-day>span{display:block;width:min(100%,28px);min-height:4px;background:linear-gradient(180deg,var(--p),var(--pd));border-radius:3px 3px 0 0;box-shadow:0 8px 20px color-mix(in srgb,var(--p) 22%,transparent);transition:height .25s}.doctor-activity-day small{font-size:8px;color:var(--muted)}.doctor-activity-day b{font-size:9px;color:var(--ink)}
.subject-health-list{display:grid;gap:7px}.subject-health-row{border:1px solid var(--line);background:var(--surface-2);color:var(--text);display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:start;padding:10px;cursor:pointer;font:inherit}.subject-health-row:hover{border-color:var(--p);background:var(--ps)}.subject-health-grade{width:38px;height:38px;display:grid;place-items:center;background:var(--p);color:#fff;font-weight:800}.subject-health-row strong{display:block;color:var(--ink);font-size:11px}.subject-health-row small{color:var(--muted);font-size:9px}.subject-health-row>span:last-child{display:grid;justify-items:end}.subject-health-row>span:last-child b{color:var(--pd)}
.table-progress{width:90px;height:5px;background:var(--line);display:inline-block;vertical-align:middle;margin-inline-end:7px;overflow:hidden}.table-progress span{display:block;height:100%;background:var(--p)}
.report-student-list{display:grid;gap:8px}.report-student-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface-2);padding:9px}.report-student-list article>span{width:40px;height:40px;display:grid;place-items:center;background:var(--ps);color:var(--pd);font-weight:800}.report-student-list strong{display:block;color:var(--ink);font-size:11px}.report-student-list small,.report-student-list time{color:var(--muted);font-size:9px}.report-student-list time{text-align:end}
.exam-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.exam-report-card{border:1px solid var(--line);background:var(--surface-2);padding:14px;display:grid;gap:14px}.exam-report-card h3{font-size:14px;margin:4px 0 0;color:var(--ink)}.exam-report-card>div>small{color:var(--muted)}.exam-report-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.exam-report-numbers span{padding:8px 5px;background:var(--surface);border:1px solid var(--line);display:grid;justify-items:center;gap:2px}.exam-report-numbers b{color:var(--pd);font-size:15px}.exam-report-numbers small{font-size:8px;color:var(--muted)}

@media(max-width:1180px){.doctor-report-grid{grid-template-columns:1fr}.exam-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.lecture-manager-tools{align-items:stretch;flex-direction:column}.lecture-manager-tools .inline-actions{display:grid;grid-template-columns:1fr 1fr}.lecture-manager-tools .inline-actions .btn:last-child{grid-column:1/-1}.sortable-lecture-list .content-item{grid-template-columns:28px 30px 68px minmax(0,1fr)}.sortable-lecture-list .content-item>.status,.sortable-lecture-list .content-item>.inline-actions{grid-column:4}.report-filter{align-items:stretch;flex-direction:column}.report-filter .field{min-width:0;width:100%}.report-filter-note{justify-items:start}.doctor-activity-chart{gap:3px;overflow-x:auto;grid-template-columns:repeat(14,28px);justify-content:start}.exam-report-grid{grid-template-columns:1fr}.report-stats{grid-template-columns:1fr 1fr}.toolbar .inline-actions [data-export-students],.toolbar .inline-actions [data-export-videos],.toolbar .inline-actions [data-export-exams]{flex:1}}
@media(max-width:520px){.sortable-lecture-list .content-item{grid-template-columns:26px 28px minmax(0,1fr)}.sortable-lecture-list .content-item .lecture-admin-thumbnail{grid-column:3;width:100%;height:140px}.sortable-lecture-list .content-item .lesson-info,.sortable-lecture-list .content-item>.status,.sortable-lecture-list .content-item>.inline-actions{grid-column:3}.report-stats{grid-template-columns:1fr}.subject-health-row{grid-template-columns:36px minmax(0,1fr)}.subject-health-row>span:last-child{grid-column:2;justify-items:start;display:flex;gap:5px}.report-student-list article{grid-template-columns:38px minmax(0,1fr)}.report-student-list time{grid-column:2;text-align:start}}
.order-control{display:grid;gap:3px;justify-items:center}.order-buttons{display:none;gap:3px}.order-buttons button{width:30px;height:26px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:12px;cursor:pointer}.order-buttons button:hover{border-color:var(--p);color:var(--pd)}
@media(max-width:760px){.order-control .drag-handle{display:none}.order-buttons{display:flex;flex-direction:column}.order-buttons button{width:28px;height:25px}}

/* =========================================================
   Phase 4 — admin operations, analytics and platform control
   ========================================================= */
.platform-notice{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 18px;background:#fff3cd;color:#664d03;border-bottom:1px solid #ffecb5;font-size:11px;position:relative;z-index:20}.platform-notice strong{white-space:nowrap}.platform-notice span{line-height:1.7}
[data-theme="dark"] .platform-notice{background:#322a12;color:#ffe69c;border-color:#514418}
.admin-overview-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.admin-quick-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:16px;background:var(--surface);border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow-sm);transition:.18s}.admin-quick-card:hover{transform:translateY(-2px);border-color:var(--p);box-shadow:var(--shadow)}.admin-quick-card>span{width:50px;height:50px;display:grid;place-items:center;background:var(--ps);font-size:24px;border:1px solid color-mix(in srgb,var(--p) 25%,var(--line))}.admin-quick-card strong{display:block;color:var(--ink);font-size:12px;margin-bottom:4px}.admin-quick-card small{display:block;color:var(--muted);font-size:9px;line-height:1.6}
.admin-analytics-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:18px;margin-bottom:18px}.admin-month-chart{height:270px;display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));align-items:end;gap:12px;padding:24px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto}.admin-month-chart article{height:100%;display:grid;grid-template-rows:1fr auto auto;align-items:end;justify-items:center;gap:5px}.dual-bars{height:100%;display:flex;align-items:end;justify-content:center;gap:5px;width:100%}.dual-bars i,.dual-bars b{display:block;width:min(24px,34%);min-height:5px}.dual-bars i{background:var(--p)}.dual-bars b{background:#ff9f43}.admin-month-chart article>strong{font-size:9px;color:var(--ink);direction:ltr}.admin-month-chart article>small{font-size:8px;color:var(--muted);white-space:nowrap}.chart-legend{display:flex;gap:18px;margin-top:12px;color:var(--muted);font-size:9px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:13px;height:7px;display:inline-block}.chart-legend i.users{background:var(--p)}.chart-legend i.revenue{background:#ff9f43}
.admin-activity-bars{height:270px;display:grid;grid-template-columns:repeat(14,minmax(16px,1fr));align-items:end;gap:5px;padding-top:24px;border-bottom:1px solid var(--line);overflow-x:auto}.admin-activity-bars>div{height:100%;display:grid;grid-template-rows:1fr auto auto;align-items:end;justify-items:center;gap:4px}.admin-activity-bars span{display:block;width:min(100%,22px);min-height:4px;background:linear-gradient(180deg,var(--p),var(--pd))}.admin-activity-bars small{font-size:7px;color:var(--muted);direction:ltr}.admin-activity-bars b{font-size:8px;color:var(--ink)}
.admin-health-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-operations-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:18px;align-items:start}.academic-year-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.academic-year-form .field:first-child{grid-column:1/-1}.academic-year-form .field{margin:0}.academic-year-form>.checkbox-row{align-self:center}.academic-year-form>.btn{align-self:end}.academic-year-list{display:grid;gap:8px}.academic-year-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);background:var(--surface-2)}.academic-year-row strong{display:block;color:var(--ink);font-size:11px}.academic-year-row small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.admin-export-panel{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-export-panel p{margin:5px 0 0;color:var(--muted);font-size:10px}.admin-export-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.purchase-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.purchase-admin-card{border:1px solid var(--line);background:var(--surface-2);padding:14px;display:grid;gap:10px}.purchase-admin-card.pending{border-inline-start:4px solid #d69e00}.purchase-admin-card.approved{border-inline-start:4px solid #198754}.purchase-admin-card.rejected{border-inline-start:4px solid #dc3545}.purchase-admin-main{display:flex;align-items:start;justify-content:space-between;gap:14px}.purchase-admin-main h3{margin:6px 0 3px;color:var(--ink);font-size:14px}.purchase-admin-main p{margin:0;color:var(--muted);font-size:9px}.purchase-admin-main>strong{font-size:17px;color:var(--pd);white-space:nowrap}.purchase-admin-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px;border-top:1px solid var(--line);padding-top:9px}.purchase-note{margin:0;padding:9px;background:var(--surface);border:1px solid var(--line);font-size:10px;color:var(--text)}.purchase-admin-actions{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.purchase-admin-actions .proof-access{margin-inline-end:auto}
@media(max-width:1180px){.admin-overview-stats,.admin-health-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-analytics-grid,.admin-operations-grid{grid-template-columns:1fr}.purchase-admin-list{grid-template-columns:1fr}.admin-export-panel{align-items:flex-start;flex-direction:column}.admin-export-actions{justify-content:flex-start}}
@media(max-width:760px){.platform-notice{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:2px}.admin-overview-stats,.admin-health-stats{grid-template-columns:1fr 1fr}.admin-month-chart{grid-template-columns:repeat(6,78px);justify-content:start}.admin-activity-bars{grid-template-columns:repeat(14,24px);justify-content:start}.academic-year-form{grid-template-columns:1fr}.academic-year-form .field:first-child{grid-column:auto}.academic-year-row{grid-template-columns:minmax(0,1fr) auto}.academic-year-row .inline-actions{grid-column:1/-1}.admin-export-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.purchase-admin-actions{align-items:stretch}.purchase-admin-actions .proof-access{width:100%;margin:0}}
@media(max-width:520px){.admin-overview-stats,.admin-health-stats,.admin-quick-grid{grid-template-columns:1fr}.admin-export-actions{grid-template-columns:1fr}.purchase-admin-main,.purchase-admin-meta{flex-direction:column}.purchase-admin-main>strong{font-size:15px}.purchase-admin-actions .btn{width:100%;justify-content:center}}

/* Phase 05 — online payments */
.payment-stage-layout{align-items:start}
.purchase-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.purchase-heading .purchase-price{margin:0;min-width:max-content;text-align:end}
.payment-method-grid{display:grid;gap:18px}
.payment-method-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px;border:1px solid var(--line);background:var(--surface-2,rgba(255,255,255,.55));box-shadow:var(--shadow-sm);overflow:hidden}
.payment-method-card::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--line)}
.payment-method-card.online::before{background:var(--p)}
.payment-method-card.online{background:linear-gradient(135deg,color-mix(in srgb,var(--p) 8%,var(--surface)) 0%,var(--surface) 68%)}
.payment-method-card.pending{border-color:color-mix(in srgb,var(--p) 45%,var(--line))}
.payment-method-icon{width:52px;height:52px;display:grid;place-items:center;font-size:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.payment-method-copy h3{margin:8px 0 7px;font-size:1.15rem}
.payment-method-copy p{margin:0;color:var(--muted);line-height:1.8}
.payment-method-copy ul{margin:13px 0 0;padding-inline-start:20px;color:var(--muted);font-size:.9rem;line-height:1.9}
.payment-method-actions{grid-column:1/-1;display:grid;gap:9px}
.payment-method-card form{grid-column:1/-1;margin-top:2px}
.payment-method-card .badge.muted{background:var(--surface);color:var(--muted);border-color:var(--line)}
.payment-safety-card{position:sticky;top:104px}
.payment-history-grid{display:grid;gap:20px}
.gateway-payment-row code,.payment-gateway-settings code{direction:ltr;display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;overflow-wrap:anywhere}
.payment-result-section{min-height:70vh;display:grid;align-items:center}
.payment-result-card{text-align:center;max-width:720px}
.payment-result-icon{width:94px;height:94px;margin:0 auto 18px;display:grid;place-items:center;border:2px solid var(--line);font-size:3rem;font-weight:800;background:var(--surface);box-shadow:var(--shadow)}
.payment-result-card.paid .payment-result-icon{border-color:var(--success);color:var(--success)}
.payment-result-card.pending .payment-result-icon{border-color:var(--warning);color:var(--warning)}
.payment-result-card.failed .payment-result-icon,.payment-result-card.cancelled .payment-result-icon,.payment-result-card.refunded .payment-result-icon{border-color:var(--danger);color:var(--danger)}
.payment-result-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0;text-align:start}
.payment-result-details>div{padding:14px;border:1px solid var(--line);background:var(--surface-2,rgba(255,255,255,.45))}
.payment-result-details small{display:block;color:var(--muted);margin-bottom:5px}
.payment-poll-note{display:block;margin-top:14px;color:var(--muted)}
.payment-gateway-settings{grid-column:1/-1}
.gateway-readiness{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 20px}
.gateway-readiness>div{padding:14px;border:1px solid var(--line);background:var(--surface-2,rgba(255,255,255,.45));min-width:0}
.gateway-readiness small{display:block;color:var(--muted);margin-bottom:5px}
.danger-text{color:var(--danger)!important}
@media (min-width:1100px){.payment-method-grid:has(.payment-method-card:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.payment-method-grid:has(.payment-method-card:nth-child(2)) .payment-method-card{height:100%}}
@media (max-width:850px){.purchase-heading{display:block}.purchase-heading .purchase-price{text-align:start;margin-top:14px}.payment-safety-card{position:static}.gateway-readiness{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-result-details{grid-template-columns:1fr}}
@media (max-width:520px){.payment-method-card{grid-template-columns:1fr;padding:17px}.payment-method-icon{width:44px;height:44px}.payment-method-actions,.payment-method-card form{grid-column:1}.gateway-readiness{grid-template-columns:1fr}}

/* Phase 06 — Vodafone Cash bridge */
.payment-method-card.wallet.online::before{background:#e60000}.payment-method-card.wallet.offline::before{background:var(--warning)}.payment-method-card.wallet{background:linear-gradient(135deg,color-mix(in srgb,#e60000 7%,var(--surface)) 0%,var(--surface) 70%)}.payment-method-card.wallet .payment-method-icon{color:#e60000}.wallet-order-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.wallet-order-layout>aside{position:sticky;top:105px}.wallet-order-card{border-inline-start:5px solid var(--warning)}.wallet-order-card.confirmed{border-inline-start-color:var(--success)}.wallet-order-card.rejected,.wallet-order-card.expired,.wallet-order-card.cancelled{border-inline-start-color:var(--danger)}.wallet-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.wallet-order-head h2{margin:8px 0 0}.wallet-order-head>strong{font-size:24px;color:var(--pd);white-space:nowrap}.wallet-timer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px;background:var(--surface-2);border:1px solid var(--line)}.wallet-timer small{color:var(--muted)}.wallet-timer strong{font-size:24px;direction:ltr;color:var(--warning)}.wallet-claim-form,.wallet-proof-form{margin-top:16px}.wallet-claim-form h2,.wallet-proof-form h2{margin-top:0}.wallet-proof-form>p{color:var(--muted);line-height:1.8}.wallet-history-row{border-inline-start:4px solid #e60000}@media(max-width:920px){.wallet-order-layout{grid-template-columns:1fr}.wallet-order-layout>aside{position:static}}@media(max-width:560px){.wallet-order-head{flex-direction:column}.wallet-order-head>strong{font-size:20px}.wallet-timer{align-items:flex-start;flex-direction:column}.payment-method-card.wallet form .field{margin-bottom:10px}}


/* =========================================================
   Public site simplification — home, about, academic years
   ========================================================= */
.public-site-header{background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 8px 28px rgba(13,28,45,.05)}
.public-site-nav{position:relative;min-height:76px}
.public-header-tools{display:flex;align-items:center;gap:8px;margin-inline-start:auto}
.public-nav-toggle{height:42px;padding:0 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--button-r);display:flex;align-items:center;gap:9px;font-weight:750;cursor:pointer;transition:.18s}
.public-nav-toggle:hover,.grades-dropdown>summary:hover{border-color:var(--p);color:var(--p);background:var(--ps)}
.public-nav-toggle b{font-size:18px;line-height:1}
.public-nav-panel{display:none;position:absolute;top:calc(100% - 4px);inset-inline-end:0;width:min(380px,calc(100vw - 24px));padding:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 60px rgba(16,32,52,.18);z-index:140}
.public-nav-panel.open{display:block;animation:publicMenuIn .18s ease}
@keyframes publicMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.public-nav-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line);color:var(--ink)}
.public-nav-list{display:grid;gap:5px}
.public-nav-list a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 13px;border:1px solid transparent;color:var(--ink);font-weight:650}
.public-nav-list a:hover{background:var(--ps);border-color:color-mix(in srgb,var(--p) 24%,var(--line));color:var(--p)}
.public-menu-logout{width:100%;margin-top:10px;padding:11px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));background:var(--surface);color:var(--danger);font-weight:700;cursor:pointer}
.grades-dropdown{position:relative}
.grades-dropdown>summary{list-style:none;height:42px;padding:0 13px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--button-r);display:flex;align-items:center;gap:7px;font-weight:700;cursor:pointer;user-select:none}
.grades-dropdown>summary::-webkit-details-marker{display:none}
.grades-dropdown[open]>summary{border-color:var(--p);color:var(--p);background:var(--ps)}
.grades-dropdown-menu{position:absolute;top:calc(100% + 9px);inset-inline-end:0;width:230px;padding:9px;background:var(--surface);border:1px solid var(--line);box-shadow:0 20px 50px rgba(16,32,52,.17);display:grid;gap:3px;z-index:150}
.grades-dropdown-menu a{padding:10px 11px;color:var(--ink);font-size:13px;font-weight:650;border:1px solid transparent}
.grades-dropdown-menu a:hover{color:var(--p);background:var(--ps);border-color:color-mix(in srgb,var(--p) 22%,var(--line))}
.grades-dropdown-menu .grades-all-link{margin-top:4px;border-top-color:var(--line);color:var(--p)}

.simple-home{min-height:calc(100dvh - 76px - 84px);display:grid;background:var(--bg)}
.simple-home-hero{position:relative;overflow:hidden;display:grid;place-items:center;padding:84px 0;min-height:calc(100dvh - 160px);background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--p) 9%,var(--surface)) 0,transparent 45%),linear-gradient(180deg,var(--surface),var(--bg))}
.simple-home-decoration{position:absolute;width:min(680px,82vw);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--p) 12%,transparent);border-radius:50%;opacity:.65}
.simple-home-decoration:before,.simple-home-decoration:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--p) 10%,transparent);border-radius:50%;inset:12%}
.simple-home-decoration:after{inset:28%;background:color-mix(in srgb,var(--p) 3%,transparent)}
.simple-home-content{position:relative;z-index:1;max-width:920px;text-align:center;display:flex;align-items:center;flex-direction:column}
.simple-home-logo{margin-bottom:24px}.simple-home-logo .brand-logo{width:150px;height:82px}
.simple-home-eyebrow{color:var(--p);font-size:12px;font-weight:800;letter-spacing:.03em;margin-bottom:13px}
.simple-home h1{margin:0;color:var(--ink);font-size:clamp(36px,6vw,70px);line-height:1.3;font-weight:600;text-wrap:balance}
.simple-home h1 strong{display:block;color:var(--p);font-size:1.08em;font-weight:800;margin-top:3px}
.simple-home p{margin:17px 0 0;color:var(--muted);font-size:clamp(16px,2vw,21px);font-weight:450}
.simple-home-actions{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:31px;flex-wrap:wrap}
.simple-home-actions .btn{min-width:168px;padding-inline:23px}
.simple-home-primary{box-shadow:0 15px 32px color-mix(in srgb,var(--p) 24%,transparent)}

.simple-footer{padding:24px 0}.footer-links{display:flex;gap:17px;align-items:center}.footer-links a:hover{color:var(--p)}
.public-simple-page{min-height:calc(100dvh - 150px)}
.simple-page-hero{padding:72px 0 62px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--p) 5%,var(--bg)))}
.simple-page-hero .container{max-width:920px;text-align:center}
.simple-page-hero span{color:var(--p);font-size:12px;font-weight:800}
.simple-page-hero h1{margin:8px 0 10px;color:var(--ink);font-size:clamp(38px,5vw,58px)}
.simple-page-hero p{max-width:760px;margin:0 auto;color:var(--muted);font-size:15px;line-height:2}
.simple-section-head{max-width:760px;margin:0 auto 30px;text-align:center}.simple-section-head>span{color:var(--p);font-weight:800;font-size:12px}.simple-section-head h2{font-size:clamp(28px,4vw,43px);color:var(--ink);margin:7px 0 10px}.simple-section-head p{color:var(--muted);margin:0}
.doctor-coming-card{max-width:760px;margin:auto;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:20px;padding:28px;background:var(--surface);border:1px dashed color-mix(in srgb,var(--p) 35%,var(--line));box-shadow:var(--shadow-sm)}
.doctor-coming-icon{width:76px;height:76px;display:grid;place-items:center;background:var(--ps);color:var(--p);font-size:30px;font-weight:300}
.doctor-coming-card h3{color:var(--ink);margin:0 0 5px}.doctor-coming-card p{color:var(--muted);margin:0}

.grade-directory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.grade-directory-card{position:relative;min-height:275px;padding:24px 18px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--p);display:flex;flex-direction:column;transition:.2s;box-shadow:var(--shadow-sm);overflow:hidden}
.grade-directory-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--p) 40%,var(--line));box-shadow:var(--shadow)}
.grade-directory-card>span{font-size:46px;line-height:1;color:color-mix(in srgb,var(--p) 35%,var(--line));font-weight:800;margin-bottom:35px}
.grade-directory-card h2{color:var(--ink);font-size:19px;margin:0 0 8px}.grade-directory-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.grade-directory-card small{display:block;color:var(--p);font-weight:700;margin-top:17px}.grade-directory-card>b{margin-top:auto;align-self:flex-end;color:var(--p);font-size:21px}
.grade-page-hero .simple-back-link{display:inline-flex;color:var(--muted);font-size:12px;margin-bottom:17px}.grade-page-hero .simple-back-link:hover{color:var(--p)}
.public-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.public-course-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:.2s}
.public-course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--p) 32%,var(--line))}
.public-course-media{position:relative;display:block;aspect-ratio:16/9;background:var(--surface-2);overflow:hidden;border-bottom:3px solid var(--p)}
.public-course-image,.public-course-media .thumbnail-fallback{width:100%;height:100%;object-fit:cover;display:grid;place-items:center;font-size:46px}
.public-course-media>span{position:absolute;top:10px;inset-inline-start:10px;background:rgba(12,25,39,.84);color:#fff;padding:5px 9px;font-size:11px;font-weight:750;backdrop-filter:blur(7px)}
.public-course-body{display:flex;flex:1;flex-direction:column;padding:19px}.public-course-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.public-course-body h2{font-size:20px;line-height:1.5;color:var(--ink);margin:9px 0 7px}.public-course-body>p{color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 18px}.public-course-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:12px}.public-course-price{display:flex;align-items:center;gap:9px}.public-course-price strong{color:var(--p);font-size:19px}.public-course-price del{color:var(--muted);font-size:12px}.public-course-price em{font-style:normal;color:var(--success);font-size:11px}.public-course-footer .btn{width:100%}.public-empty{grid-column:1/-1}

html[data-theme="dark"] .public-site-header{box-shadow:0 8px 28px rgba(0,0,0,.22)}
html[data-theme="dark"] .simple-home-hero{background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--p) 10%,var(--surface)) 0,transparent 45%),linear-gradient(180deg,var(--surface),var(--bg))}

@media(max-width:1050px){.grade-directory-grid{grid-template-columns:repeat(3,1fr)}.public-course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.public-site-nav{min-height:68px}.brand-logo{width:105px;height:54px}.public-nav-toggle span{display:none}.public-nav-toggle{width:40px;padding:0;justify-content:center}.grades-dropdown>summary{padding:0 10px}.simple-home{min-height:calc(100dvh - 68px)}.simple-home-hero{min-height:calc(100dvh - 135px);padding:62px 0}.simple-home-logo .brand-logo{width:125px;height:68px}.simple-home h1{font-size:40px}.simple-home-actions{display:grid;width:min(100%,340px)}.simple-home-actions .btn{width:100%}.simple-page-hero{padding:55px 0 48px}.grade-directory-grid{grid-template-columns:1fr 1fr}.public-course-grid{grid-template-columns:1fr}.footer-row{align-items:center}.footer-links{justify-content:center;flex-wrap:wrap}.doctor-coming-card{grid-template-columns:1fr;text-align:center}.doctor-coming-icon{margin:auto}}
@media(max-width:480px){.public-header-tools{gap:5px}.public-header-tools .preference-controls{gap:4px}.public-header-tools .icon-btn{width:34px;height:38px}.grades-dropdown>summary{font-size:12px;height:38px}.public-nav-toggle{height:38px;width:36px}.grades-dropdown-menu{position:fixed;top:68px;inset-inline:8px;width:auto}.public-nav-panel{position:fixed;top:68px;inset-inline:8px;width:auto}.simple-home h1{font-size:34px}.simple-home p{font-size:16px}.grade-directory-grid{grid-template-columns:1fr}.grade-directory-card{min-height:230px}.grade-directory-card>span{margin-bottom:23px}.simple-page-hero p{font-size:13px}}

/* =========================================================
   Right dashboard sidebar navigation
   ========================================================= */
@media (min-width:981px){
  :root{--dashboard-sidebar-width:268px}
  body:has(.ks-dashboard){overflow-x:hidden}
  .ks-dashboard{min-height:100vh;padding-right:var(--dashboard-sidebar-width)}
  .ks-dashboard-header,
  .ks-dashboard-header.is-scrolled{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:var(--dashboard-sidebar-width);
    height:100dvh;
    min-height:100dvh;
    border-bottom:0;
    border-left:3px solid #18b99a;
    box-shadow:-12px 0 34px rgba(0,0,0,.18);
    overflow:hidden;
  }
  .ks-dashboard-bar,
  .ks-dashboard-header.is-scrolled .ks-dashboard-bar{
    width:100%;
    height:100%;
    min-height:100%;
    margin:0;
    padding:18px 14px 15px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  .ks-dash-brand{
    min-height:82px;
    justify-content:center;
    padding:0 8px 15px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .ks-dash-brand .brand-logo,
  .ks-dashboard-header.is-scrolled .ks-dash-brand .brand-logo{
    width:150px;
    height:72px;
  }
  .ks-mobile-menu{display:none!important}
  .ks-dashboard-nav{
    display:flex;
    flex:1 1 auto;
    min-height:0;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
    padding:3px 2px 8px;
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:rgba(114,234,211,.42) transparent;
  }
  .ks-dashboard-nav::-webkit-scrollbar{display:block;width:5px}
  .ks-dashboard-nav::-webkit-scrollbar-thumb{background:rgba(114,234,211,.42);border-radius:999px}
  .ks-dashboard-nav a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:43px;
    width:100%;
    white-space:normal;
    padding:10px 13px;
    border:1px solid transparent;
    border-right:3px solid transparent;
    border-bottom-width:1px;
    border-radius:8px;
    color:#c8dce5;
    font-size:12px;
    font-weight:650;
    line-height:1.55;
    text-align:right;
    transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
  }
  html[dir="ltr"] .ks-dashboard-nav a{text-align:left;border-right-width:1px;border-left:3px solid transparent}
  .ks-dashboard-nav a:hover{
    color:#fff;
    background:rgba(255,255,255,.075);
    border-color:rgba(255,255,255,.10);
    transform:translateX(-2px);
  }
  html[dir="ltr"] .ks-dashboard-nav a:hover{transform:translateX(2px)}
  .ks-dashboard-nav a.active{
    color:#fff;
    background:linear-gradient(135deg,#16b99b,#11977f);
    border-color:rgba(114,234,211,.74);
    box-shadow:0 8px 18px rgba(0,0,0,.15);
  }
  .ks-mobile-logout{display:none!important}
  .ks-dashboard-tools{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    width:100%;
    padding-top:13px;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .ks-dashboard-tools .preference-controls{justify-content:center;gap:7px}
  .ks-dashboard-tools .icon-btn{width:44px;height:38px}
  .ks-user-card{
    width:100%;
    min-width:0;
    padding:8px 9px;
    border-radius:8px;
  }
  .ks-user-card>span:last-child{min-width:0}
  .ks-user-card strong{max-width:170px;font-size:11px}
  .ks-user-card small{font-size:9px}
  .ks-logout{width:100%;padding:10px 12px}
  .ks-dashboard-main{
    width:min(1460px,calc(100% - 38px));
    margin-inline:auto;
    padding-top:30px;
  }
}

/* Student enrolled courses */
.my-courses-grid{margin-top:18px}
.my-course-card .course-bottom{display:grid;gap:12px}
.my-course-progress{display:flex;align-items:center;justify-content:space-between;gap:12px}
.my-course-progress strong{font-size:15px;color:var(--primary,#16b99b)}
.my-course-card .progress{margin:0}
.my-course-card .btn{width:100%;justify-content:center}

/* Phase 06 — account security */
.security-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);align-items:start}.security-session-list{display:grid;gap:12px}.security-session{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.security-session>div{display:grid;gap:4px;min-width:0}.security-session small{display:block;word-break:break-word;color:var(--muted)}@media(max-width:850px){.security-grid{grid-template-columns:1fr}.security-session{align-items:flex-start;flex-direction:column}.security-session .btn{width:100%}}

/* Phase 07 v4 — simplified student Vodafone Cash checkout */
.simple-purchase-section,.wallet-simple-section{min-height:calc(100dvh - 150px);display:flex;align-items:center;padding-block:34px}
.simple-purchase-section .container,.wallet-simple-section .container{width:100%}
.simple-purchase-card,.wallet-simple-card{width:min(540px,100%);margin-inline:auto;text-align:center;padding:32px;border-top:0;box-shadow:0 22px 60px rgba(9,18,46,.12)}
.simple-purchase-icon{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;margin:0 auto 14px;background:color-mix(in srgb,var(--p) 12%,var(--surface));font-size:32px}
.simple-purchase-card h1,.wallet-simple-card h1{font-size:clamp(26px,5vw,38px);margin:10px 0 6px}
.simple-purchase-card>p,.wallet-simple-subject{color:var(--muted);margin:0 0 18px}
.simple-purchase-price{display:flex;justify-content:center;margin:22px 0}
.simple-pay-button{width:100%;min-height:58px;font-size:18px;margin-top:8px}
.simple-pay-note{display:block;color:var(--muted);margin-top:14px;line-height:1.7}
.simple-pay-back{display:inline-block;margin-top:16px;color:var(--muted);font-weight:700}
.simple-pay-status{padding:14px;border:1px solid var(--line);border-radius:16px;margin:18px 0;text-align:right}
.simple-pay-status p{margin:8px 0 0;color:var(--muted)}
.quick-wallet-modal{width:min(470px,100%);border-top:0}
.quick-wallet-modal .modal-head{align-items:flex-start}
.quick-wallet-modal .modal-head h2{margin:6px 0 0;font-size:26px}
.quick-wallet-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 22px}
.quick-wallet-summary>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--p) 6%)}
.quick-wallet-summary small{display:block;color:var(--muted);margin-bottom:5px}
.quick-wallet-summary strong{display:block;font-size:16px}
.quick-wallet-modal .field{margin-bottom:16px;text-align:right}
.quick-wallet-modal input{font-size:18px;direction:ltr;text-align:left}
.wallet-simple-card{position:relative;text-align:center}
.wallet-simple-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.wallet-simple-head .icon-btn{text-decoration:none}
.wallet-simple-amount{display:block;font-size:clamp(34px,8vw,54px);font-weight:900;color:var(--ink);margin:18px 0 24px}
.wallet-transfer-label{font-weight:800;color:var(--muted);margin-bottom:9px}
.wallet-number-box{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 94%,var(--p) 6%)}
.wallet-number-box strong{flex:1;font-size:clamp(25px,7vw,38px);letter-spacing:1px;direction:ltr;text-align:center;color:var(--ink)}
.wallet-number-box .btn{flex:0 0 auto}
.wallet-simple-meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:16px 0;color:var(--muted)}
.wallet-auto-note{padding:13px 15px;border-radius:14px;background:color-mix(in srgb,var(--p) 8%,var(--surface));color:var(--ink);line-height:1.75;margin:0 0 16px}
.wallet-simple-steps{display:grid;grid-template-columns:34px 1fr;gap:8px 10px;text-align:right;margin:20px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.wallet-simple-steps span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--p) 45%,var(--line));color:var(--p);font-weight:900}
.wallet-simple-steps p{margin:3px 0;color:var(--muted);line-height:1.65}
.wallet-timer.simple{display:flex;align-items:center;justify-content:center;gap:10px;margin:15px 0;padding:11px 14px;border-radius:14px;border:1px solid var(--line)}
.wallet-timer.simple strong{font-size:22px;direction:ltr}
.wallet-cancel-link{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer;padding:10px 14px}
.wallet-cancel-link:hover{color:var(--danger)}
.wallet-last4-compact{padding:15px;border:1px solid var(--line);border-radius:16px;text-align:right;margin:16px 0}
.wallet-last4-compact label{display:block;font-weight:800;margin-bottom:8px}
.wallet-last4-compact>div{display:flex;gap:8px}
.wallet-last4-compact input{flex:1;min-width:0;direction:ltr;text-align:center;font-size:20px;letter-spacing:4px}
.wallet-last4-compact small{display:block;margin-top:8px;color:var(--muted)}
.wallet-success-card{padding-block:42px}
.wallet-success-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:rgba(31,174,106,.12);color:#168653;font-size:42px;font-weight:900}
@media(max-width:560px){
  .simple-purchase-section,.wallet-simple-section{padding-block:14px;align-items:flex-start}
  .simple-purchase-card,.wallet-simple-card{padding:22px 18px;border-radius:20px}
  .quick-wallet-summary{grid-template-columns:1fr}
  .wallet-number-box{align-items:stretch;flex-direction:column}
  .wallet-number-box .btn{width:100%}
}

/* Phase 7 V6 — Natega-style focused Vodafone Cash checkout */
.payment-checkout-backdrop{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;overflow-y:auto;
  background:rgba(15,23,42,.58);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.payment-checkout-modal{
  position:relative;display:flex;flex-direction:column;width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:hidden;
  border:1px solid #dfe5f0;border-radius:24px;background:#fff!important;color:#172033!important;box-shadow:0 30px 90px rgba(15,23,42,.28)
}
.payment-checkout-close{
  position:absolute;inset-block-start:16px;inset-inline-end:16px;z-index:2;display:grid;place-items:center;width:36px;height:36px;
  padding:0;border:0;border-radius:50%;background:#f1f5f9!important;color:#334155!important;font:800 24px/1 inherit;text-decoration:none;cursor:pointer
}
.payment-checkout-modal>header{flex:0 0 auto;padding:30px 34px 24px;text-align:center;border-bottom:1px solid #edf0f5;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)!important}
.payment-checkout-modal>header>span{display:inline-flex;padding:5px 10px;border:1px solid #cbd9ff;border-radius:999px;color:#2753bd;background:#f3f7ff;font-size:12px;font-weight:900}
.payment-checkout-modal h2{margin:10px 0 4px;font-size:27px;color:#172033!important}
.payment-checkout-modal>header p{margin:0;color:#64748b!important}
.payment-checkout-recipient{display:grid;justify-items:center;gap:2px;margin-top:14px}
.payment-checkout-recipient small,.payment-checkout-recipient span{color:#64748b!important;font-size:12px}
.payment-checkout-recipient strong{color:#172033!important;font-size:clamp(27px,6vw,38px);line-height:1.15;letter-spacing:1px;overflow-wrap:anywhere}
.payment-checkout-recipient-number{display:flex;align-items:center;justify-content:center;gap:9px;direction:ltr}
.payment-checkout-recipient-number button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #cbd5e1;border-radius:11px;color:#20439d;background:#f8faff;cursor:pointer}
.payment-checkout-recipient-number button:hover,.payment-checkout-recipient-number button.copied{background:#eaf1ff}
.payment-checkout-recipient-number button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.payment-checkout-form,.payment-checkout-waiting{display:grid;gap:18px;min-height:0;padding:26px 30px 30px;overflow-y:auto;overscroll-behavior:contain;background:#fff!important;color:#172033!important}
.payment-checkout-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.payment-checkout-waiting .payment-checkout-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.payment-checkout-summary>div{min-width:0;padding:14px;border:1px solid #dbe4f3;border-radius:14px;background:#f8faff!important;color:#172033!important}
.payment-checkout-summary small,.payment-checkout-summary span{display:block;color:#64748b!important;font-size:12px}
.payment-checkout-summary strong{display:block;margin-top:5px;overflow-wrap:anywhere;font-size:17px;color:#172033!important}
.payment-checkout-waiting .payment-checkout-summary>div:first-child strong{font-size:clamp(22px,4vw,32px);letter-spacing:.5px}
.payment-checkout-form>label{display:grid;gap:7px;font-weight:900;color:#172033!important}
.payment-checkout-form>label input{min-height:48px;width:100%;border:1px solid #cfd8e7!important;border-radius:12px;background:#fff!important;color:#172033!important;padding:11px 13px;font:inherit}
.payment-checkout-form>label small{color:#64748b!important;font-weight:500}
.payment-checkout-submit{display:grid;place-items:center;min-height:50px;padding:0 18px;border:0;border-radius:12px;background:linear-gradient(135deg,#315bd6,#20439d)!important;color:#fff!important;font:inherit;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 10px 22px rgba(49,91,214,.25)}
.payment-checkout-submit:disabled{opacity:.62;cursor:wait}
.payment-checkout-cancel{display:grid;place-items:center;width:100%;min-height:48px;padding:0 16px;border:1px solid #fecaca;border-radius:12px;background:#fff!important;color:#b91c1c!important;font:inherit;font-weight:900;cursor:pointer}
.payment-checkout-cancel:hover{background:#fff1f2!important}.payment-checkout-cancel:disabled{opacity:.6;cursor:wait}
.payment-checkout-cancel-note{display:block;margin-top:-10px;text-align:center;color:#64748b!important;font-size:11px}
.payment-checkout-link{width:100%}
.payment-checkout-steps{display:grid;gap:12px;margin:4px 0 0;padding:16px;border-radius:15px;background:#f8faff!important;list-style:none;color:#172033!important}
.payment-checkout-steps li{display:flex;align-items:center;gap:11px}
.payment-checkout-steps li>b{flex:0 0 28px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #bed0ff;border-radius:50%;color:#315bd6;background:#fff}
.payment-checkout-steps li span,.payment-checkout-steps li small{display:block}
.payment-checkout-steps li small{margin-top:2px;color:#64748b!important}
.payment-checkout-status{display:flex;align-items:center;justify-content:space-between;gap:12px}
.payment-checkout-status>span{padding:7px 11px;border-radius:999px;font-weight:900}
.payment-checkout-status>span.online{color:#166534;background:#dcfce7}
.payment-checkout-status>span.offline{color:#991b1b;background:#fee2e2}
.payment-checkout-status>strong{direction:ltr;color:#20439d!important;font-size:24px;letter-spacing:1px}
.payment-checkout-status>strong.urgent{color:#dc2626!important}
.payment-checkout-hint{margin:0;padding:12px;border-radius:11px;color:#1e40af!important;background:#eff6ff!important;text-align:center;line-height:1.7}
.payment-checkout-hint.offline-hint{color:#991b1b!important;background:#fff1f2!important}
.payment-checkout-transaction-claim{display:grid;grid-template-columns:1fr;gap:11px;margin-top:0;align-items:stretch}
.payment-checkout-transaction-claim>label{display:grid;gap:7px;color:#172033!important;font-weight:900}
.payment-checkout-transaction-claim>label input{width:100%;min-height:50px;padding:11px 14px;border:2px solid #cbd5e1!important;border-radius:12px;outline:none;color:#172033!important;background:#fff!important;font:inherit;font-size:18px;font-weight:800;text-align:left}
.payment-checkout-transaction-claim>label input:focus{border-color:#ef2635!important;box-shadow:0 0 0 4px rgb(239 38 53 / 10%)}
.payment-checkout-transaction-claim>label small{color:#64748b!important;font-size:12px;font-weight:500;line-height:1.65}
.payment-checkout-transaction-claim>button{width:100%;min-height:52px;background:linear-gradient(135deg,#ef667b,#e84e67)!important}
.payment-checkout-detected{display:block;padding:12px;border-radius:11px;color:#166534!important;background:#dcfce7!important;font-weight:900;text-align:center}
.payment-checkout-review{display:block;padding:12px;border-radius:11px;color:#92400e!important;background:#fef3c7!important;font-weight:800;text-align:center}
.payment-checkout-order-state{justify-self:start;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}
.payment-checkout-order-state.waiting{color:#92400e;background:#fef3c7}.payment-checkout-order-state.detected{color:#166534;background:#dcfce7}.payment-checkout-order-state.review{color:#92400e;background:#ffedd5}.payment-checkout-order-state.offline{color:#991b1b;background:#fee2e2}
.payment-checkout-modal .platform-form-error{margin:0;padding:12px;border-radius:11px;color:#991b1b!important;background:#fee2e2!important;border:0!important}
.payment-checkout-background{min-height:70dvh}.payment-checkout-background .panel{max-width:760px;margin:auto;filter:saturate(.75)}
.payment-checkout-success .payment-checkout-detected{font-size:18px;padding:18px}
:root.dark .payment-checkout-modal,:root.dark .payment-checkout-modal>header,:root.dark .payment-checkout-form,:root.dark .payment-checkout-waiting{background:#fff!important;color:#172033!important}
:root.dark .payment-checkout-summary>div,:root.dark .payment-checkout-steps{background:#f8faff!important;border-color:#dbe4f3!important;color:#172033!important}
:root.dark .payment-checkout-form>label input,:root.dark .payment-checkout-transaction-claim>label input{background:#fff!important;border-color:#cfd8e7!important;color:#172033!important}
:root.dark .payment-checkout-close{background:#f1f5f9!important;color:#334155!important}
@media(max-width:600px){
  .payment-checkout-backdrop{align-items:end;padding:0}.payment-checkout-modal{width:100%;max-height:96dvh;overflow:hidden;border-radius:22px 22px 0 0}.payment-checkout-modal>header{padding:25px 22px 20px}.payment-checkout-form,.payment-checkout-waiting{padding:21px 18px 25px}.payment-checkout-waiting .payment-checkout-summary{grid-template-columns:1fr 1fr}.payment-checkout-payer-phone{grid-column:1/-1}.payment-checkout-recipient strong{font-size:30px}
}

/* Phase 07 V16 — review-first wallet checkout */
.payment-review-checkout .payment-checkout-waiting{padding-top:22px}
.review-first-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.payment-review-submit-form{display:grid;gap:16px;margin-top:18px;text-align:right}
.payment-review-field{display:grid;gap:8px;font-weight:800;color:var(--ink)}
.payment-review-field input[type="text"],.payment-review-field input:not([type]){width:100%}
.payment-review-field input[type="file"]{width:100%;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit}
.payment-review-field small{font-weight:500;color:var(--muted);line-height:1.7}
.payment-proof-upload{padding:14px;border:1px dashed color-mix(in srgb,var(--p) 40%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--p) 4%,var(--surface))}
.payment-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.payment-review-actions .payment-checkout-cancel{margin:0;min-height:54px}
.payment-review-submitted .payment-checkout-detected{line-height:1.9}
@media(max-width:640px){.review-first-summary,.payment-review-actions{grid-template-columns:1fr}.payment-review-checkout .payment-checkout-recipient-number strong{font-size:clamp(28px,8vw,44px)}}

/* Phase 07 V17 — restore the classic white wallet gateway while keeping review-first verification */
.payment-old-gateway .payment-review-field{color:#172033!important}
.payment-old-gateway .payment-review-field input:not([type]),
.payment-old-gateway .payment-review-field input[type="text"],
.payment-old-gateway .payment-review-field input[type="file"]{background:#fff!important;color:#172033!important;border-color:#cfd8e7!important}
.payment-old-gateway .payment-review-field small{color:#64748b!important}
.payment-old-gateway .payment-proof-upload{background:#f8faff!important;border-color:#cbd9e8!important}
.payment-old-gateway .payment-old-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.payment-old-gateway .payment-old-summary{grid-template-columns:1fr 1fr}.payment-old-gateway .payment-checkout-payer-phone{grid-column:1/-1}}

/* Phase 07 V18: purchase acknowledgement and pending-course state */
.course-purchase-pending-note{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 32%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--warning) 8%,var(--surface));color:var(--ink)}
.course-purchase-pending-check{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--warning) 18%,var(--surface));color:var(--warning);font-weight:1000;font-size:18px}
.course-purchase-pending-note div{display:grid;gap:1px}.course-purchase-pending-note strong{font-size:12px}.course-purchase-pending-note small{font-size:10px;color:var(--muted);line-height:1.5}
.course-review-button:disabled{opacity:1;cursor:default;color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,var(--line));background:color-mix(in srgb,var(--warning) 7%,var(--surface))}
.payment-review-success-box{min-height:360px;padding:54px 32px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;background:#fff;color:#172033;border-radius:22px}
.payment-review-success-box h2{margin:4px 0 0;font-size:29px;color:#172033}.payment-review-success-box p{margin:0;font-size:18px;font-weight:900;color:#16835f}.payment-review-success-box small{max-width:430px;color:#64748b;line-height:1.8}
.payment-review-success-check{width:94px;height:94px}.payment-review-success-check svg{width:100%;height:100%;overflow:visible}.payment-review-success-check circle{fill:#ecfdf5;stroke:#20a46b;stroke-width:2;stroke-dasharray:151;stroke-dashoffset:151;animation:paymentSuccessCircle .55s ease-out forwards}.payment-review-success-check path{fill:none;stroke:#16835f;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:paymentSuccessTick .38s .48s ease-out forwards}.payment-review-success-check{animation:paymentSuccessPop .45s .35s cubic-bezier(.2,.9,.3,1.4) both}
@keyframes paymentSuccessCircle{to{stroke-dashoffset:0}}@keyframes paymentSuccessTick{to{stroke-dashoffset:0}}@keyframes paymentSuccessPop{0%{transform:scale(.78);opacity:.45}100%{transform:scale(1);opacity:1}}
@media(max-width:560px){.payment-review-success-box{min-height:300px;padding:42px 22px}.payment-review-success-box h2{font-size:25px}.payment-review-success-box p{font-size:16px}}

/* Phase 08 — simplified student experience + secure account verification */
.ks-dashboard-nav a{position:relative}.nav-unread-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-inline-start:7px;border-radius:999px;background:#e11d48;color:#fff;font-size:11px;line-height:1;font-weight:900;box-shadow:0 0 0 2px var(--surface)}
.student-info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.student-info-list{display:grid;gap:12px}.student-info-list>div,.account-details>div{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,var(--p) 4%)}.student-info-list small{color:var(--muted)}.student-info-list strong{font-size:17px}.last-course-card{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}.last-course-image{width:120px;height:82px;object-fit:cover;border-radius:14px}.last-course-card>div{display:grid;gap:8px}.last-course-card h3,.last-course-card p{margin:0}.last-course-card .btn{justify-self:start}.subject-continue-simple{display:flex;align-items:center;justify-content:flex-end}.student-simple-lecture .subject-lecture-title{align-items:center}.student-simple-lecture .subject-lecture-body{gap:8px}
.form-inline-message{min-height:20px;margin:10px 0;font-size:13px;line-height:1.7}.success-text{color:#15803d}.danger-text{color:#b91c1c}.account-reauth-modal,.phone-verify-modal{max-width:520px}.verify-success-icon{width:78px;height:78px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:#dcfce7;color:#15803d;font-size:42px;font-weight:1000}
@media(max-width:760px){.student-info-grid{grid-template-columns:1fr}.last-course-card{grid-template-columns:92px 1fr}.last-course-image{width:92px;height:72px}.subject-continue-simple{justify-content:flex-start}}
.phone-link-callout{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.phone-link-callout p{margin:0 0 10px;line-height:1.8}

/* V25 — simplified doctor content workspace */
.content-control-bar{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(220px,1fr) auto;gap:16px;align-items:end;margin-bottom:18px}
.content-control-bar .field{margin:0}
.content-subject-select select{width:100%;min-height:46px}
.content-current-subject{display:flex;align-items:center;gap:11px;min-width:0;align-self:center}
.content-current-subject .subject-heading-thumbnail{width:78px;height:50px;flex:0 0 78px}
.content-current-subject strong,.content-current-subject small{display:block}
.content-current-subject strong{color:var(--ink);font-size:15px}
.content-current-subject small{color:var(--muted);font-size:10px;margin-top:3px}
.content-primary-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.content-lectures-panel,.content-files-panel{margin-bottom:18px}
.simple-lecture-list{margin-top:12px}
.simple-lecture-item{grid-template-columns:76px minmax(0,1fr) auto auto!important}
.auto-duration-note{display:block;margin-top:7px;line-height:1.6;color:var(--muted)}
.content-editor-modal .advanced-box{margin-top:14px}
.manage-lecture-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:var(--surface-2);border:1px solid var(--line);margin:16px 0 10px}
.manage-lecture-actions .checkbox-row{margin:0}
.manage-lecture-list{display:grid;gap:8px;max-height:58vh;overflow:auto;padding-inline-end:3px}
.manage-lecture-row{display:grid;grid-template-columns:26px 34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);background:var(--surface-2)}
.manage-lecture-position{width:30px;height:30px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font-weight:900;color:var(--ink)}
.manage-lecture-row strong{color:var(--ink);font-size:12px}
@media(max-width:980px){.content-control-bar{grid-template-columns:1fr 1fr}.content-primary-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:700px){.content-control-bar{grid-template-columns:1fr}.content-primary-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.content-primary-actions .btn{justify-content:center}.simple-lecture-item{grid-template-columns:68px minmax(0,1fr)!important}.simple-lecture-item>.status,.simple-lecture-item>.inline-actions{grid-column:2}.manage-lecture-actions{align-items:stretch;flex-direction:column}.manage-lecture-row{grid-template-columns:24px 32px minmax(0,1fr)}.manage-lecture-row>.status,.manage-lecture-row>.inline-actions{grid-column:3;justify-self:start}}
@media(max-width:460px){.content-primary-actions{grid-template-columns:1fr}.content-current-subject .subject-heading-thumbnail{width:66px;height:44px;flex-basis:66px}}

/* Content workspace V26: keep the main screen intentionally simple. */
.content-workspace-v26{display:grid;gap:16px}
.content-toolbar-v26{margin-bottom:0}
.content-subject-strip-v26{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr) auto;gap:16px;align-items:end}
.content-subject-select-v26{margin:0}
.content-subject-select-v26 select{width:100%;min-height:48px}
.content-subject-summary-v26{display:flex;align-items:center;gap:12px;min-height:48px}
.content-subject-summary-v26 .subject-heading-thumbnail{width:72px;height:48px;object-fit:cover;border-radius:10px;flex:0 0 72px}
.content-subject-summary-v26>div{display:grid;gap:3px;min-width:0;flex:1}
.content-subject-summary-v26 strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.content-subject-summary-v26 small{color:var(--muted)}
.content-main-actions-v26{display:flex;gap:8px;align-items:center;justify-content:flex-end;white-space:nowrap}
.content-main-actions-v26 .btn{min-height:48px}
.content-lectures-v26{padding-bottom:8px}
.content-lecture-list-v26{display:grid;gap:8px;margin-top:10px}
.content-lecture-row-v26{display:grid;grid-template-columns:42px 64px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 97%,var(--p) 3%)}
.content-lecture-number-v26{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--p) 12%,transparent);font-weight:800;color:var(--p)}
.content-lecture-row-v26 .lecture-admin-thumbnail{width:64px;height:44px;object-fit:cover;border-radius:9px}
.content-lecture-actions-v26{display:flex;gap:6px;align-items:center}
.content-collapsible-v26{padding:0;overflow:hidden}
.content-collapsible-v26>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font-weight:800;user-select:none}
.content-collapsible-v26>summary::-webkit-details-marker{display:none}
.content-collapsible-v26>summary b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--p) 12%,transparent);color:var(--p);font-size:13px}
.content-collapsible-v26[open]>summary{border-bottom:1px solid var(--line)}
.content-collapsible-body-v26{padding:14px 18px 18px}
.content-collapsible-head-v26{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.content-collapsible-head-v26 small{color:var(--muted)}
.content-tools-v26{display:flex;gap:8px;flex-wrap:wrap}
.auto-duration-note.success-text{color:var(--success,#15966b);font-weight:700}
.auto-duration-note.danger-text{color:var(--danger,#d64045);font-weight:700}
@media(max-width:980px){
  .content-subject-strip-v26{grid-template-columns:1fr 1fr}
  .content-main-actions-v26{grid-column:1/-1;justify-content:stretch}
  .content-main-actions-v26 .btn{flex:1}
}
@media(max-width:720px){
  .content-subject-strip-v26{grid-template-columns:1fr}
  .content-main-actions-v26{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .content-lecture-row-v26{grid-template-columns:38px 54px minmax(0,1fr)}
  .content-lecture-row-v26 .lecture-admin-thumbnail{width:54px;height:42px}
  .content-lecture-row-v26>.status,.content-lecture-actions-v26{grid-column:3;justify-self:start}
  .content-collapsible-head-v26{align-items:flex-start;flex-direction:column}
}
@media(max-width:460px){
  .content-main-actions-v26{grid-template-columns:1fr}
  .content-subject-summary-v26 .status{display:none}
  .content-lecture-row-v26{grid-template-columns:36px minmax(0,1fr)}
  .content-lecture-row-v26 .lecture-admin-thumbnail{display:none}
  .content-lecture-row-v26>.lesson-info,.content-lecture-row-v26>.status,.content-lecture-actions-v26{grid-column:2}
  .content-lecture-actions-v26{width:100%}
  .content-lecture-actions-v26 .btn{flex:1}
  .content-tools-v26{display:grid;grid-template-columns:1fr}
}
/* V27 student experience cleanup */
.simple-home{min-height:auto}
.simple-home-hero{min-height:auto;padding:58px 0 62px}
.student-welcome-page{min-height:calc(100dvh - 150px);display:grid;place-items:center;padding:38px 16px;background:var(--bg)}
.student-welcome-card{width:min(680px,100%);background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:42px;text-align:center;box-shadow:var(--shadow)}
.student-welcome-card>span{display:inline-block;color:var(--p);font-weight:800;margin-bottom:8px}
.student-welcome-card h1{font-size:clamp(26px,4vw,42px);line-height:1.55;margin:0 0 12px}.student-welcome-card h1 strong{color:var(--p)}
.student-welcome-card p{color:var(--muted);margin:0 0 24px}.welcome-check{margin:0 auto 14px}
.ks-history-back{flex:0 0 auto}
.my-courses-last{margin-bottom:16px}
@media(max-width:760px){.simple-home-hero{min-height:auto;padding:42px 0}.student-welcome-card{padding:28px 18px}.ks-history-back{display:inline-flex}}

/* V27 content folders + reusable media library */
.content-workspace-v27{display:grid;gap:16px}.content-toolbar-v27{align-items:center}.content-subject-strip-v27{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) auto;gap:16px;align-items:end}.content-subject-summary-v27{display:flex;align-items:center;gap:12px;min-height:64px}.content-subject-summary-v27>div{display:grid;gap:4px}.content-subject-summary-v27 small{color:var(--muted)}.content-main-actions-v27{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.content-tree-v27{display:grid;gap:12px}.content-folder-v27,.content-unfiled-v27{border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 92%,transparent);overflow:hidden;margin-inline-start:calc(var(--folder-depth,0)*18px)}.content-folder-head-v27{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.content-folder-head-v27>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.content-folder-head-v27 small{color:var(--muted)}.content-folder-icon{font-size:1.15rem}.content-folder-body-v27{display:grid;gap:8px;padding:10px}.content-lecture-row-v27{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.content-lecture-actions-v27{display:flex;gap:6px;flex-wrap:wrap}.media-library-grid-v27{display:grid;gap:10px;max-height:55vh;overflow:auto}.media-asset-card-v27{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px}.media-asset-card-v27>div{display:grid;gap:4px}.media-asset-card-v27 small{color:var(--muted)}.content-transfer-actions-v27{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.student-folder-tree{display:grid;gap:10px}.student-folder{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-inline-start:calc(var(--folder-depth,0)*14px)}.student-folder-title{display:flex;gap:8px;align-items:center;padding:10px 12px;background:color-mix(in srgb,var(--accent) 8%,var(--card));font-weight:800}.student-folder-body{display:grid;gap:8px;padding:8px}.student-folder .lecture-row{margin:0}
@media(max-width:900px){.content-subject-strip-v27{grid-template-columns:1fr}.content-main-actions-v27{justify-content:stretch}.content-main-actions-v27 .btn{flex:1 1 140px}.content-lecture-row-v27{grid-template-columns:auto minmax(0,1fr);}.content-lecture-row-v27>.status,.content-lecture-actions-v27{grid-column:2}.content-folder-head-v27{align-items:flex-start;flex-direction:column}.content-folder-head-v27>.inline-actions{width:100%;overflow:auto}.content-folder-v27{margin-inline-start:calc(var(--folder-depth,0)*8px)}}
.curriculum-folder{margin-inline-start:calc(var(--folder-depth,0)*10px);border-inline-start:2px solid var(--line);padding-inline-start:6px}.curriculum-folder-title{font-size:.85rem;font-weight:800;color:var(--muted);padding:8px 6px}
/* V28 — lesson exams */
.lecture-exam-card{margin:18px 0;border-inline-start:4px solid var(--p)}
.lecture-exam-card .panel-head{align-items:flex-start}.lecture-exam-card p{color:var(--muted);line-height:1.9}
.lesson-exam-inline{color:var(--p);font-weight:700}.exam-essay-hint{margin-top:12px}.exam-options-wrap.hidden,.exam-essay-hint.hidden{display:none!important}
.essay-answer-preview{white-space:pre-wrap;margin-top:8px;line-height:1.8}.result-ring.pending{border-color:var(--warning);color:var(--warning);font-size:42px}
@media(max-width:760px){.lecture-exam-card .panel-head{display:grid;gap:10px}.content-lecture-actions-v27{flex-wrap:wrap}}
