:root{--navy:#0b2030;--navy2:#143448;--ink:#132e42;--muted:#607582;--line:#e0e9ed;--soft:#f5f8fa;--aqua:#63dec5;--aqua2:#83ebd6;--blue:#2d6cff;--gold:#e2b95b;--white:#fff;--danger:#ce3f4f;--success:#0f9f73;--shadow:0 4px 20px rgba(13,42,59,.045);--radius:18px;--sidebar:252px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#edf4f7}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#031827,#08283e 68%,#031827);color:white;padding:20px 16px;display:flex;flex-direction:column;box-shadow:10px 0 30px rgba(0,0,0,.08)}.brand{display:block;padding:4px 4px 22px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px}.brand img{width:210px;max-width:100%;height:74px;object-fit:contain;object-position:left center}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-link{display:flex;align-items:center;gap:12px;color:#cce0e9;text-decoration:none;padding:12px 14px;border-radius:12px;font-weight:700;font-size:14px}.nav-link:hover,.nav-link.active{background:rgba(19,215,200,.12);color:white}.nav-dot{width:8px;height:8px;border:2px solid var(--aqua);border-radius:50%}.nav-link.active .nav-dot{background:var(--aqua);box-shadow:0 0 0 5px rgba(19,215,200,.12)}.admin-switch{margin:18px 0 0;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.admin-switch a{color:var(--aqua);font-weight:800;text-decoration:none;font-size:13px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:16px}.mini-user{display:flex;gap:10px;align-items:center}.mini-user .avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--aqua),#2d87ff);border-radius:50%;display:grid;place-items:center;color:#042033;font-weight:900}.mini-user strong,.mini-user small{display:block}.mini-user small{color:#89a8ba;margin-top:2px}.logout{color:#a9c1ce;font-size:12px;display:inline-block;margin:12px 0 0;text-decoration:none}.main{width:calc(100% - var(--sidebar));margin-left:var(--sidebar);display:flex;min-height:100vh;flex-direction:column}.topbar{height:94px;background:white;display:flex;align-items:center;justify-content:space-between;padding:18px 34px;border-bottom:1px solid #e6eef2;position:sticky;top:0;z-index:25}.topbar h1{margin:2px 0 0;font-size:24px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#7c8a98;font-weight:900}.aqua{color:var(--aqua)}.topbar-actions{display:flex;gap:10px}.ghost-btn,.btn,.btn-outline,.btn-danger{border:0;border-radius:11px;padding:11px 16px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-size:14px}.ghost-btn,.btn-outline{background:#eff5f8;color:#17344a}.btn{background:linear-gradient(135deg,var(--aqua),#42edbe);color:#032338;box-shadow:0 8px 22px rgba(19,215,200,.25)}.btn-outline{background:white;border:1px solid #cbd9e2}.btn-danger{background:#fff0f1;color:var(--danger)}.btn-sm{padding:8px 11px;border-radius:9px;font-size:12px}.menu-btn{display:none;background:transparent;border:0;font-size:24px}.content{padding:30px 34px;flex:1}.app-footer{display:flex;justify-content:space-between;color:#7e8f9d;font-size:12px;padding:20px 34px}.grid{display:grid;gap:20px}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:white;border:1px solid #e3ebef;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card.flat{box-shadow:none}.card h2,.card h3{margin-top:0}.stat{padding:20px;background:white;border:1px solid #e4edf2;border-radius:18px}.stat .label{font-size:12px;color:#7a8b99;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.stat .value{font-size:30px;font-weight:900;margin:6px 0;color:#0c243b}.stat .delta{font-size:12px;color:var(--success)}.hero{background:radial-gradient(circle at 85% 10%,rgba(19,215,200,.18),transparent 28%),linear-gradient(135deg,#04192a,#0a3650);color:white;border-radius:24px;padding:30px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero h2{font-size:31px;max-width:700px;margin:7px 0 12px}.hero p{color:#c7dbe4;max-width:740px;line-height:1.65}.hero .hero-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.progress-track{height:9px;background:#e2edf1;border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--aqua),#2d90ff);border-radius:999px}.progress-meta{display:flex;justify-content:space-between;font-size:12px;margin:8px 0;color:#69808e}.hero .progress-track{background:rgba(255,255,255,.15);max-width:600px}.hero .progress-meta{color:#c5dce5;max-width:600px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:30px 0 15px}.section-title h2{margin:0;font-size:21px}.section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.course-card{background:white;border-radius:20px;overflow:hidden;border:1px solid #e1eaee;box-shadow:var(--shadow)}.course-cover{height:150px;background:linear-gradient(135deg,#04283e,#07506b);display:flex;align-items:end;padding:20px;color:white;position:relative;overflow:hidden}.course-cover:after{content:"";position:absolute;width:170px;height:170px;border:26px solid rgba(19,215,200,.15);border-radius:50%;right:-50px;top:-50px}.course-cover h3{font-size:20px;margin:0;position:relative;z-index:2}.course-body{padding:18px}.course-meta{display:flex;gap:12px;color:#6e8090;font-size:12px;margin:12px 0}.module-list{display:flex;flex-direction:column;gap:12px}.module-item{background:white;border:1px solid #dfe9ee;border-radius:16px;overflow:hidden}.module-head{padding:16px 18px;display:flex;align-items:center;gap:14px}.module-number{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#e4fbf7;color:#087968;font-weight:900}.module-title{flex:1}.module-title strong{display:block}.module-title small{color:#748591}.lesson-row{display:flex;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid #edf2f5;text-decoration:none;color:#163148}.lesson-row:hover{background:#f8fbfc}.lesson-icon{width:34px;height:34px;border-radius:10px;background:#eff5f8;display:grid;place-items:center;color:#067b70}.lesson-name{flex:1}.lesson-name span{display:block;font-weight:750}.lesson-name small{color:#8293a0}.status-pill,.pill{font-size:12px;padding:5px 8px;border-radius:999px;font-weight:800}.pill{background:#eff5f8;color:#4f6574}.status-pill.done{background:#e4fbf2;color:#087b57}.status-pill.next{background:#e8f0ff;color:#2357be}.announcement{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:15px;background:#f3fbfa;border:1px solid #d4f1ec}.announcement .badge{background:var(--aqua);color:#053349;border-radius:10px;padding:7px 9px;font-weight:900}.announcement h4{margin:0 0 5px}.announcement p{margin:0;color:#5c7180;line-height:1.5}.event-row{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #edf1f3}.event-date{width:58px;height:58px;border-radius:14px;background:#071f33;color:white;display:grid;place-items:center;text-align:center;font-weight:900;line-height:1}.event-date small{display:block;color:var(--aqua);font-size:12px;margin-top:4px}.event-info{flex:1}.event-info strong{display:block}.event-info small{color:#778a97}.flash{padding:13px 15px;border-radius:12px;margin-bottom:16px;font-weight:700}.flash.success{background:#e7faf2;color:#0d7659}.flash.warning{background:#fff6dd;color:#815e00}.flash.error{background:#fff0f0;color:#a63742}.table-wrap{overflow:auto;background:white;border:1px solid #e1eaee;border-radius:18px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px 16px;border-bottom:1px solid #edf1f4;font-size:13px;vertical-align:top}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#758895;background:#f8fbfc}.table tr:last-child td{border-bottom:0}.form-card{background:white;border:1px solid #dfebef;border-radius:18px;padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group.full{grid-column:1/-1}.form-group label{font-size:12px;font-weight:900;color:#345064}.input,.select,.textarea{width:100%;border:1px solid #ccd9e2;background:white;border-radius:11px;padding:11px 12px;font:inherit;color:#17344a;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#46cfc5;box-shadow:0 0 0 3px rgba(19,215,200,.12)}.textarea{min-height:120px;resize:vertical}.helper{font-size:12px;color:#7d8e9b}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab{padding:9px 12px;border-radius:10px;background:#eff4f7;text-decoration:none;color:#375264;font-size:12px;font-weight:800}.tab.active{background:#071f33;color:white}.lesson-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.lesson-sidebar{background:white;border:1px solid #dfe8ed;border-radius:18px;position:sticky;top:115px;max-height:calc(100vh - 140px);overflow:auto}.lesson-sidebar .course-title{padding:18px;border-bottom:1px solid #e8eff2}.lesson-sidebar .course-title strong{display:block}.lesson-sidebar .course-title small{color:#758998}.syllabus-module{border-bottom:1px solid #edf2f4}.syllabus-module:last-child{border:0}.syllabus-module h4{margin:0;padding:13px 16px;background:#f8fbfc;font-size:12px}.syllabus-link{display:flex;gap:8px;padding:10px 16px;text-decoration:none;color:#3c5566;font-size:12px}.syllabus-link.active{background:#eafaf7;color:#0c6d63;font-weight:800}.syllabus-link.complete:after{content:"✓";margin-left:auto;color:#0e9a72}.lesson-main{min-width:0}.video-frame{aspect-ratio:16/9;background:linear-gradient(135deg,#04192a,#0d3b55);border-radius:20px;overflow:hidden;display:grid;place-items:center;color:white;box-shadow:var(--shadow)}.video-frame iframe{width:100%;height:100%;border:0}.video-placeholder{text-align:center;padding:30px}.video-placeholder .play{width:70px;height:70px;border-radius:50%;background:var(--aqua);color:#05253b;margin:0 auto 14px;display:grid;place-items:center;font-size:25px}.lesson-content{background:white;border-radius:20px;padding:28px;margin-top:18px;border:1px solid #e0e9ed}.lesson-content h2,.lesson-content h3{color:#0a2b45}.lesson-content p,.lesson-content li{color:#455f70;line-height:1.72}.lesson-content ul{padding-left:20px}.lesson-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.resource{display:flex;gap:11px;align-items:center;padding:12px;border:1px solid #e0e9ed;border-radius:12px;background:#fbfdfe;text-decoration:none;color:#24465c}.resource strong{font-size:13px}.resource small{display:block;color:#7a8c98}.quiz-option{display:block;border:1px solid #dfe8ed;border-radius:12px;padding:12px;margin:8px 0;cursor:pointer}.quiz-option:hover{background:#f4faf9}.quiz-question{padding:18px 0;border-bottom:1px solid #e9eff2}.quiz-question:last-child{border:0}.quiz-result{padding:24px;text-align:center;border-radius:18px;background:#f4faf9}.quiz-score{font-size:54px;font-weight:950;color:#0b7c70}.assignment-status{display:flex;justify-content:space-between;align-items:center;background:#f8fbfc;border:1px solid #e1eaee;border-radius:14px;padding:14px}.community-post{background:white;border:1px solid #e0e9ed;border-radius:18px;padding:18px;margin-bottom:14px}.post-head{display:flex;justify-content:space-between;gap:10px}.post-author{display:flex;gap:10px}.post-author .avatar{width:38px;height:38px;border-radius:50%;background:#dff8f4;display:grid;place-items:center;font-weight:900;color:#0c6d62}.community-post h3{margin:10px 0 7px}.community-post p{color:#4f6675;line-height:1.6}.comment{border-top:1px solid #edf1f3;margin-top:12px;padding-top:10px;color:#506978;font-size:13px}.certificate{background:white;max-width:980px;margin:20px auto;padding:70px;border:12px double var(--gold);text-align:center;box-shadow:var(--shadow);position:relative}.certificate img{width:290px}.certificate h1{font-family:Georgia,serif;font-size:47px;color:#0b2942;margin:24px 0 10px}.certificate .recipient{font-family:Georgia,serif;font-size:36px;color:#087c74;margin:18px}.certificate p{font-size:16px;color:#526878;line-height:1.7}.certificate-code{margin-top:35px;font-family:monospace;color:#6f7f8a}.auth-page{min-height:100vh;background:radial-gradient(circle at 15% 30%,rgba(19,215,200,.15),transparent 30%),linear-gradient(135deg,#021521,#08324b);display:grid;place-items:center;padding:35px}.auth-wrap{width:min(1120px,100%);display:grid;grid-template-columns:1.15fr .85fr;background:white;border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.35)}.auth-brand{background:linear-gradient(145deg,#021927,#0b354c);padding:55px;color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:650px}.auth-brand img{width:350px;max-width:100%;height:120px;object-fit:contain;object-position:left center}.auth-brand h1{font-size:48px;line-height:1.05;margin:18px 0}.auth-brand p{font-size:17px;color:#c1d6df;line-height:1.65;max-width:520px}.auth-points{display:flex;flex-direction:column;gap:10px;color:#d7e6eb;font-weight:700}.auth-card{padding:55px;display:flex;flex-direction:column;justify-content:center}.auth-card h2{font-size:31px;margin:0 0 8px}.auth-card>p{color:#6f8190;margin:0 0 25px}.auth-card form{display:flex;flex-direction:column;gap:15px}.auth-card .btn{justify-content:center;margin-top:6px}.install-page{min-height:100vh;background:#eff5f8;padding:30px}.install-wrap{max-width:980px;margin:auto}.install-logo{width:320px;height:120px;object-fit:contain}.install-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.install-step{background:white;border-radius:14px;padding:14px;border:1px solid #dfe9ed}.install-step strong{display:block;color:#0b314d}.install-step small{color:#708491}.metric-bar{display:flex;align-items:center;gap:10px}.metric-bar .progress-track{flex:1}.empty-state{text-align:center;padding:35px;color:#728592}.empty-state .empty-icon{width:64px;height:64px;border-radius:50%;background:#ecf7f6;color:#0b8c7d;display:grid;place-items:center;margin:0 auto 12px;font-size:28px}.badge-role{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eaf6ff;color:#2764a5;font-size:12px;font-weight:800}.admin-module{border:1px solid #dfe8ed;border-radius:16px;background:white;margin-bottom:14px}.admin-module-head{display:flex;align-items:center;gap:12px;padding:15px}.drag{color:#9dafb9}.admin-module-lessons{border-top:1px solid #edf2f4}.admin-lesson{display:flex;align-items:center;gap:12px;padding:11px 15px;border-bottom:1px solid #edf2f4;font-size:13px}.admin-lesson:last-child{border:0}.admin-lesson .title{flex:1}.admin-lesson .meta{color:#7b8d99;font-size:12px}.kicker{font-size:12px;color:#0c8d80;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.score-ring{width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--aqua) calc(var(--p)*1%),#e6eff3 0);display:grid;place-items:center}.score-ring:after{content:attr(data-score);width:60px;height:60px;border-radius:50%;background:white;display:grid;place-items:center;font-weight:900}@media(max-width:1100px){.grid-5{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{position:relative;top:auto;max-height:none}.auth-wrap{grid-template-columns:1fr}.auth-brand{min-height:auto}.auth-brand h1{font-size:38px}}@media(max-width:780px){:root{--sidebar:270px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-btn{display:block}.topbar{padding:15px 18px;height:82px}.content{padding:20px 16px}.grid-5,.grid-4,.grid-3,.grid-2,.form-grid,.resource-list{grid-template-columns:1fr}.app-footer{padding:18px 16px;flex-direction:column;gap:7px}.topbar-actions{display:none}.auth-page{padding:0}.auth-wrap{border-radius:0}.auth-brand,.auth-card{padding:32px 24px}.auth-brand h1{font-size:34px}.hero{padding:23px}.hero h2{font-size:26px}.lesson-actions{flex-direction:column}.certificate{padding:35px 20px;border-width:7px}.certificate h1{font-size:34px}.certificate .recipient{font-size:28px}.install-steps{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.app-footer,.no-print{display:none!important}.main{margin:0;width:100%}.content{padding:0}.certificate{box-shadow:none;margin:0;max-width:none;min-height:100vh}}

.callout{background:#eefaf8;border-left:4px solid var(--aqua);padding:14px 16px;border-radius:0 12px 12px 0;margin:16px 0}.locked{opacity:.58;pointer-events:none}.lock-note{font-size:12px;color:#8a6d18;background:#fff8dd;padding:5px 8px;border-radius:999px;font-weight:800}

/* Learner onboarding experience */
.nav-link{position:relative}.nav-progress{margin-left:auto;min-width:32px;padding:3px 6px;border-radius:999px;background:#e6faf6;color:#087a6e;font-size:12px;font-weight:900;text-align:center}.onboarding-mini{display:flex;align-items:center;gap:8px;text-decoration:none;padding:7px 10px;border:1px solid #d9e8ed;border-radius:10px;background:#f8fcfd;color:#49606f;font-size:12px;font-weight:800}.onboarding-mini strong{display:grid;place-items:center;min-width:30px;height:24px;border-radius:999px;background:#071f33;color:#49e3d4;font-size:12px}.avatar-photo{overflow:hidden;background:#dceaf0}.avatar-photo img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar{width:76px;height:76px;border-radius:20px;background:#dff8f4;color:#0c6d62;display:grid;place-items:center;font-size:26px;font-weight:950;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-photo-row{display:flex;align-items:center;gap:16px;margin:18px 0}.profile-photo-row small{display:block;color:#7b8e9b;margin-top:7px}.profile-readiness{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.profile-readiness span{padding:7px 9px;border-radius:999px;background:#f1f4f6;color:#96a4ad;font-size:12px;font-weight:850}.profile-readiness span.done{background:#e7faf2;color:#0d7659}

.onboarding-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:28px;align-items:center;padding:32px;border-radius:24px;background:radial-gradient(circle at 85% 20%,rgba(73,227,212,.18),transparent 30%),linear-gradient(135deg,#041a2b,#0a3d56);color:white;box-shadow:var(--shadow)}.onboarding-hero h2{font-size:34px;line-height:1.12;margin:8px 0 12px;max-width:800px}.onboarding-hero p{color:#c8dae2;max-width:760px;line-height:1.65;margin:0}.onboarding-score{height:150px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;align-content:center;text-align:center}.onboarding-score strong{font-size:34px;color:#49e3d4}.onboarding-score span{font-size:12px;color:#d7e6eb;font-weight:800}.onboarding-progress-card{background:white;border:1px solid #dfe9ed;border-radius:16px;padding:16px 18px;margin:16px 0 20px}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.onboarding-task{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border:1px solid #dfe9ed;border-radius:17px;background:white;text-decoration:none;color:inherit;transition:.18s ease;box-shadow:0 7px 22px rgba(3,34,50,.035)}.onboarding-task:hover{transform:translateY(-2px);border-color:#bcded9;box-shadow:0 12px 28px rgba(3,34,50,.075)}.onboarding-task.complete{background:linear-gradient(145deg,#fbfffe,#f3fbf9);border-color:#c7eee5}.task-number{width:42px;height:42px;border-radius:13px;background:#edf4f7;color:#27475d;display:grid;place-items:center;font-weight:950}.onboarding-task.complete .task-number{background:#dff8ef;color:#08775c}.task-copy span{display:block;color:#0b8b7e;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:950}.task-copy h3{margin:4px 0 5px;font-size:15px}.task-copy p{margin:0;color:#6a7e8b;font-size:12px;line-height:1.5}.task-action{font-size:12px;font-weight:900;color:#587182;white-space:nowrap}.onboarding-task.complete .task-action{color:#0d7d61}.onboarding-note{margin-top:18px;padding:14px 16px;border-radius:13px;background:#f7fbfd;border:1px solid #dce8ed;color:#627785;font-size:12px}.onboarding-finish{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:20px;padding:24px;border:1px solid #bde7df;border-radius:19px;background:linear-gradient(135deg,#f7fffd,#f3fbff)}.finish-check{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#dff8ef;color:#08775c;font-size:26px;font-weight:950}.onboarding-finish h2{margin:4px 0 6px}.onboarding-finish p{margin:0;color:#647b89}

.setup-intro{margin-bottom:18px}.setup-intro h2{font-size:30px;margin:6px 0 8px}.setup-intro p,.setup-lead{color:#667c89;line-height:1.65}.setup-page{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:20px;align-items:start}.setup-main h2{margin:6px 0 8px}.setup-side{position:sticky;top:115px}.setup-side h3{margin:6px 0 8px}.setup-side p{color:#647a88;line-height:1.65}.agreement-block{padding:18px 0;border-top:1px solid #e8eef1}.agreement-block h3{margin:0 0 8px}.agreement-block p,.agreement-block li{color:#536b7a;line-height:1.65}.agreement-block ul{padding-left:18px}.agreement-links{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.agreement-links a{font-size:12px;font-weight:850;color:#0b7d72}.agreement-form{margin-top:18px}.check-row{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #dce8ed;border-radius:12px;background:#f8fbfc;margin-bottom:13px;cursor:pointer}.check-row input{margin-top:2px;width:17px;height:17px;accent-color:#0d9b8c}.check-row span{font-size:12px;line-height:1.55;color:#486274}

.orientation-video{margin-bottom:20px}.orientation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.orientation-card{padding:20px;border:1px solid #dfe9ed;border-radius:17px;background:white}.orientation-card>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7faf6;color:#087b70;font-weight:950;font-size:12px}.orientation-card h3{margin:12px 0 7px}.orientation-card p{margin:0;color:#647a88;font-size:12px;line-height:1.6}.orientation-finish-card{margin-top:18px;display:flex;gap:18px;align-items:center;justify-content:space-between}.orientation-finish-card h3{margin:5px 0}.orientation-finish-card p{margin:0;color:#667c89}

.equipment-list{display:grid;gap:10px;margin-top:18px}.equipment-item{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;padding:14px;border:1px solid #e0e9ed;border-radius:13px;background:#fbfdfe;cursor:pointer}.equipment-item input{width:18px;height:18px;margin-top:1px;accent-color:#0c9a8b}.equipment-item strong{display:block;font-size:13px}.equipment-item small{display:block;color:#758995;margin-top:5px;line-height:1.4}.equipment-item code{background:#edf3f6;padding:2px 5px;border-radius:5px}
.qcc-checklist{display:grid;gap:10px;margin:18px 0}.qcc-checklist>div{padding:14px;border-left:3px solid #49d8cb;background:#f7fbfc;border-radius:0 11px 11px 0}.qcc-checklist strong{display:block}.qcc-checklist p{margin:4px 0 0;color:#667b88;font-size:12px;line-height:1.55}

.baseline-form{display:grid;gap:13px}.baseline-question h3{font-size:16px;margin:7px 0 14px}.baseline-options{display:grid;gap:8px}.baseline-options label{cursor:pointer}.baseline-options input{position:absolute;opacity:0;pointer-events:none}.baseline-options span{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:11px 12px;border:1px solid #dfe8ed;border-radius:11px;color:#4d6575;font-size:12px}.baseline-options b{width:26px;height:26px;border-radius:8px;background:#edf4f6;display:grid;place-items:center;color:#325267}.baseline-options input:checked+span{border-color:#46cfc5;background:#eefaf8;color:#173f3b}.baseline-options input:checked+span b{background:#0d9587;color:white}.baseline-submit{justify-self:start}.baseline-result{display:flex;align-items:center;justify-content:space-between;gap:20px}.baseline-result h2{font-size:48px;margin:4px 0;color:#087c70}.baseline-result p{margin:0;color:#667c89}

@media(max-width:1000px){.onboarding-grid{grid-template-columns:1fr}.orientation-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-page{grid-template-columns:1fr}.setup-side{position:static}.onboarding-hero{grid-template-columns:1fr 150px}}
@media(max-width:700px){.onboarding-hero{grid-template-columns:1fr;padding:23px}.onboarding-score{height:auto;padding:18px;display:flex;justify-content:space-between}.onboarding-task{grid-template-columns:42px 1fr}.task-action{grid-column:2}.orientation-steps{grid-template-columns:1fr}.orientation-finish-card,.baseline-result{align-items:flex-start;flex-direction:column}.onboarding-finish{grid-template-columns:46px 1fr}.onboarding-finish .btn{grid-column:1/-1;width:100%;justify-content:center}.topbar-actions .onboarding-mini{display:none}}


/* Getting Started v3 — clearer hierarchy, recommended next action and phased onboarding */
.onboarding-hero-v2{grid-template-columns:minmax(0,1fr) 188px;gap:34px;padding:38px 40px;overflow:hidden;position:relative}
.onboarding-hero-v2:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-110px;bottom:-160px;background:rgba(67,226,200,.07);pointer-events:none}
.onboarding-hero-copy{position:relative;z-index:1}.onboarding-hero-v2 h2{font-size:38px;max-width:760px;letter-spacing:-.025em}.onboarding-hero-v2 p{max-width:720px}
.onboarding-hero-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.onboarding-hero-badges span{padding:8px 11px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.065);font-size:12px;color:#d4e4e9;font-weight:750}.onboarding-hero-badges b{color:#55e7d9;margin-right:3px}
.onboarding-progress-ring{--progress:0;position:relative;z-index:1;width:158px;height:158px;justify-self:end;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4ae0d1 calc(var(--progress)*1%),rgba(255,255,255,.10) 0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 16px 35px rgba(0,0,0,.14)}.onboarding-progress-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#0a3046;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.onboarding-progress-ring>div{position:relative;text-align:center}.onboarding-progress-ring strong,.onboarding-progress-ring span{display:block}.onboarding-progress-ring strong{font-size:34px;color:white;letter-spacing:-.04em}.onboarding-progress-ring span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#8fb3c1;font-weight:900;margin-top:2px}
.onboarding-command-row{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;margin:18px 0 16px}.onboarding-next-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:16px;align-items:center;padding:22px;border:1px solid #cfe7e4;border-radius:18px;background:linear-gradient(135deg,#ffffff,#f2fbf9);box-shadow:0 12px 32px rgba(5,42,55,.07)}.onboarding-next-card.complete-state{border-color:#bfe4dd;background:linear-gradient(135deg,#fbfffe,#eefaf7)}.next-card-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#09283d;color:#56e5d7;font-size:23px;font-weight:900}.next-card-copy h2{margin:4px 0 6px;font-size:21px;letter-spacing:-.01em}.next-card-copy p{margin:0;color:#617783;font-size:12px;line-height:1.6}.next-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.next-meta span{font-size:12px;font-weight:850;color:#426271;background:#edf5f6;border-radius:999px;padding:5px 8px}.onboarding-primary-cta{white-space:nowrap;justify-content:center}
.onboarding-help-card{padding:21px;border-radius:18px;background:#071f33;color:white;box-shadow:0 12px 28px rgba(3,25,41,.12)}.onboarding-help-card .kicker{color:#55ded0}.onboarding-help-card h3{margin:7px 0 7px;font-size:17px}.onboarding-help-card p{margin:0 0 14px;color:#a9c0cb;font-size:12px;line-height:1.6}.onboarding-help-card a{font-size:12px;font-weight:900;color:#55ded0;text-decoration:none;overflow-wrap:anywhere}
.onboarding-progress-card-v2{margin-top:0}.onboarding-progress-card-v2 .progress-meta strong{color:#123c52}
.onboarding-checklist-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:30px 0 15px}.onboarding-checklist-heading h2{margin:5px 0 6px;font-size:27px;letter-spacing:-.02em}.onboarding-checklist-heading>div>p{margin:0;color:#687d89;max-width:720px;font-size:13px;line-height:1.6}.onboarding-save-note{display:flex;gap:10px;align-items:flex-start;min-width:230px;padding:12px 14px;border:1px solid #dce9ed;border-radius:13px;background:#f8fcfd}.onboarding-save-note>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e0f8f1;color:#08765a;font-weight:900}.onboarding-save-note p{margin:0;color:#6c818d;font-size:12px;line-height:1.45}.onboarding-save-note strong{color:#294a5e;font-size:12px}
.onboarding-phases{display:grid;gap:16px}.onboarding-phase{padding:18px;border:1px solid #dde8ec;border-radius:19px;background:#f9fcfd}.onboarding-phase.phase-complete{background:linear-gradient(145deg,#fbfffe,#f7fcfb);border-color:#d6ebe6}.onboarding-phase-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:2px 3px 14px}.phase-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:950;color:#0b7e73}.phase-kicker span{display:inline-grid;place-items:center;min-width:28px;height:22px;margin-right:6px;padding:0 6px;border-radius:999px;background:#e3f8f4;color:#087468}.onboarding-phase-head h3{margin:7px 0 0;color:#607581;font-size:12px;font-weight:600;line-height:1.5;max-width:720px}.phase-status{padding:6px 9px;border-radius:999px;background:#edf3f6;color:#6c7e89;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.phase-status.complete{background:#e0f8ef;color:#08745a}
.onboarding-grid-v2{gap:11px}.onboarding-task-v2{position:relative;grid-template-columns:46px minmax(0,1fr) auto;box-shadow:none;min-height:126px}.onboarding-task-v2.current{border-color:#57cfc5;box-shadow:0 0 0 3px rgba(75,211,199,.10),0 10px 24px rgba(5,48,60,.06);background:linear-gradient(145deg,#fff,#f4fcfa)}.onboarding-task-v2.complete{opacity:.88}.task-topline{display:flex;align-items:center;gap:9px}.task-topline span{margin:0}.task-topline small{font-size:12px;color:#8a9aa3;font-weight:800}.onboarding-task-v2 .task-action{align-self:center}.recommended-pill{position:absolute;right:14px;top:12px;padding:4px 7px;border-radius:999px;background:#0a2940;color:#58e3d5;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.onboarding-task-v2.current .task-copy{padding-top:12px}
.onboarding-first-week{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center;margin-top:20px;padding:26px;border-radius:19px;background:linear-gradient(135deg,#061d30,#0b3550);color:white}.onboarding-first-week h2{margin:5px 0 8px;font-size:24px}.onboarding-first-week-copy p{margin:0;color:#aac1cb;font-size:12px;line-height:1.65}.first-week-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.first-week-steps>div{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.045)}.first-week-steps>div>span{width:26px;height:26px;flex:0 0 26px;border-radius:8px;display:grid;place-items:center;background:#52ddcf;color:#052539;font-size:12px;font-weight:950}.first-week-steps p{margin:0}.first-week-steps strong,.first-week-steps small{display:block}.first-week-steps strong{font-size:12px}.first-week-steps small{color:#9eb6c0;font-size:12px;line-height:1.45;margin-top:3px}
@media(max-width:1080px){.onboarding-command-row{grid-template-columns:1fr}.onboarding-help-card{display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:center}.onboarding-help-card .kicker,.onboarding-help-card h3{grid-column:1}.onboarding-help-card p{grid-column:1;margin-bottom:0}.onboarding-help-card a{grid-column:2;grid-row:1/4}.onboarding-first-week{grid-template-columns:1fr}.first-week-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.onboarding-hero-v2{grid-template-columns:1fr;padding:25px}.onboarding-hero-v2 h2{font-size:29px}.onboarding-progress-ring{justify-self:start;width:128px;height:128px}.onboarding-progress-ring strong{font-size:28px}.onboarding-command-row{grid-template-columns:1fr}.onboarding-next-card{grid-template-columns:44px 1fr}.onboarding-next-card .btn{grid-column:1/-1;width:100%}.onboarding-help-card{display:block}.onboarding-help-card p{margin-bottom:13px}.onboarding-checklist-heading{display:block}.onboarding-save-note{margin-top:14px;min-width:0}.onboarding-phase-head{display:block}.phase-status{display:inline-block;margin-top:10px}.first-week-steps{grid-template-columns:1fr}.onboarding-task-v2{grid-template-columns:42px 1fr;min-height:0}.onboarding-task-v2 .task-action{grid-column:2}.recommended-pill{position:static;grid-column:2;justify-self:start;margin-top:-2px}.onboarding-task-v2.current .task-copy{padding-top:0}}

/* Multi-programme release v4 — Foundations / Accelerator / Elite */
.programme-switcher{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border:1px solid #dbe6eb;border-radius:12px;background:#f8fbfc}.programme-switcher label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#78909d;font-weight:900}.programme-switcher select{border:0;background:transparent;color:#17384c;font-weight:850;font-size:12px;outline:none;max-width:145px}.programme-chip{display:flex;flex-direction:column;justify-content:center;padding:7px 11px;border:1px solid #dbe6eb;border-radius:12px;background:#f8fbfc;min-width:118px}.programme-chip small{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#8395a0;font-weight:900}.programme-chip strong{font-size:12px;color:#12394d;margin-top:2px}.programme-facts{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}.programme-facts span{padding:6px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.065);font-size:12px;color:#d3e4e9;font-weight:800}.programme-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:14px 16px;border:1px solid #dae6eb;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(6,33,51,.04)}.programme-admin-toolbar form{display:flex;align-items:center;gap:10px;min-width:310px}.programme-admin-toolbar label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#708692;white-space:nowrap}.programme-admin-toolbar .select{min-width:220px;padding:9px 34px 9px 11px}.programme-admin-metrics{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.programme-admin-metrics span{padding:7px 9px;border-radius:10px;background:#f1f7f9;color:#59717e;font-size:12px;font-weight:750}.programme-admin-metrics b{color:#0a4055;font-size:12px}.programme-badge-list{display:flex;gap:5px;flex-wrap:wrap}.programme-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;background:#edf4f6;color:#536b78;font-size:12px;font-weight:850;border:1px solid #dfe9ed}.programme-badge small{font-size:12px;opacity:.65;text-transform:capitalize}.programme-badge.active{background:#e4f9f4;border-color:#bce9df;color:#087765}.inline-enrol-form{margin-top:6px;display:flex;gap:6px;min-width:245px}.inline-enrol-form .select{padding:7px 28px 7px 8px;font-size:12px}.metric-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.metric-bar small{display:block;margin-bottom:4px;color:#718794;font-size:12px;font-weight:800}.programme-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.programme-access-card{position:relative;padding:18px;border:1px solid #dfe9ed;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(5,34,52,.04)}.programme-access-card.active{border-color:#5ad1c5;box-shadow:0 0 0 3px rgba(70,208,195,.09),0 10px 26px rgba(5,34,52,.05)}.programme-access-card.add-programme{background:#f7fbfc;border-style:dashed}.programme-access-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.programme-access-head h3{margin:4px 0 0}.programme-access-card>p{color:#687e8a;font-size:12px;line-height:1.55}.programme-access-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.current-programme-note{position:absolute;right:14px;top:-9px;padding:4px 7px;border-radius:999px;background:#0a2940;color:#54e2d4;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.student-performance-switch .select{min-width:160px;padding:8px 32px 8px 10px}
@media(max-width:1100px){.programme-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-admin-toolbar{align-items:flex-start;flex-direction:column}.programme-admin-metrics{justify-content:flex-start}.programme-admin-toolbar form{min-width:0;width:100%}.programme-admin-toolbar .select{width:100%}}
@media(max-width:760px){.programme-switcher label{display:none}.programme-switcher select{max-width:110px}.programme-chip{display:none}.programme-access-grid{grid-template-columns:1fr}.inline-enrol-form{min-width:0;flex-direction:column}.programme-admin-toolbar form{align-items:flex-start;flex-direction:column}.programme-admin-toolbar .select{min-width:0}.programme-facts{gap:6px}.topbar-actions{gap:6px}}


/* Elite premium experience v5 */
.elite-kicker{display:inline-flex;align-items:center;gap:7px;color:#a77b1f;font-size:12px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.elite-kicker:before{content:"◆";font-size:12px;color:#d2a741}.elite-btn{background:linear-gradient(135deg,#c79b38,#e5bf68)!important;color:#102638!important;box-shadow:0 9px 22px rgba(178,133,37,.20)}
.elite-dashboard-panel,.elite-support-hero{position:relative;overflow:hidden;border:1px solid #e5d3a5;background:radial-gradient(circle at 88% 15%,rgba(223,184,92,.20),transparent 28%),linear-gradient(135deg,#071d30,#0d344b);color:white;border-radius:22px;box-shadow:0 18px 44px rgba(4,25,42,.14)}.elite-dashboard-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:26px;padding:27px;margin-top:22px}.elite-dashboard-panel h2,.elite-support-hero h2{color:white;margin:7px 0 8px}.elite-dashboard-panel p,.elite-support-hero p{color:#b8ced6;line-height:1.65}.elite-support-progress{height:9px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden;margin-top:17px}.elite-support-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#cfa544,#f1d181)}.elite-support-progress-meta{display:flex;justify-content:space-between;gap:16px;margin-top:7px;font-size:12px;color:#9fb8c4}.elite-support-progress-meta strong{color:#dce9ed}.elite-next-label{align-self:center;color:#b8ced6;font-size:12px;font-weight:750}.elite-entitlement-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:center}.elite-entitlement-grid>div{padding:15px;border:1px solid rgba(231,197,115,.18);border-radius:14px;background:rgba(255,255,255,.055)}.elite-entitlement-grid strong,.elite-entitlement-grid span{display:block}.elite-entitlement-grid strong{font-size:27px;color:#f0cf7b}.elite-entitlement-grid span{font-size:12px;color:#c3d5dc;margin-top:3px}
.elite-support-hero{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:28px;align-items:center;padding:31px}.elite-support-hero h2{font-size:34px}.elite-support-score{width:150px;height:150px;justify-self:end;border-radius:50%;border:1px solid rgba(235,203,123,.30);background:rgba(255,255,255,.055);display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 0 8px rgba(226,185,91,.05)}.elite-support-score span,.elite-support-score small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#a9c0ca;font-weight:850}.elite-support-score strong{font-size:36px;color:#efd07e;margin:4px 0}.elite-support-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.elite-support-summary-grid>div{padding:17px;border:1px solid #e7ddc5;border-radius:16px;background:linear-gradient(145deg,#fff,#fdfaf3);box-shadow:0 8px 22px rgba(7,34,53,.04)}.elite-support-summary-grid strong,.elite-support-summary-grid span,.elite-support-summary-grid small{display:block}.elite-support-summary-grid strong{font-size:25px;color:#9b721d}.elite-support-summary-grid span{font-weight:900;color:#17394e;font-size:12px;margin:2px 0 4px}.elite-support-summary-grid small{color:#81909a;font-size:12px;line-height:1.45}
.elite-support-group{margin-top:28px}.elite-support-group-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:12px}.elite-support-group-head h2{margin:4px 0 5px}.elite-support-group-head p{margin:0;color:#6f828e;font-size:12px;max-width:760px;line-height:1.55}.elite-group-count{padding:6px 9px;border-radius:999px;background:#f7efd9;color:#8a681e;font-size:12px;font-weight:900;white-space:nowrap}.elite-support-list{display:grid;gap:10px}.elite-support-item{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(190px,260px);gap:17px;align-items:start;padding:18px;border:1px solid #e1e8eb;border-radius:17px;background:white;box-shadow:0 8px 22px rgba(5,34,52,.035)}.elite-support-item.status-scheduled{border-color:#c8e3e5}.elite-support-item.status-completed{background:linear-gradient(145deg,#fff,#fbfdfc);border-color:#d4e8df}.elite-support-state{display:flex;flex-direction:column;gap:6px}.elite-support-state small{font-size:12px;color:#81929c}.elite-support-item-copy h3{margin:0 0 5px;font-size:15px}.elite-support-item-copy>p{margin:0;color:#607582;font-size:12px;line-height:1.55}.elite-support-note,.elite-learner-request{margin-top:10px;padding:10px 11px;border-radius:11px;background:#f7fafb;border:1px solid #e4ecef}.elite-support-note strong,.elite-learner-request strong{display:block;color:#365365;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.elite-support-note p,.elite-learner-request p{margin:4px 0 0;color:#5e7380;font-size:12px;line-height:1.5}.elite-request-form{display:grid;gap:7px}.elite-request-form .textarea{min-height:64px;padding:8px 9px;font-size:12px}.elite-request-form .btn-outline{justify-content:center}.elite-complete-mark{display:inline-flex;justify-content:center;padding:8px 10px;border-radius:10px;background:#e7f8f1;color:#087155;font-size:12px;font-weight:900}.status-pill.review{background:#fff3d4;color:#855f00}.status-pill.locked{background:#edf2f5;color:#71818b}.status-pill.muted{background:#f1f1f1;color:#7b7b7b}.elite-career-disclaimer{margin:26px 0 5px;padding:17px 19px;border-radius:15px;border:1px solid #dce5e9;background:#f7fafb}.elite-career-disclaimer strong{color:#193d51;font-size:12px}.elite-career-disclaimer p{margin:5px 0 0;color:#71838e;font-size:12px;line-height:1.55}
.elite-admin-hero{border-color:#e1c77f;background:radial-gradient(circle at 85% 20%,rgba(222,180,78,.18),transparent 30%),linear-gradient(135deg,#071d30,#0c3047)}.elite-admin-alert,.elite-student-admin-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:20px 0;padding:15px 17px;border:1px solid #ead9ad;border-radius:15px;background:linear-gradient(135deg,#fffdf8,#fbf7eb)}.elite-admin-alert strong{display:block;color:#173b4e;font-size:15px;margin-top:3px}.elite-admin-alert p,.elite-student-admin-summary p{margin:3px 0 0;color:#74848e;font-size:12px}.elite-admin-student{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 21px;border-radius:17px;background:#081f31;color:white}.elite-admin-student h2{margin:5px 0;color:white}.elite-admin-student p{margin:0;color:#a8c0ca;font-size:12px}.elite-admin-progress{text-align:center;padding:10px 16px;border-left:1px solid rgba(255,255,255,.12)}.elite-admin-progress strong,.elite-admin-progress span{display:block}.elite-admin-progress strong{font-size:28px;color:#f0ce78}.elite-admin-progress span{font-size:12px;color:#9fb8c2;text-transform:uppercase;letter-spacing:.07em}.elite-admin-items{display:grid;gap:11px}.elite-admin-item{padding:17px;border:1px solid #dee8ec;border-radius:16px;background:#fff}.elite-admin-item-head{display:flex;justify-content:space-between;gap:20px}.elite-admin-item-head h3{margin:7px 0 4px;font-size:14px}.elite-admin-item-head p{margin:0;color:#6b7f8a;font-size:12px;line-height:1.55;max-width:760px}.elite-admin-item-head>small{color:#8a9aa3;font-size:12px;white-space:nowrap}.elite-admin-fields{display:grid;grid-template-columns:155px 210px minmax(220px,.8fr) minmax(260px,1.2fr);gap:10px;margin-top:13px}.elite-admin-fields label{display:flex;flex-direction:column;gap:5px;color:#526a77;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.elite-admin-fields .input,.elite-admin-fields .select,.elite-admin-fields .textarea{font-size:12px;padding:9px}.elite-admin-fields .textarea{min-height:68px}.elite-admin-item-actions{display:flex;justify-content:flex-end;margin-top:10px}.elite-student-admin-summary h3{margin:4px 0}.elite-learner-request{background:#fff9eb;border-color:#eee0bd}
@media(max-width:1100px){.elite-dashboard-panel{grid-template-columns:1fr}.elite-support-summary-grid{grid-template-columns:repeat(2,1fr)}.elite-support-item{grid-template-columns:110px 1fr}.elite-support-actions{grid-column:2}.elite-admin-fields{grid-template-columns:1fr 1fr}.elite-admin-notes{grid-column:1/-1}}
@media(max-width:760px){.elite-dashboard-panel,.elite-support-hero{grid-template-columns:1fr;padding:22px}.elite-entitlement-grid{grid-template-columns:1fr 1fr}.elite-support-score{justify-self:start;width:125px;height:125px}.elite-support-summary-grid{grid-template-columns:1fr 1fr}.elite-support-group-head,.elite-admin-alert,.elite-student-admin-summary,.elite-admin-student{align-items:flex-start;flex-direction:column}.elite-support-item{grid-template-columns:1fr}.elite-support-actions{grid-column:1}.elite-admin-fields{grid-template-columns:1fr}.elite-admin-notes{grid-column:auto}.elite-admin-item-head{display:block}.elite-admin-item-head>small{display:block;margin-top:8px}.elite-admin-progress{border:0;padding:0;text-align:left}}

.programme-qa-engineer-elite{border:1px solid rgba(226,185,91,.38);background:radial-gradient(circle at 88% 15%,rgba(226,185,91,.18),transparent 30%),linear-gradient(135deg,#061b2d,#0b3148)}.programme-qa-engineer-elite .progress-bar{background:linear-gradient(90deg,#cfa544,#f0cf7b)}
.elite-course-support-cta{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:18px;padding:18px 20px;border:1px solid #e7d6aa;border-radius:17px;background:linear-gradient(135deg,#fffdf8,#fbf7eb)}.elite-course-support-cta h3{margin:4px 0 5px;color:#17394d}.elite-course-support-cta p{margin:0;color:#6f808a;font-size:12px;line-height:1.55}.elite-course-support-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.elite-course-support-actions>span{display:flex;flex-direction:column;align-items:flex-end;color:#778892;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.elite-course-support-actions strong{font-size:18px;color:#9b721d;letter-spacing:0;text-transform:none}
@media(max-width:760px){.elite-course-support-cta{align-items:flex-start;flex-direction:column}.elite-course-support-actions{width:100%;justify-content:space-between}.elite-course-support-actions>span{align-items:flex-start}}


/* Foundations V6 — programme entitlements and distinct learner experiences */
.programme-access-summary,.course-entitlement-strip,.programme-support-panel,.admin-entitlement-summary,.career-outcomes-note{margin-top:22px;border:1px solid var(--line,#dce8ee);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(4,29,46,.055)}
.programme-access-summary{padding:20px 22px}.programme-access-summary-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.programme-access-summary-head h2{margin:4px 0 5px}.programme-access-summary-head p{margin:0;color:#667d8b;font-size:13px}.programme-access-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.programme-access-pills span{display:inline-flex;gap:6px;align-items:center;padding:8px 10px;border-radius:999px;background:#f3f8fa;border:1px solid #dce8ee;color:#516b7a;font-size:12px}.programme-access-pills b{color:#15364a}
.course-entitlement-strip{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:16px 18px}.course-entitlement-strip h3{margin:3px 0 0}.course-entitlement-chips{display:flex;flex-wrap:wrap;gap:7px}.course-entitlement-chips span{display:grid;gap:1px;padding:7px 9px;border-radius:10px;background:#f4f9fb;border:1px solid #dfebf0;font-size:12px;color:#627b89}.course-entitlement-chips b{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#1c536c}
.entitlement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.entitlement-card{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:18px;border-radius:16px;border:1px solid #dce8ee;background:#fff;box-shadow:0 8px 24px rgba(4,29,46,.04)}.entitlement-check{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(24,190,165,.11);color:#0b8f7d;font-weight:900}.entitlement-card h3{margin:3px 0 6px;font-size:20px;color:#13384d}.entitlement-card p{margin:0;color:#667d8b;font-size:12.5px;line-height:1.55}
.programme-support-panel{padding:24px;margin-top:24px}.programme-support-panel>div:first-child{max-width:780px}.programme-support-panel h2{margin:5px 0 8px}.programme-support-panel p{color:#5d7482;line-height:1.65}.foundations-support-panel{background:linear-gradient(135deg,#fbffff,#f4fbfe);border-color:#cfe7ef}.accelerator-support-panel{background:linear-gradient(135deg,#f8fbff,#f8ffff);border-color:#d1e3f0}.elite-plan-panel{background:linear-gradient(135deg,#071d2d,#0a3041);border-color:rgba(76,226,211,.32);color:#fff}.elite-plan-panel h2,.elite-plan-panel p{color:#fff}.elite-plan-panel p{opacity:.78}.support-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.support-action-card{display:grid;gap:4px;padding:14px 15px;border-radius:13px;border:1px solid #d9e7ed;background:#fff;color:#163b50;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.support-action-card:hover{transform:translateY(-1px);border-color:#a9dcd4;box-shadow:0 9px 20px rgba(4,29,46,.06)}.support-action-card strong{font-size:13px}.support-action-card span{font-size:11.5px;color:#6b808c;line-height:1.45}.career-outcomes-note{padding:16px 18px;background:#f8fbfc;color:#536c7a;font-size:12.5px;line-height:1.55}.career-outcomes-note strong{color:#163a4e}.career-outcomes-note p{margin:4px 0 0}.admin-entitlement-summary{padding:18px 20px;margin-bottom:18px}
@media(max-width:980px){.entitlement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-entitlement-strip{grid-template-columns:1fr}.programme-access-summary-head{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.entitlement-grid,.support-action-grid{grid-template-columns:1fr}.programme-access-summary,.programme-support-panel{padding:17px}}


/* Learning Journey V8 */
.next-action-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:18px;align-items:center;margin:18px 0;padding:22px;border:1px solid rgba(25,191,169,.3);border-radius:18px;background:linear-gradient(135deg,#f7fffd,#f3fbff);box-shadow:0 12px 30px rgba(16,53,72,.06)}
.next-action-card h2{margin:4px 0 5px}.next-action-card p{margin:0;color:#5d7482}.next-action-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#082e46;color:#4ce2d3;font-size:24px;font-weight:900}
.progress-breakdown-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.progress-breakdown-card>div{padding:17px;border:1px solid #e0ebf0;border-radius:14px;background:#fff}.progress-breakdown-card span{display:block;color:#657c8b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.progress-breakdown-card strong{display:block;font-size:24px;color:#0b3046;margin:5px 0}.progress-breakdown-card small{display:block;color:#7b909c;margin-bottom:8px}
.deadline-banner{display:grid;gap:3px;margin:14px 0 18px;padding:13px 15px;border-radius:12px;background:#f6fafc;border:1px solid #dce8ee}.deadline-banner span{color:#667e8c;font-size:12px}.deadline-banner.overdue,.deadline-line.overdue{color:#b42318}.deadline-banner.overdue{background:#fff4f2;border-color:#f2c9c4}.deadline-banner.urgent,.deadline-line.urgent{color:#9a6700}.deadline-banner.urgent{background:#fffaf0;border-color:#ead8a6}.deadline-line{font-size:12px;font-weight:800;margin:8px 0;color:#5e7583}
.attempt-history-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #edf2f5}.attempt-history-row:last-child{border-bottom:0}.attempt-history-row small{display:block;color:#7b8d98;margin-top:3px}.attempt-history-row p{margin:6px 0 0;color:#5c7380;font-size:12px}.attempt-history-row>div:last-child{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.quiz-feedback-list{margin:22px 0}.quiz-feedback-card{padding:16px;border-radius:14px;border:1px solid #dfe9ee;margin-bottom:10px;background:#fff}.quiz-feedback-card.correct{border-left:4px solid #16a085}.quiz-feedback-card.incorrect{border-left:4px solid #d97706}.quiz-feedback-head{display:flex;justify-content:space-between;gap:10px}.quiz-feedback-card p{color:#526a78}.quiz-explanation{padding:12px;border-radius:10px;background:#f5fafc}.quiz-explanation p{margin:5px 0 0}.attempt-mini-row{display:grid;grid-template-columns:1fr auto auto;gap:9px;padding:9px 0;border-top:1px solid #edf2f5;font-size:12px}.attempt-mini-row a{font-weight:800}
.results-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.overdue{color:#b42318!important}.urgent{color:#9a6700!important}
@media(max-width:900px){.progress-breakdown-card{grid-template-columns:repeat(2,minmax(0,1fr))}.next-action-card{grid-template-columns:42px 1fr}.next-action-card .btn{grid-column:1/-1;width:100%}.results-summary-grid{grid-template-columns:1fr}}
@media(max-width:560px){.progress-breakdown-card{grid-template-columns:1fr}.attempt-history-row{display:block}.attempt-history-row>div:last-child{justify-content:flex-start;margin-top:8px}}


/* Student Communications & Trust V9 */
.footer-links{display:flex;gap:14px}.footer-links a{color:inherit;text-decoration:none;font-weight:700}
.help-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.help-card{display:block;text-decoration:none;color:inherit;padding:18px;border:1px solid #dfe9ee;border-radius:15px;background:#fff;transition:.18s ease}.help-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(14,48,67,.08)}.help-card>span{display:block;color:#0a8f82;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.help-card strong{display:block;font-size:17px;color:#11364a;margin:7px 0}.help-card p{font-size:13px;color:#627a88;margin:0;line-height:1.55}
.help-steps{padding-left:20px}.help-steps li{margin:0 0 14px;color:#18384b}.help-steps li span{display:block;color:#687f8d;font-size:13px;margin-top:3px}.policy-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.policy-link-grid a{padding:15px;border:1px solid #dfe9ee;border-radius:13px;background:#fff;text-decoration:none;color:#14384c}.policy-link-grid strong,.policy-link-grid span{display:block}.policy-link-grid span{font-size:12px;color:#708692;margin-top:4px}.academy-contact-card{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px}
.notification-toggle{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid #edf2f5;cursor:pointer}.notification-toggle:last-of-type{border-bottom:0}.notification-toggle strong,.notification-toggle span{display:block}.notification-toggle span{color:#6b818e;font-size:12px;margin-top:4px}.notification-toggle input{width:20px;height:20px;accent-color:#0a8f82;flex:0 0 auto}.essential-notification-list>div{padding:12px 0;border-bottom:1px solid #edf2f5}.essential-notification-list strong,.essential-notification-list span{display:block}.essential-notification-list span{color:#6c818d;font-size:12px;margin-top:3px}
.support-evidence-list{color:#526d7c;line-height:1.8}.ticket-description{padding:14px;border-radius:12px;background:#f6fafc;border:1px solid #e3edf1;color:#294b5d;line-height:1.65;margin:14px 0}
.verify-page{margin:0;background:radial-gradient(circle at top,#0d4662 0,#072c43 35%,#f3f7f9 35%);min-height:100vh;font-family:Arial,sans-serif;color:#153447}.verify-shell{max-width:820px;margin:0 auto;padding:42px 18px}.verify-brand{display:block;width:220px;margin:0 auto 24px}.verify-brand img{width:100%;height:auto}.verify-card{background:#fff;border-radius:22px;padding:30px;box-shadow:0 22px 55px rgba(0,25,40,.18)}.verify-card>h1{font-size:31px;margin:8px 0}.verify-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin:20px 0}.verify-result{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px;border-radius:16px;margin-top:22px}.verify-result.valid{background:#effcf8;border:1px solid #b9eadc}.verify-result.invalid{background:#fff5f3;border:1px solid #efcbc3}.verify-result-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:900;background:#fff}.verify-result.valid .verify-result-icon{color:#087b6e}.verify-result.invalid .verify-result-icon{color:#b42318}.verify-result h2{margin:4px 0 12px}.verify-result dl{display:grid;grid-template-columns:130px 1fr;gap:7px 12px;margin:14px 0}.verify-result dt{color:#6e8390;font-size:12px}.verify-result dd{margin:0;font-weight:800}.verify-confirmation{font-size:13px;color:#4d6b79}.verify-footer{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;color:#6d818c;font-size:12px;margin-top:18px}.verify-footer a{color:inherit}
.certificate-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.certificate-verification-block{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid #d8e5eb}.certificate-verification-block small{display:block;max-width:440px;word-break:break-all;color:#667d8b;margin-top:5px}.certificate-qr{width:132px;height:132px;object-fit:contain;background:#fff;padding:4px;border:1px solid #d8e5eb}.certificate-revoked{opacity:.62;filter:grayscale(.35)}
@media(max-width:950px){.help-grid,.policy-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.help-grid,.policy-link-grid{grid-template-columns:1fr}.academy-contact-card{display:block}.verify-form{grid-template-columns:1fr}.verify-result{grid-template-columns:1fr}.verify-result dl{grid-template-columns:1fr}.certificate-verification-block{flex-direction:column}.footer-links{flex-wrap:wrap}}
@media print{.certificate-qr{width:110px;height:110px}}

/* Shared layout refresh: readable rhythm, Academy navy and mint, responsive rows. */
body { font-size: 15px; line-height: 1.65; background: var(--soft); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4 { line-height: 1.3; text-wrap: pretty; }
h1, h2 { letter-spacing: -.035em; }
h3, h4 { letter-spacing: -.015em; }
p { margin: 0 0 1rem; }
p:last-child { margin-bottom: 0; }
small { font-size: 13px; line-height: 1.55; }
a { text-underline-offset: 3px; }
img { max-width: 100%; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #168c7a; outline-offset: 4px; }
:where(h1, h2, h3, h4, p, strong, small, a, label, dd) { overflow-wrap: anywhere; }
:where(.grid, .form-grid, .resource-list, .help-grid, .entitlement-grid, .onboarding-grid, .setup-page, .elite-admin-fields) > * { min-width: 0; }
:where(.card, .form-card, .lesson-content) > :last-child { margin-bottom: 0; }
.ui-icon { flex: 0 0 20px; vertical-align: middle; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 100; padding: 12px 20px; border-radius: 10px; background: white; color: var(--navy); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }

/* Shell and navigation */
.sidebar { padding: 24px 16px 18px; background: var(--navy); box-shadow: none; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #3a5768 transparent; }
.brand { padding: 0 12px 22px; margin-bottom: 20px; }
.brand img { width: 190px; height: 66px; }
.nav-heading { padding: 0 14px; margin-bottom: 12px; color: #8ca7b7; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.sidebar nav { gap: 4px; }
.nav-link { padding: 10px 13px; min-height: 43px; font-weight: 550; font-size: 13px; border: 1px solid transparent; border-radius: 9px; color: #bdd0db; transition: background .15s, color .15s; }
.nav-link > span { min-width: 0; }
.nav-link .ui-icon { color: #8ba7b8; width: 18px; height: 18px; flex-basis: 18px; }
.nav-link:hover { background: #172f40; }
.nav-link.active { color: #9bf3df; background: #173e46; border-color: #28545a; }
.nav-link.active .ui-icon { color: #83e6cf; }
.sidebar :focus-visible { outline-color: var(--aqua); }
.sidebar > * { flex-shrink: 0; }
.sidebar nav { margin-bottom: 28px; }
.sidebar-footer { padding: 18px 10px 0; margin-top: auto; }
.mini-user > div { min-width: 0; }
.mini-user .avatar { flex: 0 0 36px; background: #9ce8d8; font-weight: 750; }
.mini-user strong { font-size: 13px; font-weight: 600; }
.mini-user small { font-size: 12px; line-height: 1.4; color: #a5bdca; }
.logout { font-size: 13px; padding: 4px 0; }
.admin-switch { padding: 14px 12px 0; }
.main { min-width: 0; }
.topbar { height: auto; min-height: 96px; gap: 24px; padding: 20px 36px; background: rgba(255,255,255,.97); }
.topbar-title { flex: 1; min-width: 0; }
.topbar h1 { font-size: 24px; margin-top: 5px; }
.eyebrow { display: block; color: #687e8c; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.topbar-actions { align-items: center; flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.programme-chip { padding: 8px 14px; border: 0; background: #f1f7f6; border-radius: 9px; }
.programme-chip small { font-size: 10px; color: #617c7a; }
.programme-chip strong { font-size: 13px; }
.programme-switcher { padding: 8px 12px; gap: 12px; }
.programme-switcher select { font: inherit; font-size: 13px; max-width: 170px; min-height: 28px; }
.programme-switcher label { font-size: 10px; }
.profile-link { font-size: 13px; font-weight: 650; }
.content { width: 100%; max-width: 1560px; margin: 0 auto; padding: 32px 36px 48px; }
.content:focus { outline: none; }
.app-footer { gap: 16px 28px; flex-wrap: wrap; padding: 22px 36px; border-top: 1px solid var(--line); color: #657c8a; }
.footer-links { flex-wrap: wrap; gap: 10px 20px; }
.menu-btn, .sidebar-close { align-items: center; justify-content: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 10px; cursor: pointer; }
.menu-btn { color: var(--ink); border: 1px solid var(--line); background: white; }
.sidebar-close { display: none; border: 1px solid #3a5262; background: #183243; color: white; }
.sidebar-backdrop { display: none; }

/* Consistent type, card spacing and actions */
.kicker { display: inline-block; font-size: 11px; line-height: 1.6; letter-spacing: .1em; color: #167969; font-weight: 750; }
.kicker + h2, .kicker + h3, .elite-kicker + h2, .elite-kicker + h3 { margin-top: 10px; }
.card, .form-card { padding: 26px; border-color: var(--line); box-shadow: var(--shadow); }
.card h2, .form-card h2 { font-size: 23px; margin-bottom: 12px; }
.card h3 { font-size: 18px; margin-bottom: 12px; }
.card p, .form-card p { line-height: 1.7; }
.grid { gap: 24px; }
.section-title { gap: 16px 24px; align-items: center; margin: 34px 0 18px; }
.section-title > div { min-width: 0; }
.section-title h2 { font-size: 22px; }
.section-title p { font-size: 14px; line-height: 1.6; margin-top: 7px; }
.section-title > a { flex-shrink: 0; }
.ghost-btn, .btn, .btn-outline, .btn-danger { justify-content: center; min-height: 44px; padding: 11px 18px; font-size: 14px; font-weight: 700; line-height: 1.4; border-radius: 9px; text-align: center; transition: background .15s, border-color .15s, box-shadow .15s; }
.btn { background: var(--aqua); color: #092d32; box-shadow: 0 3px 8px rgba(19,114,98,.1); }
.btn:hover { background: #7fe9d2; box-shadow: 0 4px 12px rgba(19,114,98,.16); }
.btn-outline { border-color: #cfdee4; }
.btn-outline:hover, .ghost-btn:hover { background: #eaf5f3; border-color: #9fcfc5; }
.btn-danger:hover { background: #ffe1e5; }
.btn-sm { min-height: 38px; padding: 9px 13px; font-size: 12px; }
.tab { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; font-size: 12px; font-weight: 650; padding: 8px 13px; }
.tabs { gap: 10px; margin-bottom: 24px; }
.text-link { display: inline-block; color: #117669; font-size: 13px; font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.status-pill, .pill, .badge-role, .lock-note { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; font-size: 12px; font-weight: 650; line-height: 1.5; }
.stat { padding: 24px; border-radius: 16px; box-shadow: var(--shadow); }
.stat .label { color: #607582; font-size: 11px; letter-spacing: .075em; font-weight: 650; }
.stat .value { margin: 10px 0; font-size: 34px; line-height: 1.2; letter-spacing: -.04em; }
.stat .delta { font-size: 13px; line-height: 1.5; }

/* Programme and onboarding heroes */
.hero, .onboarding-hero { padding: 36px 38px; border-radius: 20px; background: radial-gradient(ellipse at 100% 0,rgba(99,222,197,.13),transparent 60%),linear-gradient(115deg,#0b2030,#12374a); box-shadow: none; }
.hero h2, .onboarding-hero h2 { font-size: clamp(28px, 2.5vw, 38px); line-height: 1.2; margin: 12px 0 16px; max-width: 800px; }
.hero p, .onboarding-hero p { font-size: 15px; line-height: 1.8; max-width: 760px; margin: 0 0 24px; color: #c6d9e2; }
.hero .kicker, .onboarding-hero .kicker, .onboarding-first-week .kicker { color: #83e6cf; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
.hero .btn-outline { background: transparent; color: white; border-color: #657f8e; }
.hero .btn-outline:hover { background: #24495b; }
.progress-track { height: 7px; }
.progress-bar { background: linear-gradient(90deg,#35ba9d,#78e0cb); }
.progress-meta { flex-wrap: wrap; gap: 6px 20px; line-height: 1.6; font-size: 13px; margin: 12px 0; }
.hero .progress-meta, .hero .progress-track { max-width: 760px; }
.programme-facts { gap: 10px; margin: 22px 0; }
.programme-facts span, .onboarding-hero-badges span { padding: 7px 12px; font-size: 12px; font-weight: 600; }
.programme-qa-engineer-elite { border-color: #9d854b; background: radial-gradient(ellipse at 100% 0,rgba(226,185,91,.14),transparent 60%),linear-gradient(115deg,#0b2030,#12374a); }
.next-action-card { margin: 24px 0; padding: 26px; gap: 22px; background: #edf9f5; border-color: #c6e8dd; box-shadow: none; }
.next-action-card h2 { margin: 8px 0; font-size: 23px; }
.next-action-card p { font-size: 14px; line-height: 1.7; }
.next-action-icon { background: #d5f0e6; color: #177c67; }
.progress-breakdown-card { gap: 18px; margin-bottom: 24px; }
.progress-breakdown-card > div { padding: 24px; border-radius: 16px; box-shadow: var(--shadow); }
.progress-breakdown-card span { font-size: 11px; font-weight: 650; }
.progress-breakdown-card strong { font-size: 30px; margin: 12px 0 10px; line-height: 1.2; letter-spacing: -.025em; }
.progress-breakdown-card small { font-size: 13px; color: #617b88; margin-bottom: 16px; }
.programme-access-summary { padding: 26px; box-shadow: none; }
.programme-access-summary-head { align-items: center; }
.programme-access-summary-head h2 { font-size: 23px; margin: 8px 0 10px; }
.programme-access-summary-head p { font-size: 14px; line-height: 1.7; }
.programme-access-pills { gap: 10px; margin-top: 20px; }
.programme-access-pills span { flex-wrap: wrap; padding: 9px 13px; gap: 4px 8px; font-size: 13px; border-radius: 9px; }
.course-entitlement-strip { grid-template-columns: 1fr; padding: 24px; gap: 18px; box-shadow: none; }
.course-entitlement-chips { gap: 10px; }
.course-entitlement-chips span { padding: 10px 14px; gap: 5px; font-size: 13px; }
.course-entitlement-chips b { font-size: 11px; }
.course-meta { flex-wrap: wrap; gap: 8px 16px; font-size: 13px; }
.course-body { padding: 24px; }
.course-cover { min-height: 150px; height: auto; padding: 28px 24px; }

/* Cohort components previously had no layout rules. */
.student-cohort-banner, .cohort-filter-banner { display: flex; justify-content: space-between; align-items: center; gap: 24px 32px; padding: 24px 26px; margin: 24px 0; border: 1px solid var(--line); border-radius: 16px; background: white; }
.student-cohort-banner > div, .cohort-filter-banner > div { min-width: 0; }
.student-cohort-banner h3 { margin: 8px 0; font-size: 20px; }
.student-cohort-banner p { color: var(--muted); font-size: 14px; }
.student-cohort-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; flex: 0 1 440px; }
.student-cohort-meta span, .cohort-facts span { display: grid; gap: 6px; font-size: 13px; color: #345466; }
.student-cohort-meta b, .cohort-facts b { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; font-weight: 650; }
.course-cohort-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 24px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.course-cohort-strip > div { display: grid; align-content: start; gap: 8px; min-width: 0; }
.course-cohort-strip strong { font-size: 14px; font-weight: 650; }
.course-cohort-strip small { color: var(--muted); }
.cohort-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.cohort-card { min-width: 0; padding: 26px; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.cohort-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.cohort-card-top h3 { margin: 8px 0 0; font-size: 21px; }
.cohort-card-top .status-pill { flex-shrink: 0; }
.cohort-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 24px 0; }
.cohort-anchor-note { display: grid; gap: 7px; padding: 16px; background: #f2f8f7; border-radius: 10px; font-size: 13px; color: var(--muted); }
.cohort-anchor-note strong { color: #286050; }
.cohort-card-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.cohort-filter-banner strong, .cohort-filter-banner small { display: block; margin-top: 6px; }
.student-cohort-summary { display: grid; gap: 6px; padding: 16px; margin-top: 16px; border: 1px solid var(--line); border-radius: 10px; background: #f6fafb; font-size: 13px; }
.student-cohort-summary span, .student-cohort-summary small { color: var(--muted); }
.cohort-move { margin-top: 18px; }
.cohort-move summary { cursor: pointer; color: #167969; font-size: 13px; font-weight: 700; }
.cohort-move form { display: grid; gap: 12px; margin-top: 14px; }
.deadline-admin-form { display: grid; gap: 12px; margin: 24px 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfc; }
.deadline-admin-form > button { justify-self: start; }

/* Learning rows and content */
.module-list { gap: 20px; }
.module-head { padding: 24px; gap: 18px; background: #f9fbfc; }
.module-title, .lesson-name, .event-info { min-width: 0; }
.module-title strong { font-size: 17px; line-height: 1.5; }
.module-title small, .lesson-name small, .event-info small { display: block; margin-top: 5px; font-size: 13px; line-height: 1.6; color: #617b8a; }
.module-number, .lesson-icon, .event-date, .announcement .badge, .task-number, .profile-avatar { flex-shrink: 0; }
.module-number { width: 44px; height: 44px; }
.lesson-row { padding: 18px 24px; gap: 16px; }
.lesson-name span { font-size: 14px; line-height: 1.6; font-weight: 600; }
.lesson-row > .status-pill { flex-shrink: 0; }
.lesson-layout { grid-template-columns: 260px minmax(0,1fr); gap: 24px; }
.lesson-sidebar .course-title { padding: 22px; }
.lesson-sidebar .course-title strong { margin: 9px 0 6px; line-height: 1.5; }
.syllabus-module h4 { padding: 18px 20px; font-size: 13px; line-height: 1.6; }
.syllabus-link { padding: 13px 20px; gap: 12px; font-size: 13px; line-height: 1.6; }
.syllabus-link > span:first-child { flex-shrink: 0; }
.lesson-content { padding: 32px; }
.lesson-content h2 { font-size: 27px; margin: 14px 0 24px; }
.lesson-content h3 { font-size: 21px; margin: 30px 0 14px; }
.lesson-content p, .lesson-content li { font-size: 15px; line-height: 1.85; }
.lesson-content li + li { margin-top: 8px; }
.lesson-content pre { overflow-x: auto; padding: 18px; background: #f3f7f9; border-radius: 10px; }
.lesson-content :not(pre) > code { overflow-wrap: anywhere; }
.lesson-actions, .lesson-actions > div { flex-wrap: wrap; gap: 12px; }
.resource-list { gap: 14px; }
.resource { padding: 17px; gap: 14px; align-items: flex-start; }
.resource > div { min-width: 0; }
.resource strong { display: block; font-size: 14px; line-height: 1.5; }
.resource small { margin-top: 6px; color: #627b89; }
.announcement { padding: 20px; gap: 16px; }
.announcement h4 { font-size: 15px; margin-bottom: 9px; }
.announcement p { font-size: 14px; line-height: 1.7; }
.announcement small { display: block; color: var(--muted); margin-top: 12px; font-size: 12px; }
.event-row { padding: 20px 0; gap: 16px; }
.event-row:last-child { border-bottom: 0; padding-bottom: 0; }
.event-date { align-content: center; gap: 5px; font-size: 21px; background: #edf6f4; color: #1b564e; }
.event-date small { color: #347b6b; margin: 0; font-size: 10px; }
.event-info strong { font-size: 14px; font-weight: 650; line-height: 1.55; }
.event-row > .btn-outline, .event-row > .status-pill { flex-shrink: 0; }
.assignment-status { gap: 18px; padding: 18px; margin-top: 16px; }
.assignment-status small { margin-top: 6px; }
.deadline-line { margin: 12px 0; font-size: 13px; }
.community-post { padding: 26px; }
.post-author { align-items: center; gap: 12px; }
.post-author .avatar { flex-shrink: 0; }
.post-author small { display: block; margin-top: 4px; }
.comment { margin-top: 18px; padding-top: 16px; font-size: 14px; }

/* Forms and dense administration screens */
.form-grid { gap: 22px; }
.form-group { gap: 9px; min-width: 0; }
.form-group label { font-size: 13px; font-weight: 650; line-height: 1.5; }
.input, .select, .textarea { padding: 12px 14px; border-color: #cbdbe2; border-radius: 9px; font-size: 15px; line-height: 1.5; min-height: 46px; }
.input::placeholder, .textarea::placeholder { color: #748997; }
.helper { font-size: 13px; color: #637b89; line-height: 1.7; }
.form-card > form { margin-top: 24px; }
.table th { font-size: 11px; font-weight: 650; padding: 16px 20px; color: #526e7d; }
.table td { padding: 20px; font-size: 13px; line-height: 1.7; }
.table td small { display: block; margin-top: 5px; font-size: 12px; color: #647e8c; }
.table tbody tr:hover { background: #f8fbfb; }
.table-wrap { max-width: 100%; overscroll-behavior-x: contain; }
.table { min-width: 640px; }
.admin-module-head { padding: 20px; gap: 16px; flex-wrap: wrap; }
.admin-lesson { padding: 16px 20px; gap: 14px; flex-wrap: wrap; }
.admin-lesson .title { min-width: 170px; }
.admin-lesson .meta { font-size: 12px; }
.programme-admin-toolbar { padding: 20px; gap: 20px; }
.programme-admin-metrics { gap: 10px; }
.programme-admin-metrics span { padding: 9px 12px; font-size: 12px; }
.programme-badge { font-size: 12px; padding: 6px 10px; }
.programme-badge small { font-size: 11px; opacity: 1; }
.quiz-question { padding: 24px 0; }
.quiz-option { padding: 16px; margin: 12px 0; font-size: 14px; line-height: 1.7; }
.quiz-option input { margin-right: 10px; accent-color: #157d69; }
.baseline-options span { padding: 16px; font-size: 14px; }
.baseline-options input:focus-visible + span { outline: 3px solid #168c7a; outline-offset: 3px; }

/* Onboarding, support and entitlement cards */
.onboarding-command-row { gap: 24px; margin: 24px 0; }
.onboarding-next-card { padding: 26px; gap: 20px; }
.next-card-copy p, .task-copy p { font-size: 14px; line-height: 1.7; }
.next-card-copy h2 { margin: 8px 0 12px; }
.onboarding-grid-v2 { gap: 18px; }
.onboarding-phases { gap: 24px; }
.onboarding-phase { padding: 24px; }
.onboarding-phase-head { padding-bottom: 22px; gap: 20px; }
.onboarding-phase-head h3 { margin-top: 12px; font-size: 14px; line-height: 1.6; }
.onboarding-task { padding: 22px; gap: 16px; }
.onboarding-task-v2 { grid-template-columns: 42px minmax(0,1fr); align-items: start; }
.task-copy h3 { font-size: 17px; margin: 10px 0; }
.task-topline { flex-wrap: wrap; gap: 5px 12px; }
.task-copy span, .task-topline small { font-size: 11px; }
.onboarding-task-v2 .task-action { grid-column: 2; font-size: 13px; }
.recommended-pill { position: static; grid-column: 2; justify-self: start; margin: 0; font-size: 10px; padding: 5px 9px; }
.onboarding-task-v2.current .task-copy { padding-top: 0; }
.onboarding-help-card { padding: 26px; }
.onboarding-help-card p, .onboarding-help-card a, .onboarding-save-note p { font-size: 13px; line-height: 1.7; }
.onboarding-save-note { min-width: 0; flex-shrink: 0; }
.first-week-steps { gap: 14px; }
.first-week-steps > div { padding: 18px; flex-direction: column; }
.first-week-steps strong { font-size: 14px; }
.first-week-steps small { font-size: 13px; line-height: 1.6; }
.onboarding-first-week-copy p { font-size: 14px; }
.entitlement-grid, .support-action-grid { gap: 20px; }
.entitlement-card { padding: 24px; gap: 16px; }
.entitlement-card h3 { margin-bottom: 12px; font-size: 20px; }
.entitlement-card p { font-size: 14px; line-height: 1.7; }
.support-action-card { padding: 20px; gap: 8px; }
.support-action-card strong { font-size: 15px; }
.support-action-card span { font-size: 13px; line-height: 1.7; }
.help-grid, .policy-link-grid { gap: 20px; }
.help-card, .policy-link-grid a { padding: 24px; }
.help-card strong { font-size: 19px; margin: 12px 0; }
.help-card p { font-size: 14px; line-height: 1.7; }
.notification-toggle { padding: 22px 0; }
.notification-toggle span, .essential-notification-list span { font-size: 14px; margin-top: 8px; line-height: 1.7; }
.essential-notification-list > div { padding: 20px 0; }
.check-row { gap: 14px; padding: 18px; }
.check-row input { flex-shrink: 0; }
.check-row span, .orientation-card p, .qcc-checklist p { font-size: 14px; line-height: 1.7; }
.equipment-item { padding: 20px; gap: 16px; }
.equipment-item strong { font-size: 15px; }
.equipment-item small { font-size: 13px; line-height: 1.7; margin-top: 8px; }

/* Elite keeps its gold accent with the same readable type scale. */
.elite-dashboard-panel, .elite-support-hero { padding: 32px; }
.elite-dashboard-copy .hero-actions { gap: 16px; }
.elite-support-progress-meta { font-size: 12px; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; }
.elite-next-label, .elite-entitlement-grid span { font-size: 13px; line-height: 1.6; }
.elite-support-summary-grid { gap: 20px; margin-top: 24px; }
.elite-support-summary-grid > div { padding: 24px; }
.elite-support-summary-grid span { font-size: 14px; margin: 10px 0 8px; }
.elite-support-summary-grid small { font-size: 13px; line-height: 1.7; color: var(--muted); }
.elite-support-hero .elite-kicker, .elite-dashboard-panel .elite-kicker { color: #ebca78; }
.elite-support-group { margin-top: 36px; }
.elite-support-group-head { margin-bottom: 20px; }
.elite-support-group-head p { font-size: 14px; line-height: 1.7; }
.elite-support-list { gap: 20px; }
.elite-support-item { padding: 26px; gap: 24px; grid-template-columns: 125px minmax(0,1fr) minmax(180px,240px); }
.elite-support-item-copy h3 { font-size: 18px; margin-bottom: 12px; }
.elite-support-item-copy > p { font-size: 14px; line-height: 1.7; }
.elite-support-note, .elite-learner-request { padding: 16px; margin-top: 16px; }
.elite-support-note p, .elite-learner-request p { font-size: 13px; line-height: 1.7; margin-top: 9px; }
.elite-request-form { gap: 12px; }
.elite-request-form .textarea { padding: 12px; font-size: 14px; min-height: 100px; }
.elite-admin-item { padding: 24px; }
.elite-admin-item-head h3 { font-size: 18px; margin: 10px 0; }
.elite-admin-item-head p { font-size: 14px; line-height: 1.7; }
.elite-admin-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.elite-admin-fields label { gap: 9px; font-size: 12px; }
.elite-admin-fields .input, .elite-admin-fields .select, .elite-admin-fields .textarea { padding: 12px; font-size: 14px; }
.elite-admin-alert p, .elite-student-admin-summary p, .elite-admin-student p, .elite-course-support-cta p, .elite-career-disclaimer p { font-size: 13px; line-height: 1.7; margin-top: 8px; }

/* Authentication */
.auth-page { background: #edf3f5; padding: 48px 24px; }
.auth-wrap { border: 1px solid #dce6ea; border-radius: 24px; box-shadow: 0 16px 60px rgba(8,38,54,.08); grid-template-columns: 1.05fr 1fr; }
.auth-brand { min-height: 660px; padding: 48px; gap: 48px; background: radial-gradient(ellipse at 0 100%,rgba(99,222,197,.12),transparent 65%),#0b2030; }
.auth-brand img { width: 240px; height: 86px; }
.auth-brand h1 { font-size: 44px; line-height: 1.14; letter-spacing: -.045em; margin: 18px 0 24px; }
.auth-brand h1 span { color: #7ce5cf; }
.auth-brand p { font-size: 15px; line-height: 1.85; margin-bottom: 28px; }
.auth-brand .eyebrow { color: #83e6cf; font-size: 11px; }
.auth-points { gap: 13px; font-size: 13px; font-weight: 500; }
.auth-card { padding: 48px; }
.auth-card .kicker { margin-bottom: 16px; }
.auth-card h2 { font-size: 34px; margin-bottom: 14px; }
.auth-card > p { font-size: 15px; line-height: 1.75; margin-bottom: 30px; }
.auth-card form { gap: 24px; }
.auth-card .btn { min-height: 48px; margin-top: 4px; }
.auth-card .helper { font-size: 13px; }

/* Breakpoints account for the width taken by the persistent sidebar. */
@media (min-width: 981px) and (max-width: 1250px) {
  .grid-2, .cohort-admin-grid { grid-template-columns: 1fr; }
  .progress-breakdown-card, .help-grid, .policy-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .student-cohort-banner { align-items: stretch; flex-direction: column; }
  .student-cohort-meta { flex-basis: auto; }
  .elite-support-item { grid-template-columns: 120px minmax(0,1fr); }
  .elite-support-actions { grid-column: 2; }
  .next-action-card { grid-template-columns: 48px minmax(0,1fr); }
  .next-action-card > .btn { grid-column: 2; justify-self: start; }
  .onboarding-command-row { grid-template-columns: 1fr; }
  .onboarding-first-week { grid-template-columns: 1fr; }
  .onboarding-checklist-heading { flex-wrap: wrap; }
  .topbar-actions .onboarding-mini { display: none; }
}
@media (max-width: 1100px) {
  .lesson-layout { grid-template-columns: 1fr; }
  .lesson-sidebar { position: static; max-height: 360px; }
  .auth-brand { padding: 36px; }
  .auth-card { padding: 36px; }
  .auth-brand h1 { font-size: 38px; }
}
@media (max-width: 980px) {
  .sidebar { width: min(300px,calc(100vw - 48px)); transform: translateX(-100%); visibility: hidden; transition: transform .2s; z-index: 60; }
  .sidebar.open { transform: translateX(0); visibility: visible; }
  .sidebar-close { display: flex; position: absolute; top: 18px; right: 12px; }
  .sidebar .brand { padding-right: 44px; }
  .sidebar .brand img { width: 170px; }
  .sidebar-footer { margin-top: auto; padding-top: 22px; }
  .sidebar nav { margin-bottom: 24px; }
  .sidebar-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 55; border: 0; background: rgba(5,22,34,.5); cursor: pointer; }
  .nav-open { overflow: hidden; }
  .main { width: 100%; margin-left: 0; }
  .menu-btn { display: inline-flex; }
  .topbar { padding: 18px 24px; gap: 16px; min-height: 88px; }
  .content { padding: 28px 24px 40px; }
  .topbar-actions { display: flex; }
  .topbar h1 { font-size: 21px; }
  .app-footer { padding: 22px 24px; }
  .auth-brand { min-height: 600px; }
}
@media (max-width: 760px) {
  .grid-2, .grid-3, .grid-4, .cohort-admin-grid, .form-grid, .resource-list, .entitlement-grid, .programme-access-grid { grid-template-columns: 1fr; }
  .topbar { padding: 14px 18px; gap: 12px; }
  .topbar h1 { font-size: 19px; }
  .topbar-title .eyebrow { font-size: 9px; }
  .topbar-actions { gap: 6px; }
  .profile-link { width: 42px; min-height: 42px; padding: 10px; }
  .profile-link span { display: none; }
  .programme-chip { display: none; }
  .programme-switcher { padding: 4px 6px; }
  .programme-switcher select { max-width: 110px; min-height: 32px; font-size: 12px; }
  .content { padding: 22px 18px 36px; }
  .hero, .onboarding-hero, .elite-support-hero, .elite-dashboard-panel { padding: 28px 24px; }
  .hero h2, .onboarding-hero h2 { font-size: 29px; }
  .card, .form-card, .programme-access-summary, .cohort-card, .programme-support-panel { padding: 24px; }
  .section-title { align-items: flex-start; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
  .section-title h2 { font-size: 21px; }
  .next-action-card { padding: 22px; gap: 16px; grid-template-columns: 42px minmax(0,1fr); }
  .next-action-card > .btn { grid-column: 1 / -1; width: 100%; }
  .next-action-card h2 { font-size: 21px; }
  .next-action-icon { width: 42px; height: 42px; }
  .student-cohort-banner, .cohort-filter-banner { flex-direction: column; align-items: stretch; padding: 24px; }
  .student-cohort-meta { flex-basis: auto; }
  .course-cohort-strip { grid-template-columns: 1fr; }
  .course-cohort-strip > div + div { padding-top: 18px; border-top: 1px solid var(--line); }
  .module-head { padding: 20px; gap: 14px; flex-wrap: wrap; }
  .module-title { flex-basis: calc(100% - 62px); }
  .module-head > .pill, .module-head > .lock-note { margin-left: 58px; }
  .lesson-row { padding: 18px 20px; gap: 12px; flex-wrap: wrap; }
  .lesson-name { flex-basis: calc(100% - 46px); }
  .lesson-row > .status-pill { margin-left: 46px; }
  .lesson-content { padding: 24px; }
  .lesson-content h2 { font-size: 24px; }
  .lesson-actions > div { display: flex; }
  .onboarding-phase { padding: 20px; }
  .onboarding-task { padding: 18px; gap: 14px; }
  .onboarding-next-card { padding: 22px; }
  .onboarding-help-card { display: block; }
  .onboarding-help-card p { margin-bottom: 16px; }
  .onboarding-save-note { flex-shrink: 1; }
  .elite-support-item { grid-template-columns: 1fr; padding: 24px; }
  .elite-support-actions { grid-column: 1; }
  .elite-admin-fields { grid-template-columns: 1fr; }
  .elite-support-summary-grid { gap: 14px; }
  .elite-support-summary-grid > div { padding: 20px; }
  .first-week-steps > div { flex-direction: row; }
  .auth-page { padding: 20px 16px; }
  .auth-wrap { grid-template-columns: 1fr; border-radius: 20px; }
  .auth-brand { min-height: auto; gap: 30px; padding: 30px; }
  .auth-brand img { width: 190px; height: 66px; }
  .auth-brand h1 { font-size: 34px; }
  .auth-card { padding: 32px 30px; }
  .auth-card h2 { font-size: 30px; }
  .input, .select, .textarea, .elite-admin-fields .input, .elite-admin-fields .select, .elite-admin-fields .textarea, .elite-request-form .textarea { font-size: 16px; }
}
@media (max-width: 480px) {
  .topbar { flex-wrap: wrap; }
  .topbar:has(.programme-switcher) .topbar-actions { flex: 1 0 100%; justify-content: space-between; padding-left: 54px; }
  .topbar:has(.programme-switcher) { position: static; }
  .programme-switcher select { max-width: 160px; }
  .progress-breakdown-card { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .progress-breakdown-card > div { padding: 18px 14px; }
  .progress-breakdown-card strong { font-size: 26px; }
  .progress-breakdown-card small { font-size: 12px; }
  .progress-breakdown-card span { font-size: 10px; letter-spacing: .02em; }
  .student-cohort-meta, .cohort-facts { grid-template-columns: 1fr; gap: 20px; }
  .cohort-card-top { flex-wrap: wrap; }
  .help-grid, .policy-link-grid, .results-summary-grid { grid-template-columns: 1fr; }
  .event-row { flex-wrap: wrap; }
  .event-info { flex-basis: calc(100% - 74px); }
  .event-row > a, .event-row > .status-pill { margin-left: 74px; }
  .hero-actions > a { width: 100%; }
  .onboarding-task { grid-template-columns: 34px minmax(0,1fr); gap: 12px; padding: 16px; }
  .task-number { width: 34px; height: 34px; border-radius: 10px; }
  .task-copy h3 { font-size: 16px; }
  .task-copy p { font-size: 13px; }
  .onboarding-phase { padding: 16px; }
  .elite-support-summary-grid { grid-template-columns: 1fr; }
  .auth-brand, .auth-card { padding: 28px 24px; }
  .auth-brand h1 { font-size: 31px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media print {
  .sidebar-backdrop, .skip-link { display: none !important; }
  .main { width: 100%; margin: 0; }
  .content { max-width: none; padding: 0; }
}


/* Admin Operations & Account Access V10 */
.label-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.auth-text-link{color:#0b7f78;text-decoration:none;font-weight:800;font-size:13px}.auth-text-link:hover{text-decoration:underline}
.student-admin-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.student-admin-actions form{margin:0}
.invitation-security-note{display:grid;gap:7px;margin-top:18px;padding:14px;border:1px solid #dce9ee;border-radius:12px;background:#f7fbfc}.invitation-security-note strong{color:#12384d}.invitation-security-note span{font-size:12px;color:#607987}.invitation-security-note span:before{content:"✓";color:#0a8f82;font-weight:900;margin-right:7px}
.cohort-ops-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.cohort-ops-metrics span{padding:10px;border:1px solid #e2ecf0;border-radius:11px;background:#f9fcfd}.cohort-ops-metrics b,.cohort-ops-metrics small{display:block}.cohort-ops-metrics b{font-size:18px;color:#14394d}.cohort-ops-metrics small{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#748996;margin-top:3px}.cohort-ops-metrics span.risk b{color:#b42318}
.cohort-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.risk-stat .value{color:#b42318}
.status-pill.risk{background:#fff0ed;color:#b42318;border-color:#f0c6bf}.risk-reasons{display:grid;gap:2px;margin-top:5px}.risk-reasons small{display:block;color:#a04435;max-width:220px}
.admin-cohort-summary-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;border:1px solid #dfe9ee;border-radius:15px;background:#fff;color:inherit;text-decoration:none;transition:.18s ease}.admin-cohort-summary-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,50,70,.08)}.admin-cohort-summary-card h3{margin:5px 0}.admin-cohort-summary-card small{color:#718691}.admin-cohort-summary-metrics{display:grid;grid-template-columns:repeat(3,auto);gap:12px;text-align:center}.admin-cohort-summary-metrics span{min-width:56px}.admin-cohort-summary-metrics b,.admin-cohort-summary-metrics small{display:block}.admin-cohort-summary-metrics b{font-size:17px;color:#11384d}.admin-cohort-summary-metrics span.risk b{color:#b42318}.admin-cohort-summary-metrics small{font-size:9px;text-transform:uppercase}
.cohort-command-hero .hero-actions{flex-wrap:wrap}.cohort-risk-definition{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff8ed;border:1px solid #efd8ad;color:#795315}.cohort-risk-definition span{font-size:12px;color:#7d6846}
@media(max-width:1100px){.cohort-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-cohort-summary-card{display:block}.admin-cohort-summary-metrics{margin-top:12px;justify-content:start}}
@media(max-width:700px){.cohort-ops-metrics,.cohort-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-cohort-summary-metrics{grid-template-columns:repeat(3,1fr)}}


/* Admin Scale V12 */
.student-filter-panel{margin:20px 0;padding:18px;border:1px solid #dfe9ee;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(17,55,75,.04)}
.student-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-filter-grid .filter-search{grid-column:span 2}.student-filter-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.student-filter-actions>span{margin-left:auto;color:#6d818d;font-size:12px;font-weight:800}
.bulk-student-bar{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(160px,1fr) minmax(140px,.9fr) minmax(160px,1fr) minmax(180px,1.1fr) minmax(200px,1.3fr) auto;gap:8px;align-items:center;padding:12px;border:1px solid #d8e6ec;border-radius:15px;background:#f6fafc;margin:16px 0;position:sticky;top:82px;z-index:7;box-shadow:0 7px 20px rgba(14,47,65,.06)}
.bulk-selected strong,.bulk-selected span{display:block}.bulk-selected span{font-size:11px;color:#718590;margin-top:3px}.student-risk-reason{display:block;color:#8a4b2a;margin-top:4px;max-width:220px}.payment-pill{display:inline-block;padding:6px 9px;border-radius:999px;background:#f1f5f7;color:#46606f;font-size:11px;font-weight:800}.payment-paid{background:#eafaf5;color:#087665}.payment-pending,.payment-partial{background:#fff8e7;color:#946200}.payment-refunded{background:#f5efff;color:#6b45a4}.payment-waived{background:#eef5ff;color:#315f99}
.student-pagination{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0 24px;color:#617784;font-size:12px}.student-pagination>div{display:flex;gap:7px}
@media(max-width:1200px){.student-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bulk-student-bar{grid-template-columns:repeat(3,minmax(0,1fr));position:static}.bulk-selected{grid-column:1/-1}}
@media(max-width:800px){.student-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-filter-grid .filter-search{grid-column:1/-1}.bulk-student-bar{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.student-filter-grid,.bulk-student-bar{grid-template-columns:1fr}.student-filter-grid .filter-search{grid-column:auto}.student-filter-actions>span{margin-left:0}.student-pagination{align-items:flex-start;flex-direction:column}}


/* At-Risk Operations V13 */
.stat-link{display:block;color:inherit;text-decoration:none;transition:.18s ease}.stat-link:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,49,67,.08)}
.risk-rule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0}.risk-rule-card{padding:13px;border:1px solid #eadfd6;border-radius:13px;background:#fff;color:#314c5c;text-decoration:none;min-height:86px}.risk-rule-card strong,.risk-rule-card span{display:block}.risk-rule-card strong{font-size:22px;color:#b42318}.risk-rule-card span{font-size:11px;font-weight:800;line-height:1.35;margin-top:5px}.risk-rule-card.active{background:#fff4f1;border-color:#e7afa6;box-shadow:inset 0 0 0 1px #e7afa6}
.risk-list{display:grid;gap:12px;margin-top:18px}.risk-student-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:start;padding:18px;border:1px solid #e6ddd7;border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(27,50,63,.04)}.risk-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff0eb;color:#a53725;font-weight:900;font-size:17px}.risk-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.risk-title strong,.risk-title span{display:block}.risk-title>div>span{color:#718590;font-size:12px;margin-top:3px}.risk-primary{font-weight:900;color:#9d311f;margin-top:9px}.risk-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.risk-reasons span{display:inline-block;padding:5px 8px;border-radius:999px;background:#fff7ed;color:#8f5325;font-size:11px;font-weight:700}.risk-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-top:11px;color:#728692;font-size:11px}.risk-metrics b{color:#1a3c4f}.risk-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1250px){.risk-rule-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.risk-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-student-card{grid-template-columns:42px minmax(0,1fr)}.risk-avatar{width:42px;height:42px}.risk-actions{grid-column:1/-1;justify-content:flex-start}.risk-title{display:block}.risk-title>.status-pill{margin-top:6px}}
@media(max-width:480px){.risk-rule-grid{grid-template-columns:1fr}}

/* Admissions & Application Management V14 */
.admissions-dashboard-card{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:22px 0;padding:20px 22px;border:1px solid #cfe7e3;border-radius:17px;background:linear-gradient(135deg,#f7fffd,#f3f8ff);color:inherit;text-decoration:none;box-shadow:var(--shadow);transition:.18s ease}.admissions-dashboard-card:hover{transform:translateY(-1px);border-color:#8dd5cc;box-shadow:0 12px 28px rgba(15,50,70,.08)}.admissions-dashboard-card strong{display:block;margin:5px 0 4px;font-size:18px;color:#12384d}.admissions-dashboard-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;max-width:760px}.admissions-dashboard-card>.btn-outline{flex:0 0 auto}
.application-storage-error code{padding:2px 5px;border-radius:6px;background:#edf4f7;font-size:.92em}.application-hero{margin-bottom:20px}.application-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.application-stats a{display:flex;flex-direction:column;gap:5px;padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:var(--shadow);transition:.18s ease}.application-stats a:hover,.application-stats a.active{border-color:#85d8cd;background:#f5fffd;transform:translateY(-1px)}.application-stats strong{font-size:26px;line-height:1;color:var(--ink)}.application-stats span{font-size:11px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.application-filter-bar{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.65fr) minmax(180px,.8fr) auto;gap:12px;align-items:end;margin:16px 0 20px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.application-filter-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}.application-admin-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr);gap:22px;align-items:start}.application-list-panel{min-width:0}.application-table tr.is-selected td{background:#f2fffb}.application-table td small{color:var(--muted)}
.application-detail-panel{position:sticky;top:108px;border:1px solid var(--line);border-radius:20px;background:#fff;padding:22px;box-shadow:var(--shadow);max-height:calc(100vh - 132px);overflow:auto;scrollbar-gutter:stable}.application-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.application-detail-head h2{margin:5px 0 3px}.application-detail-head p{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.application-detail-head p a{color:#0b7f78;text-decoration:none}.application-stage-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:16px 0;border-bottom:1px solid var(--line)}.application-stage-strip span{position:relative;text-align:center;color:#8b9ba5}.application-stage-strip span:after{content:"";position:absolute;top:13px;left:60%;width:80%;height:2px;background:#e3eaee;z-index:0}.application-stage-strip span:last-child:after{display:none}.application-stage-strip b{position:relative;z-index:1;width:28px;height:28px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;background:#edf2f4;color:#718591;font-size:11px}.application-stage-strip small{display:block;font-size:9px;line-height:1.25;font-weight:800}.application-stage-strip span.complete b{background:#daf8f1;color:#087665}.application-stage-strip span.complete:after{background:#9adfcf}.application-stage-strip span.current b{box-shadow:0 0 0 3px rgba(99,222,197,.25)}
.application-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.application-facts>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fbfdfe;min-width:0}.application-facts span,.application-message>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900;margin-bottom:4px}.application-facts strong{display:block;font-size:13px;overflow-wrap:anywhere}.application-message{padding:14px;border-radius:14px;background:#f7fafc;border:1px solid var(--line);margin-bottom:16px}.application-message p{margin:0;line-height:1.55}.application-action-card{padding:18px 0;border-top:1px solid var(--line)}.application-action-card h3{margin:5px 0 7px}.application-action-card>p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.55}.application-action-card .form-grid{grid-template-columns:1fr 1fr}.application-action-card .form-span-2{grid-column:1/-1}.application-action-card.success-card{padding:16px;border:1px solid #bce8d8;border-radius:14px;background:#f2fff9;margin:12px 0}.application-reject{border-top:1px solid var(--line);padding:16px 0}.application-reject summary{cursor:pointer;color:#a63b3b;font-weight:800}.application-reject form{margin-top:12px}.danger-outline{border-color:#e2b9b9!important;color:#a63b3b!important;background:#fffafa!important}
.application-timeline{border-top:1px solid var(--line);padding-top:18px}.application-timeline h3{margin:0 0 14px}.application-timeline>div{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;position:relative;padding-bottom:14px}.application-timeline>div>span{width:9px;height:9px;border-radius:50%;background:#16a697;margin-top:4px}.application-timeline p{margin:0}.application-timeline p strong,.application-timeline p small,.application-timeline p em{display:block}.application-timeline p small{color:var(--muted);font-size:11px;margin-top:2px}.application-timeline p em{font-style:normal;font-size:12px;color:#4e6170;margin-top:5px;line-height:1.45}.application-empty{position:sticky;top:108px}.application-empty p{color:var(--muted);line-height:1.6}.application-empty-steps{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.application-empty-steps span{padding:7px 9px;border-radius:999px;background:#eff6f7;color:#43616f;font-size:11px;font-weight:800}.status-pill.failed{background:#fff1f1;color:#9a3030;border:1px solid #f1caca}.status-pill.pending{background:#f4f7fa;color:#607080;border:1px solid #dfe6ec}
@media(max-width:1220px){.application-admin-layout{grid-template-columns:1fr}.application-detail-panel,.application-empty{position:static;max-height:none}.application-filter-bar{grid-template-columns:1fr 1fr}.application-filter-actions{grid-column:1/-1}.application-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.admissions-dashboard-card{align-items:flex-start;flex-direction:column}.admissions-dashboard-card>.btn-outline{width:100%;justify-content:center}.application-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.application-filter-bar{grid-template-columns:1fr}.application-filter-actions{grid-column:auto}.application-facts,.application-action-card .form-grid{grid-template-columns:1fr}.application-action-card .form-span-2{grid-column:auto}.application-detail-head{flex-direction:column}.application-detail-panel{padding:18px}.application-stage-strip{overflow:auto;grid-template-columns:repeat(5,minmax(74px,1fr));padding-bottom:18px}.application-table{min-width:650px}}
@media(max-width:480px){.application-stats{grid-template-columns:1fr 1fr}.application-filter-actions>*{flex:1;justify-content:center}}

/* Small usability hardening for dense admin navigation */
.sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.sidebar nav{flex:0 0 auto}.sidebar-footer{flex:0 0 auto}

/* Admissions & Application Management V15 hardening */
.admissions-dashboard-card.is-warning{border-color:#f0c987;background:linear-gradient(135deg,#fffaf0,#fffdf8)}
.admissions-dashboard-card.is-warning strong{color:#8a5a12}
.application-diagnostic{margin-top:14px;padding:12px 14px;border:1px solid #eadbbf;border-radius:12px;background:#fffaf2}
.application-diagnostic summary{cursor:pointer;font-weight:850;color:#6c4a17}
.application-diagnostic ul{margin:12px 0 0;padding-left:20px}
.application-diagnostic li+li{margin-top:8px}
.application-diagnostic code{white-space:normal;overflow-wrap:anywhere}
.application-intake-ref{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:760px){
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .application-filter-bar .btn,.application-filter-bar .btn-outline{min-height:44px}
  .application-detail-panel{border-radius:16px}
}

/* =========================================================
   Admissions payments — Paystack Phase 1 (V17)
   ========================================================= */
.application-payment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0 7px}.application-payment-heading h3{margin:0}.payment-mode{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em;background:#eef3f6;color:#5d7180;border:1px solid #dce6eb}.payment-mode.live{background:#eafaf5;color:#087665;border-color:#bee9da}.payment-mode.test{background:#fff7df;color:#866315;border-color:#ead9a0}.payment-mode.not_configured{background:#fff1f1;color:#9b3636;border-color:#efcaca}.payment-alert{display:grid;gap:4px;padding:12px 14px;border-radius:12px;margin:12px 0}.payment-alert strong{font-size:13px}.payment-alert span{font-size:12px;line-height:1.5}.payment-alert.warning{background:#fff9e9;border:1px solid #ecdcae;color:#765a16}.payment-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.payment-meta-grid>div{min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfdfe}.payment-meta-grid span,.payment-webhook-note span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900;margin-bottom:4px}.payment-meta-grid strong{display:block;font-size:13px;overflow-wrap:anywhere}.payment-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.payment-actions form{margin:0}.payment-webhook-note{margin-top:14px;padding:10px 12px;border-radius:10px;background:#f4f7f9;border:1px dashed #cfdee5}.payment-webhook-note code{display:block;font-size:11px;line-height:1.45;overflow-wrap:anywhere;color:#425f70}.manual-payment-fallback{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.manual-payment-fallback summary{cursor:pointer;font-size:12px;font-weight:850;color:#607584}.manual-payment-fallback p{margin:8px 0 10px;font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:760px){.application-payment-heading{align-items:flex-start}.payment-meta-grid{grid-template-columns:1fr}.payment-actions{align-items:stretch}.payment-actions>.btn-outline,.payment-actions form,.payment-actions form .btn-outline{width:100%;justify-content:center}}

/* =========================================================
   Mobile experience hardening — V18
   Keeps the desktop workspace intact while making student and
   administration screens easier to use on phones and small tablets.
   ========================================================= */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

@media(max-width:980px){
  body.app-shell{overflow-x:hidden}
  .sidebar{
    width:min(88vw,320px);
    padding-top:max(16px,env(safe-area-inset-top));
    padding-right:16px;
    padding-bottom:max(16px,env(safe-area-inset-bottom));
    padding-left:max(16px,env(safe-area-inset-left));
  }
  .sidebar .brand{padding-bottom:16px;margin-bottom:12px}
  .sidebar .brand img{width:185px;height:64px}
  .sidebar-close{top:max(14px,env(safe-area-inset-top));right:12px}
  .sidebar nav{gap:5px;margin-bottom:18px}
  .nav-link{min-height:46px;padding:11px 12px;border-radius:10px}
  .nav-heading{padding:0 10px 7px}
  .main{min-width:0;overflow-x:hidden}
  .topbar{
    padding-left:max(18px,env(safe-area-inset-left));
    padding-right:max(18px,env(safe-area-inset-right));
  }
  .content{max-width:none}
  .grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  .topbar{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    align-items:center;
    min-height:72px;
    padding-top:10px;
    padding-right:max(14px,env(safe-area-inset-right));
    padding-bottom:10px;
    padding-left:max(14px,env(safe-area-inset-left));
    gap:10px;
  }
  .menu-btn{display:inline-flex;width:42px;height:42px;min-height:42px;padding:0}
  .topbar-title{min-width:0;overflow:hidden}
  .topbar h1{font-size:18px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-title .eyebrow{font-size:8.5px;line-height:1.25;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-actions{min-width:0;display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end;align-items:center}
  .topbar-actions .onboarding-mini{display:none}
  .profile-link{width:42px;height:42px;min-height:42px;padding:0;flex:0 0 42px}
  .programme-switcher{min-width:0;max-width:150px;min-height:40px;padding:5px 7px}
  .programme-switcher label{display:none}
  .programme-switcher select{width:100%;max-width:126px;min-width:0;min-height:30px;font-size:13px}

  .content{
    width:100%;
    padding-top:18px;
    padding-right:max(14px,env(safe-area-inset-right));
    padding-bottom:max(34px,calc(env(safe-area-inset-bottom) + 22px));
    padding-left:max(14px,env(safe-area-inset-left));
    overflow-x:hidden;
  }
  .grid{gap:14px}
  .grid-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .stat{padding:18px;border-radius:14px}
  .stat .value{font-size:29px}
  .card,.form-card,.programme-access-summary,.cohort-card,.programme-support-panel{padding:18px;border-radius:15px}
  .card h2,.form-card h2{font-size:21px}
  .card h3{font-size:17px}

  .hero,.onboarding-hero,.elite-support-hero,.elite-dashboard-panel{padding:22px 18px;border-radius:17px}
  .hero h2,.onboarding-hero h2{font-size:26px;line-height:1.18;margin:10px 0 12px}
  .hero p,.onboarding-hero p{font-size:14px;line-height:1.65;margin-bottom:18px}
  .hero-actions{gap:8px;margin-top:18px}
  .progress-meta{font-size:12px;gap:5px 12px}

  .section-title{margin:26px 0 14px;gap:10px}
  .section-title h2{font-size:20px}
  .section-title p{font-size:13px;line-height:1.5}

  .tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    margin-right:-14px;
    margin-left:-14px;
    padding:2px 14px 8px;
    scroll-snap-type:x proximity;
  }
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}

  .form-grid{gap:14px}
  .form-group{gap:7px}
  .input,.select,.textarea{font-size:16px;min-height:48px;padding:12px 13px}
  .textarea{min-height:112px}
  .helper{font-size:12px;line-height:1.55}

  .table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    border-radius:14px;
  }
  .table{min-width:620px}
  .table th{padding:12px 14px;font-size:10px}
  .table td{padding:14px;font-size:12px;line-height:1.55}

  .lesson-sidebar{max-height:280px;border-radius:14px}
  .video-frame{border-radius:14px}
  .lesson-content{padding:19px;border-radius:15px;margin-top:14px}
  .lesson-content h2{font-size:23px;margin:10px 0 18px}
  .lesson-content h3{font-size:19px;margin:24px 0 12px}
  .lesson-content p,.lesson-content li{font-size:14px;line-height:1.75}
  .lesson-content pre{padding:14px;font-size:12px}
  .lesson-actions{gap:8px}
  .lesson-actions>.btn,.lesson-actions>.btn-outline,.lesson-actions>div{min-width:0}

  .course-cover{padding:22px 18px;min-height:126px}
  .course-body{padding:18px}
  .module-head{padding:16px;gap:12px}
  .lesson-row{padding:15px 16px;gap:10px}
  .announcement{padding:16px}
  .event-row{padding:16px 0}
  .assignment-status{align-items:flex-start;flex-direction:column;gap:10px}
  .quiz-feedback-head{align-items:flex-start;flex-direction:column}
  .baseline-submit{width:100%;justify-content:center}

  .programme-admin-toolbar{padding:16px;gap:14px}
  .programme-admin-toolbar form{gap:8px}
  .programme-admin-metrics{width:100%;justify-content:flex-start}
  .student-filter-panel{padding:15px;margin:16px 0}
  .student-filter-actions,.student-admin-actions,.risk-actions,.application-filter-actions{gap:8px}
  .bulk-student-bar{padding:10px}
  .risk-student-card{padding:15px;gap:12px}
  .application-detail-panel{border-radius:15px}
  .application-stage-strip{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .application-stage-strip span{scroll-snap-align:start}

  .app-footer{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    padding-top:18px;
    padding-right:max(14px,env(safe-area-inset-right));
    padding-bottom:max(20px,env(safe-area-inset-bottom));
    padding-left:max(14px,env(safe-area-inset-left));
    font-size:11px;
    line-height:1.5;
  }
  .footer-links{display:flex;gap:8px 16px}

  .auth-page{min-height:100dvh;padding:0;background:#fff;place-items:stretch}
  .auth-wrap{width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none;overflow:visible}
  .auth-brand{min-height:auto;padding:24px 20px;gap:18px}
  .auth-brand img{width:175px;height:58px}
  .auth-brand h1{font-size:28px;line-height:1.12;margin:12px 0 14px}
  .auth-brand p{font-size:14px;line-height:1.6;margin-bottom:16px}
  .auth-points{gap:7px;font-size:12px;line-height:1.5}
  .auth-card{padding:28px 20px max(36px,calc(env(safe-area-inset-bottom) + 24px));justify-content:flex-start}
  .auth-card h2{font-size:27px;line-height:1.2}
  .auth-card>p{font-size:14px;line-height:1.6;margin-bottom:22px}
  .auth-card form{gap:18px}
  .auth-card .btn{min-height:50px}
}

@media(max-width:480px){
  .topbar{grid-template-columns:40px minmax(0,1fr) 40px;min-height:68px;padding-top:8px;padding-bottom:8px;position:sticky}
  .menu-btn,.profile-link{width:40px;height:40px;min-height:40px}
  .topbar h1{font-size:17px}
  .topbar:has(.programme-switcher){grid-template-columns:40px minmax(0,1fr) 40px;position:sticky}
  .topbar:has(.programme-switcher) .topbar-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1fr) 40px;
    width:100%;
    padding-left:50px;
  }
  .topbar:has(.programme-switcher) .programme-switcher{width:100%;max-width:none}
  .topbar:has(.programme-switcher) .programme-switcher select{width:100%;max-width:none}

  .content{padding-top:14px;padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}
  .grid-5{grid-template-columns:1fr}
  .grid{gap:12px}
  .card,.form-card,.programme-access-summary,.cohort-card,.programme-support-panel{padding:16px}
  .stat{padding:16px}
  .hero,.onboarding-hero,.elite-support-hero,.elite-dashboard-panel{padding:20px 16px}
  .hero h2,.onboarding-hero h2{font-size:24px}
  .hero-actions>.btn,.hero-actions>.btn-outline,.hero-actions>a{width:100%;justify-content:center}

  .section-title{align-items:stretch}
  .section-title>a,.section-title>.btn,.section-title>.btn-outline{width:100%;justify-content:center}

  .module-head>.pill,.module-head>.lock-note{margin-left:0}
  .lesson-row>.status-pill{margin-left:0}
  .lesson-actions,.lesson-actions>div{width:100%}
  .lesson-actions>.btn,.lesson-actions>.btn-outline,.lesson-actions>div>.btn,.lesson-actions>div>.btn-outline{width:100%;justify-content:center}
  .event-row>a,.event-row>.status-pill{margin-left:0}
  .event-row>a{width:100%;justify-content:center}

  .cohort-card-actions>.btn,.cohort-card-actions>.btn-outline,.cohort-card-actions form,
  .student-admin-actions>.btn,.student-admin-actions>.btn-outline,.student-admin-actions form,
  .risk-actions>.btn,.risk-actions>.btn-outline,.risk-actions form,
  .application-filter-actions>.btn,.application-filter-actions>.btn-outline,
  .payment-actions>.btn,.payment-actions>.btn-outline,.payment-actions form{
    width:100%;
  }
  .cohort-card-actions form .btn,.cohort-card-actions form .btn-outline,
  .student-admin-actions form .btn,.student-admin-actions form .btn-outline,
  .risk-actions form .btn,.risk-actions form .btn-outline,
  .payment-actions form .btn,.payment-actions form .btn-outline{
    width:100%;justify-content:center;
  }

  .application-stats{gap:8px}
  .application-stats a{padding:12px}
  .application-stats strong{font-size:22px}
  .application-detail-panel{padding:15px}
  .payment-alert{padding:11px 12px}

  .auth-brand{padding:22px 18px}
  .auth-brand img{width:160px;height:52px}
  .auth-brand h1{font-size:26px}
  .auth-card{padding:25px 18px max(32px,calc(env(safe-area-inset-bottom) + 20px))}
  .auth-card h2{font-size:25px}
}

@media(max-width:390px){
  .topbar-title .eyebrow{display:none}
  .topbar h1{font-size:16px}
  .application-stats{grid-template-columns:1fr}
  .progress-breakdown-card{grid-template-columns:1fr}
  .auth-brand p{display:none}
}
/* Password visibility controls */
.password-field{position:relative;width:100%}
.password-field .input{padding-right:94px}
.password-toggle{position:absolute;top:50%;right:7px;transform:translateY(-50%);min-height:34px;padding:5px 8px;border:0;border-radius:8px;background:transparent;color:#345064;display:inline-flex;align-items:center;justify-content:center;gap:5px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;touch-action:manipulation}
.password-toggle:hover{background:#edf5f7;color:#0b756d}
.password-toggle:focus-visible{outline:3px solid rgba(45,108,255,.22);outline-offset:1px}
.password-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
@media(max-width:480px){.password-field .input{padding-right:88px}.password-toggle{right:6px;min-height:36px;padding:6px 7px}}


/* V20 — cohort-only delivery, instructor video lessons, learner journey */
.lesson-row.is-disabled{
  cursor:not-allowed;
  background:#f8fbfc;
  color:#7b8e9b;
  opacity:.72;
}
.lesson-row.is-disabled:hover{background:#f8fbfc}
.syllabus-link.locked{
  color:#91a0aa;
  cursor:not-allowed;
  background:#fbfcfd;
  opacity:.78;
}
.video-frame video{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:#020b12;
}
.video-external{
  max-width:560px;
}
.video-external .btn{
  margin-top:12px;
}
.course-cohort-warning{
  margin-top:16px;
  border:1px solid #efdca2;
}
.student-cohort-summary.needs-cohort{
  border-color:#efc45e;
  background:#fff8e5;
}
.lesson-action-group{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.lesson-complete-pill{
  padding:12px 15px;
}
@media(max-width:780px){
  .lesson-action-group{width:100%}
  .lesson-action-group form,
  .lesson-action-group .btn,
  .lesson-action-group .btn-outline{width:100%}
  .lesson-action-group .btn,
  .lesson-action-group .btn-outline{justify-content:center}
  .video-frame{min-height:210px}
}
