:root{--bg:#061522;--bg2:#081d2e;--panel:#0a2235;--panel2:#0d2b42;--line:#17384c;--cyan:#12d0d3;--cyan2:#5af1ef;--text:#eef8fb;--muted:#95aebd;--green:#36d36b;--gold:#f3be3e;--rose:#f05476;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:radial-gradient(circle at 50% -20%,#103957 0,#061522 45%,#04101a 100%);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.topbar{height:84px;padding:0 28px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #123147;background:#061522e8;backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.modern-brand{display:flex;align-items:center;gap:12px;min-width:290px}.modern-brand img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--cyan)}.modern-brand b{display:block;font-size:22px;letter-spacing:.5px}.modern-brand small{display:block;color:var(--cyan);font-size:11px;margin-top:3px}.top-search{margin-inline:auto;display:flex;align-items:center;gap:12px;background:#0c2234;border:1px solid #132f43;border-radius:18px;padding:0 16px;width:min(410px,32vw)}.top-search input{border:0;background:transparent;color:var(--text);outline:0;width:100%;padding:13px 0}.modern-actions{display:flex;align-items:center;gap:13px}.icon-btn,.lang-switch{position:relative;display:grid;place-items:center;min-width:44px;height:44px;border:1px solid #132f43;border-radius:14px;background:#0c2234;color:#dbe9ef}.icon-btn span{position:absolute;top:-7px;right:-7px;background:var(--cyan);color:#04202b;border-radius:99px;font-size:10px;padding:3px 6px;font-weight:900}.user-chip{display:flex;align-items:center;gap:10px}.user-chip small{display:block;color:var(--cyan);margin-top:3px}.user-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#0d2f47,#18bcc0);font-weight:900}.modern-shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 84px)}.modern-sidebar{padding:18px;background:#071827;border-inline-end:1px solid #123147;display:flex;flex-direction:column;justify-content:space-between}.modern-sidebar nav{display:grid;gap:7px}.modern-sidebar a{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:13px;color:#a9bdc9}.modern-sidebar a span{width:24px;text-align:center;font-size:20px}.modern-sidebar a:hover,.modern-sidebar a.active{color:var(--cyan2);background:linear-gradient(90deg,#0e3446,#0a2838);box-shadow:inset 3px 0 0 var(--cyan)}[dir="rtl"] .modern-sidebar a:hover,[dir="rtl"] .modern-sidebar a.active{box-shadow:inset -3px 0 0 var(--cyan)}.support-btn{border:1px solid var(--cyan)!important;color:var(--cyan)!important;justify-content:center}.modern-workspace{padding:0 18px 20px;min-width:0}.hero-dashboard{margin-top:0;min-height:365px;border:1px solid #123c55;border-radius:0 0 18px 18px;background:radial-gradient(circle at 77% 50%,#0c4160 0,#08253a 36%,#071827 75%);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:38px 58px;overflow:hidden;position:relative}.hero-dashboard:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#13b9bc33 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent 30%,#000)}.hero-dashboard-copy{position:relative;z-index:2}.hero-dashboard h1,.public-hero h1{font-size:clamp(38px,4.2vw,66px);line-height:1.15;margin:0 0 22px}.hero-dashboard h1 span,.public-hero h1 span{color:var(--cyan)}.hero-dashboard p,.public-hero p{max-width:680px;color:#d5e5ec;font-size:18px;line-height:1.9}.hero-actions{display:flex;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:10px;font-weight:800;border:1px solid transparent}.teal{background:linear-gradient(135deg,#0fc4c8,#18e0dd);color:#04212b;box-shadow:0 10px 28px #09aeb633}.teal-outline{border-color:var(--cyan);color:var(--text);background:#07182799}.hero-logo-wrap{position:relative;z-index:2;display:grid;place-items:center}.hero-logo-wrap img{width:min(320px,70%);aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #22dee955,0 0 50px #10cfd43d}.logo-rings{position:absolute;width:min(420px,90%);aspect-ratio:1;border-radius:50%;border:1px solid #17cad34d;box-shadow:inset 0 0 0 30px #0b27373b}.modern-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:14px 0}.metric{background:linear-gradient(155deg,#0b2437,#0a1e30);border:1px solid #17364b;border-radius:16px;padding:19px;display:flex;align-items:center;gap:16px}.metric-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#0b3445;color:var(--cyan);font-size:27px}.metric b{display:block;font-size:28px}.metric span{display:block;color:#dfeef3;margin-top:4px}.metric small{display:block;color:var(--green);font-size:11px;margin-top:8px}.dashboard-columns{display:grid;grid-template-columns:1.05fr 1.05fr 1.2fr;gap:14px}.panel{border-radius:15px}.dark-panel{background:linear-gradient(160deg,#0b2235,#071a2a);border:1px solid #17364b;padding:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:0 3px 12px}.panel-head h3{margin:0}.panel-head a{color:var(--cyan);font-size:13px}.alert-row,.student-row,.course-mini{display:flex;align-items:center;gap:12px;padding:14px 2px;border-top:1px solid #153347}.alert-row div,.student-row div:nth-child(2),.course-mini div:nth-child(2){flex:1}.alert-row small,.student-row small,.course-mini small{display:block;color:var(--muted);margin-top:5px}.alert-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.rose{background:#421f2f;color:#ff6085}.cyan{background:#0c3646;color:var(--cyan)}.amber{background:#3d311c;color:var(--gold)}.round-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#174963;color:#fff;font-weight:900}.student-row>span{background:#0d3946;color:var(--cyan);border-radius:8px;padding:5px 9px;font-size:11px}.course-thumb{width:62px;height:43px;border-radius:9px;background:linear-gradient(145deg,#0b516c,#0b263a);display:grid;place-items:center;color:var(--cyan);font-weight:900}.course-mini>span{color:var(--gold);font-size:12px}.dashboard-footer{display:flex;justify-content:space-between;color:#91a8b6;font-size:12px;padding:28px 8px 4px}.public-home{min-height:100vh}.public-hero{min-height:600px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:72px 7vw;background:radial-gradient(circle at 75% 45%,#0b4763 0,#071d2c 35%,#05131e 75%)}.public-copy{max-width:760px}.public-logo{display:grid;place-items:center}.public-logo img{width:min(420px,80%);border-radius:50%;box-shadow:0 0 60px #13c8ce33}.eyebrow{color:var(--cyan);font-weight:900;letter-spacing:.12em}.modern-public-stats{width:86%;margin:-42px auto 55px;background:#0a2031;border:1px solid #17384c;border-radius:20px;padding:25px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 20px 50px #0005}.modern-public-stats div{text-align:center}.modern-public-stats b{display:block;font-size:30px;color:var(--cyan2)}.modern-public-stats span{color:var(--muted)}.section{padding:35px 6vw 70px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.section h2{font-size:34px;margin:7px 0}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.course-card{background:linear-gradient(150deg,#0b2437,#071827);border:1px solid #17364b;border-radius:18px;padding:18px}.course-art{height:140px;border-radius:14px;background:linear-gradient(145deg,#0f506c,#0b2538);display:grid;place-items:center;color:var(--cyan);font-size:46px;font-weight:900}.pill{display:inline-block;padding:5px 9px;border-radius:99px;background:#0d3946;color:var(--cyan);font-size:11px;margin-top:15px}.course-card p{color:var(--muted);min-height:44px}.course-meta{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid #17364b}.course-meta b{color:var(--cyan2)}.auth-wrap{min-height:calc(100vh - 84px);display:grid;place-items:center;padding:40px}.auth-panel{width:min(920px,95%);display:grid;grid-template-columns:1fr 1fr;gap:45px}.form-card{background:#0a2031;border:1px solid #17384c;border-radius:20px;padding:30px}.stack,label{display:grid;gap:8px}.stack{gap:14px}input,select{width:100%;padding:12px 14px;border:1px solid #24506a;border-radius:10px;background:#071827;color:var(--text)}.standalone{padding:30px 5vw}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#0a2031;border-radius:14px;overflow:hidden}th,td{padding:13px;border-bottom:1px solid #17384c;text-align:start}th{color:var(--cyan);font-size:12px}.two-col,.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.search{display:flex;gap:10px;margin-bottom:15px}.alert{padding:12px;border-radius:9px;background:#3a1720;color:#ff9eb0}@media(max-width:1100px){.modern-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr 1fr}.modern-shell{grid-template-columns:82px 1fr}.modern-sidebar a{justify-content:center}.modern-sidebar a:not(.support-btn){font-size:0}.modern-sidebar a span{font-size:20px}.modern-brand{min-width:auto}.modern-brand span{display:none}.user-chip div:last-child{display:none}.top-search{display:none}.course-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.topbar{padding:0 12px;height:70px}.modern-brand img{width:49px;height:49px}.icon-btn{display:none}.modern-shell{grid-template-columns:1fr}.modern-sidebar{position:fixed;left:0;right:0;bottom:0;z-index:40;height:66px;padding:6px 10px;border:0;border-top:1px solid #17384c}.modern-sidebar nav{display:grid;grid-template-columns:repeat(5,1fr);width:100%}.modern-sidebar nav a:nth-child(n+6){display:none}.modern-sidebar a{padding:8px}.support-btn{display:none!important}.modern-workspace{padding:0 10px 80px}.hero-dashboard,.public-hero{grid-template-columns:1fr;padding:32px 22px;min-height:auto}.hero-logo-wrap,.public-logo{margin-top:28px}.hero-logo-wrap img{width:210px}.hero-dashboard h1,.public-hero h1{font-size:38px}.hero-actions{flex-direction:column}.modern-metrics{grid-template-columns:1fr}.dashboard-columns{grid-template-columns:1fr}.dashboard-footer{flex-direction:column;gap:8px}.modern-actions{margin-inline-start:auto}.lang-switch{min-width:42px}.public-hero{padding-top:45px}.modern-public-stats{grid-template-columns:repeat(2,1fr);gap:20px}.course-grid,.two-col,.auth-panel{grid-template-columns:1fr}.section{padding:28px 18px}.section-head{align-items:flex-start;gap:14px;flex-direction:column}}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:28px 0 18px}.page-head h1{margin:3px 0 7px;font-size:34px}.page-head p{margin:0;color:var(--muted)}.head-actions{display:flex;gap:10px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.summary-card{background:#fff;color:#0a2234;border-radius:18px;padding:20px;display:flex;gap:15px;align-items:center;border:1px solid #dfe8ed}.summary-card>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e8fbfc;color:#08aeb4;font-size:23px}.summary-card small{display:block;color:#687b87}.summary-card b{display:block;font-size:28px;margin-top:5px}.data-surface,.form-surface,.profile-panel{background:#fff;color:#0a2234;border-radius:20px;border:1px solid #dfe8ed;padding:20px}.data-surface table{background:#fff;color:#0a2234}.data-surface th{background:#f1f6f8;color:#314855}.data-surface td{border-color:#e4ecef}.toolbar{display:flex;gap:10px;margin-bottom:18px}.toolbar input{flex:1}.toolbar input,.toolbar select,.form-surface input,.form-surface select,.form-surface textarea{background:#f8fbfc;color:#0a2234;border-color:#d6e3e9}.student-cell{display:flex;align-items:center;gap:12px}.student-cell img,.avatar-fallback{width:42px;height:42px;border-radius:50%;object-fit:cover}.avatar-fallback,.profile-fallback{display:grid;place-items:center;background:linear-gradient(145deg,#0d4258,#11cbd0);color:white;font-weight:900}.student-cell small{display:block;color:#748894;margin-top:3px}.status-pill{display:inline-flex;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:800}.status-pill.active{background:#dcf8e8;color:#16834a}.status-pill.inactive{background:#ffe2e2;color:#ba3030}.icon-link{font-size:18px}.registration-layout{display:grid;grid-template-columns:230px 1fr;gap:18px}.photo-card{background:#fff;color:#0a2234;border-radius:20px;padding:22px;text-align:center;border:1px solid #dfe8ed;height:max-content}.photo-card img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:5px solid #e4f7f8}.upload-btn{display:inline-flex;margin-top:16px;padding:10px 14px;border-radius:10px;background:#e8fbfc;color:#078e94;cursor:pointer;font-weight:800}.photo-card small{display:block;color:#728590;margin-top:10px}.form-surface h2{margin-top:0;border-bottom:1px solid #e2eaee;padding-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid label{color:#314855;font-weight:700}.form-grid .span-2{grid-column:span 2}.form-surface textarea{border-radius:10px;padding:12px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-identity{display:flex;gap:18px;align-items:center}.profile-identity img,.profile-fallback{width:100px;height:100px;border-radius:22px;object-fit:cover}.details-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.details-list div{background:#f5f9fb;border-radius:13px;padding:13px}.details-list dt{color:#6c808b;font-size:12px}.details-list dd{margin:5px 0 0;font-weight:800}.id-card-wrap{display:grid;place-items:center}.student-id-card{width:100%;max-width:440px;background:linear-gradient(145deg,#061827,#0a3348);border:1px solid #1bd0d4;border-radius:20px;color:white;overflow:hidden;box-shadow:0 20px 45px #00131f66}.card-brand{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #1b5264}.card-brand img{width:58px;height:58px;border-radius:50%;object-fit:cover}.card-brand b{display:block;font-size:20px}.card-brand small{color:#1ddde0}.card-main{display:grid;grid-template-columns:90px 1fr 86px;gap:15px;align-items:center;padding:20px}.card-photo{width:86px;height:104px;border-radius:12px;object-fit:cover;border:2px solid #30d8dc}.card-photo.fallback{display:grid;place-items:center;background:#0d5269;font-size:34px}.card-main h3{margin:0 0 9px}.card-main p{margin:5px 0;color:#d4e8ee}.qr{width:82px;height:82px;background:white;padding:5px;border-radius:9px}.card-footer{text-align:center;padding:11px;background:linear-gradient(90deg,#0a6975,#0b8e92);font-weight:900}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card-toolbar{max-width:520px}.standalone table{background:#fff;color:#0a2234}.standalone th{background:#0c2033;color:white}.standalone td{border-color:#e4ecef}@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.page-head{align-items:flex-start;flex-direction:column}.summary-grid,.form-grid,.profile-grid,.cards-grid{grid-template-columns:1fr}.registration-layout{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.toolbar{flex-wrap:wrap}.toolbar input{min-width:100%}.details-list{grid-template-columns:1fr}.card-main{grid-template-columns:70px 1fr 70px}.card-photo{width:68px;height:88px}.qr{width:66px;height:66px}}@media print{.topbar,.modern-sidebar,.page-head,.toolbar{display:none!important}.modern-shell{display:block}.modern-workspace{padding:0}.cards-grid{grid-template-columns:repeat(2,1fr)}.student-id-card{break-inside:avoid;box-shadow:none}}
.quicknav{display:flex;gap:8px;overflow:auto;padding:10px 18px;background:#081b2a;border-bottom:1px solid #17384c;position:sticky;top:84px;z-index:25}.quicknav a{white-space:nowrap;padding:8px 12px;border-radius:9px;color:#b9ccd5}.quicknav a:hover{background:#0d3547;color:var(--cyan)}.success-box{background:#dcf8e8;color:#137342;border-radius:10px;padding:13px;margin-bottom:15px;font-weight:800}.qr-help{margin-top:24px;border-top:1px solid #dfe8ed;padding-top:15px;color:#314855}.wide{width:100%}@media(max-width:720px){.quicknav{top:70px}.two-col{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}}

/* Student portal V2 */
.student-nav{position:sticky;top:76px;z-index:20;display:flex;gap:8px;padding:10px 18px;background:rgba(5,24,39,.96);border-bottom:1px solid rgba(37,211,218,.16);overflow-x:auto;white-space:nowrap}.student-nav a{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;color:#b9cbd7;text-decoration:none}.student-nav a:hover{background:rgba(23,199,207,.12);color:#21d4da}.student-workspace{max-width:1440px;margin:auto}.student-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px;border:1px solid rgba(43,214,221,.18);border-radius:24px;background:linear-gradient(125deg,#071b2d,#0a3146)}.student-welcome h1{margin:5px 0 8px}.student-id-mini{display:flex;align-items:center;gap:12px;min-width:220px;padding:12px;border-radius:18px;background:rgba(255,255,255,.07);color:inherit;text-decoration:none}.student-id-mini img{width:56px;height:56px;border-radius:50%;object-fit:cover}.student-id-mini span{display:flex;flex-direction:column}.student-id-mini small{color:#8fb2c2}.student-metrics{margin:18px 0}.student-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.student-actions a{display:flex;flex-direction:column;gap:7px;padding:22px;border:1px solid rgba(46,208,216,.16);border-radius:20px;background:#0a2235;color:inherit;text-decoration:none;transition:.2s}.student-actions a:hover{transform:translateY(-3px);border-color:#20d0d8}.student-actions span{font-size:28px}.student-actions small{color:#8ca8b8}.section-title-row{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow-x:auto}.marketplace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.marketplace-card{padding:0;overflow:hidden}.course-cover{width:100%;height:170px;object-fit:cover;background:#0b2b3d}.course-body{padding:18px}.course-meta,.seat-line,.price-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.course-body ul{padding-inline-start:20px;color:#9eb4c1}.seat-line{padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}.price-line{font-size:20px;margin-bottom:12px}.booking-panel summary{list-style:none;text-align:center;cursor:pointer}.booking-panel[open] summary{margin-bottom:12px}.service-card{position:relative}.service-icon{font-size:38px;margin-bottom:10px}.btn.muted{opacity:.55;cursor:not-allowed}.empty-state{text-align:center;padding:32px;color:#8fa8b7}.loyalty-hero{display:flex;justify-content:space-between;align-items:center;padding:34px;border-radius:24px;background:linear-gradient(130deg,#08273b,#08616b);margin-bottom:18px}.loyalty-hero strong{font-size:64px;color:#fff}.expiry-countdown{color:#ffca68}
@media(max-width:980px){.student-actions{grid-template-columns:repeat(2,1fr)}.marketplace-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.student-nav{top:66px}.student-nav a span{display:none}.student-nav a{font-size:20px}.student-welcome{align-items:flex-start;flex-direction:column}.student-id-mini{width:100%}.student-actions,.marketplace-grid{grid-template-columns:1fr}.student-metrics{grid-template-columns:repeat(2,1fr)}.loyalty-hero strong{font-size:44px}}
.course-groups{display:grid;gap:12px;margin-top:14px}.group-choice{padding:14px;border:1px solid rgba(46,208,216,.16);border-radius:14px;background:rgba(4,20,31,.45)}.group-choice p{margin:8px 0;color:#9eb4c1}.add-course textarea{width:100%;resize:vertical;font:inherit;padding:12px;border-radius:10px;border:1px solid #24445a;background:#081b2a;color:#eef8fb}.add-course label{display:grid;gap:7px;color:#b8ced9}
.profile-edit-surface{padding:24px}.profile-edit-grid{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}.profile-photo-editor{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.profile-photo-editor img,.profile-fallback.large{width:180px;height:180px;border-radius:28px;object-fit:cover;border:3px solid rgba(20,184,166,.35);background:#e8f7f5}.profile-fallback.large{display:grid;place-items:center;font-size:64px;font-weight:800;color:#0f766e}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-fields label{display:flex;flex-direction:column;gap:7px;font-weight:700}.profile-fields input,.profile-fields select,.profile-fields textarea{width:100%;border:1px solid #d8e2e8;border-radius:12px;padding:12px;background:#fff;color:#102331}.profile-fields .full-span{grid-column:1/-1}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.notice.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}@media(max-width:760px){.profile-edit-grid{grid-template-columns:1fr}.profile-fields{grid-template-columns:1fr}.profile-fields .full-span{grid-column:auto}}

/* Public home expansion */
.landing-links{position:sticky;top:84px;z-index:20;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:12px 4vw;background:#061522ed;border-block:1px solid #123147;backdrop-filter:blur(12px)}.landing-links a{padding:9px 13px;border-radius:9px;color:var(--muted);font-size:13px}.landing-links a:hover{background:#0d3042;color:var(--cyan2)}.section-intro{color:var(--muted);max-width:720px;line-height:1.8}.alt-section{background:linear-gradient(180deg,#071a29,#061522);border-block:1px solid #112f43}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person-card,.story-card,.success-grid article,.mission-grid article{background:linear-gradient(155deg,#0b2437,#071827);border:1px solid #17364b;border-radius:18px;padding:24px}.person-card{text-align:center;transition:.25s transform,.25s border-color}.person-card:hover{transform:translateY(-6px);border-color:var(--cyan)}.portrait-avatar{width:112px;height:112px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:900;color:#06212b;background:linear-gradient(145deg,#64f5ef,#11bfc4);box-shadow:0 0 0 8px #0d2d3c,0 12px 35px #0005}.portrait-avatar.large{width:150px;height:150px;flex:none;margin:0}.person-card h3{margin:8px 0}.person-card p{color:var(--muted);min-height:42px}.mini-tag{display:inline-block;color:var(--cyan);background:#0b3443;border:1px solid #175169;border-radius:99px;padding:6px 10px;font-size:11px}.story-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.featured-story{display:flex;align-items:center;gap:28px}.story-card p,.success-grid p,.mission-grid p,.ceo-card p{color:var(--muted);line-height:1.9}.story-mark{font-size:78px;color:var(--cyan);height:55px}.success-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.success-grid article b{display:block;color:var(--cyan);font-size:30px}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mission-grid h2{font-size:28px}.ceo-card{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:center;padding:38px;border-radius:24px;background:radial-gradient(circle at 15% 50%,#10506a,#092236 42%,#071827 75%);border:1px solid #1b5068}.ceo-portrait{width:230px;height:280px;border-radius:120px 120px 28px 28px;display:grid;place-items:center;font-size:40px;font-weight:900;background:linear-gradient(145deg,#1ad8d7,#0c5269);box-shadow:0 20px 45px #0006}.partner-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.partner-row div{min-height:100px;display:grid;place-items:center;text-align:center;border:1px solid #1b465a;border-radius:16px;background:#0a2031;color:#dff8fa;font-weight:900;letter-spacing:.06em}.partner-row small{color:var(--cyan);font-weight:600}.final-cta{text-align:center;padding:70px 20px 85px;background:radial-gradient(circle at center,#0d4258,#071827 60%)}.final-cta h2{font-size:clamp(30px,4vw,48px)}.final-cta .hero-actions{justify-content:center}.course-cover{width:100%;height:145px;object-fit:cover;border-radius:14px;background:#0b3345}
@media(max-width:1100px){.people-grid,.partner-row{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:1fr}.ceo-card{grid-template-columns:220px 1fr}.ceo-portrait{width:190px;height:240px}}
@media(max-width:720px){.landing-links{top:70px;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.landing-links a{white-space:nowrap}.people-grid,.success-grid,.mission-grid,.partner-row{grid-template-columns:1fr}.featured-story{display:block}.featured-story .portrait-avatar{margin:0 auto 24px}.ceo-card{grid-template-columns:1fr;padding:24px}.ceo-portrait{margin:auto}.section{padding:45px 20px}.modern-public-stats{width:92%;grid-template-columns:repeat(2,1fr);gap:20px}.public-hero{min-height:auto}}

/* Academic Key public home V3 */
.home-v3{overflow:hidden;background:#061522}.v3-hero{position:relative;min-height:720px;display:flex;align-items:center;padding:90px 7vw;background-image:linear-gradient(90deg,rgba(3,15,25,.97) 0%,rgba(4,20,32,.9) 40%,rgba(4,20,32,.25) 75%),url('/static/img/home/hero-lab.png');background-size:cover;background-position:center}.v3-hero:after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(transparent,#061522)}.v3-hero-content{position:relative;z-index:2;width:min(720px,62%)}.v3-hero h1{font-size:clamp(48px,6vw,86px);line-height:1.03;margin:18px 0 24px;letter-spacing:-.035em}.v3-hero h1 span{color:var(--cyan2)}.v3-hero p{font-size:19px;line-height:1.9;color:#c7d9e2;max-width:690px}.glass-btn{border-color:#ffffff44;background:#ffffff0d;color:#fff;backdrop-filter:blur(12px)}.hero-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#b7cad4;font-size:13px}.hero-proof span{display:flex;align-items:center;gap:7px}.hero-brand-card{position:absolute;z-index:3;right:5vw;bottom:48px;width:210px;padding:18px;border-radius:22px;background:#071a2bd9;border:1px solid #49e8ec55;backdrop-filter:blur(15px);box-shadow:0 20px 50px #0008;text-align:center}.hero-brand-card img{width:82px;height:82px;border-radius:50%;object-fit:cover;border:2px solid var(--cyan);display:block;margin:auto}.hero-brand-card strong,.hero-brand-card small{display:block}.hero-brand-card strong{margin-top:11px}.hero-brand-card small{color:var(--cyan);margin-top:4px}.v3-trust-strip{width:min(1180px,90%);margin:-34px auto 40px;position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #1b465c;border-radius:20px;background:#091f31;box-shadow:0 25px 55px #0006;overflow:hidden}.v3-trust-strip div{text-align:center;padding:24px;border-inline-end:1px solid #17384c}.v3-trust-strip div:last-child{border:0}.v3-trust-strip b{font-size:30px;color:var(--cyan2);display:block}.v3-trust-strip span{font-size:13px;color:var(--muted)}.v3-section{padding-top:70px;padding-bottom:85px}.section-number{font-size:72px;font-weight:900;color:#ffffff08;line-height:1}.leader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.leader-card{overflow:hidden;border:1px solid #17384c;border-radius:22px;background:#0a2031;transition:.25s}.leader-card:hover{transform:translateY(-7px);border-color:#20d7da;box-shadow:0 20px 45px #0005}.leader-photo{height:320px;position:relative;overflow:hidden}.leader-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0a2031)}.leader-photo img{width:100%;height:100%;object-fit:cover}.leader-photo span{position:absolute;z-index:2;left:15px;bottom:15px;padding:6px 10px;background:#0d3946cc;border:1px solid #25d3db55;border-radius:99px;color:var(--cyan2);font-size:10px}.leader-body{padding:0 20px 22px}.leader-body h3{margin:4px 0 7px;font-size:22px}.leader-body p{color:#b3c6d0;margin:0 0 14px}.leader-body small{color:var(--muted)}.v3-dark-section{background:linear-gradient(145deg,#081c2c,#04111b);border-block:1px solid #17384c}.instructor-layout{display:grid;grid-template-columns:1.65fr .9fr;gap:20px}.instructor-feature{position:relative;min-height:520px;border-radius:24px;overflow:hidden}.instructor-feature img{width:100%;height:100%;object-fit:cover;position:absolute}.instructor-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 28%,rgba(4,16,26,.96))}.instructor-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:38px}.instructor-overlay span{color:var(--cyan)}.instructor-overlay h3{font-size:32px;max-width:650px;margin:12px 0}.instructor-overlay p{max-width:620px;color:#b9ccd5;line-height:1.8}.instructor-profile{border-radius:24px;overflow:hidden;background:#0a2235;border:1px solid #17384c}.instructor-profile img{width:100%;height:330px;object-fit:cover}.instructor-profile div{padding:24px}.instructor-profile p{color:var(--muted);line-height:1.8}.journey-line{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #17384c;border-radius:22px;overflow:hidden}.journey-line article{padding:30px;background:#0a2031;border-inline-end:1px solid #17384c;position:relative}.journey-line article:last-child{border:0}.journey-line b{color:var(--cyan);font-size:13px}.journey-line span{display:block;font-size:20px;font-weight:800;margin:18px 0 9px}.journey-line p{color:var(--muted);line-height:1.7}.success-quote{margin-top:22px;padding:36px;border-radius:22px;background:linear-gradient(130deg,#0d3548,#0a2031);border:1px solid #1b5068}.success-quote>span{font-size:70px;color:var(--cyan);line-height:.4}.success-quote blockquote{font-size:24px;line-height:1.7;margin:12px 0}.success-quote small{color:var(--muted)}.v3-identity{display:grid;grid-template-columns:.9fr 1.4fr;gap:50px;align-items:center;background:radial-gradient(circle at 10% 50%,#0c4359,#061522 55%)}.identity-intro h2{font-size:44px}.identity-intro p{color:#b7cad4;line-height:1.9;font-size:17px}.identity-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.identity-cards article{padding:28px;border:1px solid #1c465b;border-radius:20px;background:#081d2ed9}.identity-cards i{width:48px;height:48px;border-radius:15px;background:#0c3949;color:var(--cyan);display:grid;place-items:center;font-size:25px;font-style:normal}.identity-cards p{color:var(--muted);line-height:1.7}.v3-ceo{display:grid;grid-template-columns:420px 1fr;gap:55px;align-items:center}.ceo-image{height:520px;border-radius:28px;overflow:hidden;position:relative;border:1px solid #245267}.ceo-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#071827)}.ceo-image img{width:100%;height:100%;object-fit:cover}.ceo-image span{position:absolute;z-index:2;bottom:22px;left:22px;background:#0b3448dd;border:1px solid #31d9dd66;color:var(--cyan2);border-radius:99px;padding:8px 13px}.ceo-copy h2{font-size:43px;line-height:1.25}.ceo-copy p{font-size:17px;line-height:1.9;color:#b6c9d3}.partner-cloud{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.partner-cloud div{min-height:140px;border:1px solid #1a4459;border-radius:20px;background:#091f31;display:grid;place-content:center;text-align:center;transition:.25s}.partner-cloud div:hover{border-color:var(--cyan);transform:translateY(-4px)}.partner-cloud strong{font-size:21px;letter-spacing:.06em}.partner-cloud small{color:var(--cyan);margin-top:8px}.v3-final{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:72px 7vw;background:linear-gradient(120deg,#0c4b60,#071827);border-top:1px solid #236078}.v3-final h2{font-size:clamp(28px,4vw,48px);max-width:850px;margin:12px 0}.v3-final .hero-actions{margin:0;flex:none}
@media(max-width:1100px){.v3-hero-content{width:75%}.leader-grid{grid-template-columns:repeat(2,1fr)}.instructor-layout,.v3-identity{grid-template-columns:1fr}.v3-ceo{grid-template-columns:330px 1fr}.identity-cards{grid-template-columns:repeat(3,1fr)}.journey-line{grid-template-columns:repeat(2,1fr)}.journey-line article:nth-child(2){border-inline-end:0}.journey-line article:nth-child(-n+2){border-bottom:1px solid #17384c}}
@media(max-width:720px){.v3-hero{min-height:690px;padding:70px 20px 120px;background-position:68% center}.v3-hero-content{width:100%}.v3-hero h1{font-size:48px}.v3-hero p{font-size:16px}.hero-brand-card{display:none}.hero-proof{gap:10px 18px}.v3-trust-strip{grid-template-columns:repeat(2,1fr);margin-top:-26px}.v3-trust-strip div:nth-child(2){border-inline-end:0}.v3-trust-strip div:nth-child(-n+2){border-bottom:1px solid #17384c}.leader-grid,.journey-line,.identity-cards,.partner-cloud{grid-template-columns:1fr}.leader-photo{height:390px}.instructor-feature{min-height:500px}.instructor-overlay{padding:24px}.instructor-overlay h3{font-size:26px}.journey-line article{border-inline-end:0!important;border-bottom:1px solid #17384c!important}.journey-line article:last-child{border-bottom:0!important}.v3-ceo{grid-template-columns:1fr}.ceo-image{height:460px}.ceo-copy h2{font-size:34px}.v3-final{display:block}.v3-final .hero-actions{margin-top:25px}.section-number{display:none}}

/* V3.1 hero refinement */
.v3-hero{
  min-height:640px;
  padding:76px 7vw 92px;
  background-position:72% center;
  isolation:isolate;
}
.v3-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(3,15,25,.99) 0%,rgba(4,20,32,.96) 34%,rgba(4,20,32,.66) 55%,rgba(4,20,32,.08) 82%),
    linear-gradient(0deg,rgba(3,15,25,.22),rgba(3,15,25,.08));
}
[dir="rtl"] .v3-hero:before{
  background:
    linear-gradient(270deg,rgba(3,15,25,.99) 0%,rgba(4,20,32,.96) 34%,rgba(4,20,32,.66) 55%,rgba(4,20,32,.08) 82%),
    linear-gradient(0deg,rgba(3,15,25,.22),rgba(3,15,25,.08));
}
.v3-hero-content{width:min(650px,54%)}
[dir="rtl"] .v3-hero-content{margin-inline-start:auto}
.v3-hero h1{font-size:clamp(46px,5vw,72px);line-height:1.08;margin:16px 0 20px;max-width:620px}
.v3-hero p{font-size:17px;line-height:1.85;max-width:620px;margin:0}
.v3-hero .hero-actions{margin-top:24px}
.v3-hero .btn{min-width:158px;padding:14px 22px}
.hero-brand-card{display:none!important}
.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:30px;max-width:570px}
.hero-proof span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:1px solid rgba(74,224,229,.18);border-radius:14px;background:rgba(5,25,39,.55);backdrop-filter:blur(8px)}
.hero-proof b{font-size:20px;color:var(--cyan2)}
.hero-proof small{font-size:11px;color:#b7cad4}
[dir="rtl"] .hero-proof span{align-items:flex-start}
.v3-trust-strip{margin-top:-28px}
@media(max-width:1100px){
  .v3-hero-content{width:64%}
  .v3-hero{background-position:68% center}
}
@media(max-width:720px){
  .v3-hero{min-height:650px;padding:62px 20px 98px;background-position:64% center}
  .v3-hero:before,[dir="rtl"] .v3-hero:before{background:linear-gradient(180deg,rgba(3,15,25,.92) 0%,rgba(3,15,25,.88) 52%,rgba(3,15,25,.98) 100%)}
  .v3-hero-content{width:100%;margin:0}
  .v3-hero h1{font-size:44px;max-width:520px}
  .v3-hero p{font-size:15px;line-height:1.75}
  .hero-proof{grid-template-columns:repeat(3,1fr);gap:7px}
  .hero-proof span{padding:10px}
  .hero-proof b{font-size:17px}
  .hero-proof small{font-size:9px}
}

/* V3.2 hero direction and readability correction */
.v3-hero{
  min-height:620px;
  padding:72px 7vw 86px;
  background-position:74% center;
}
.v3-hero:before{
  background:linear-gradient(90deg,#03101a 0%,rgba(3,16,26,.99) 43%,rgba(3,16,26,.86) 58%,rgba(3,16,26,.18) 82%);
}
[dir="rtl"] .v3-hero{
  background-position:26% center;
}
[dir="rtl"] .v3-hero:before{
  background:linear-gradient(270deg,#03101a 0%,rgba(3,16,26,.99) 43%,rgba(3,16,26,.86) 58%,rgba(3,16,26,.18) 82%);
}
.v3-hero-content{
  width:min(610px,48%);
  margin-right:auto;
  margin-left:0;
}
[dir="rtl"] .v3-hero-content{
  margin-right:0;
  margin-left:auto;
  text-align:right;
}
.v3-hero h1{font-size:clamp(44px,4.5vw,66px);line-height:1.12;letter-spacing:-.02em}
.v3-hero p{max-width:580px;color:#d5e5ec}
[dir="rtl"] .v3-hero .hero-actions{justify-content:flex-start}
[dir="rtl"] .hero-proof span{align-items:flex-start;text-align:right}
.hero-proof{max-width:560px}
@media(max-width:1100px){
  .v3-hero-content{width:58%}
}
@media(max-width:720px){
  .v3-hero,[dir="rtl"] .v3-hero{background-position:center top}
  .v3-hero:before,[dir="rtl"] .v3-hero:before{background:linear-gradient(180deg,rgba(3,15,25,.58) 0%,rgba(3,15,25,.90) 42%,#03101a 76%)}
  .v3-hero-content,[dir="rtl"] .v3-hero-content{width:100%;margin:0;text-align:start}
  .v3-hero h1{font-size:42px}
}

/* Academic Key V4 — final visual package */
.home-v3{background:#03111c}
.v4-hero{min-height:650px;display:grid;grid-template-columns:minmax(470px,45%) 1fr;position:relative;overflow:hidden;border-bottom:1px solid #164052;background:#03111c}
[dir="rtl"] .v4-hero{grid-template-columns:1fr minmax(470px,45%)}
.v4-hero-copy{padding:72px 5.5vw 42px;align-self:center;position:relative;z-index:3;background:radial-gradient(circle at 30% 42%,#0b3044 0,#03111c 66%)}
[dir="rtl"] .v4-hero-copy{grid-column:2;grid-row:1;background:radial-gradient(circle at 70% 42%,#0b3044 0,#03111c 66%)}
.v4-hero-copy h1{font-size:clamp(48px,5vw,76px);line-height:1.08;margin:15px 0 22px;letter-spacing:-.035em}
.v4-hero-copy h1 span{color:#32e1df}
.v4-hero-copy>p{max-width:650px;font-size:17px;line-height:1.9;color:#d3e2e8}
.v4-hero-visual{position:relative;min-height:650px;overflow:hidden}
[dir="rtl"] .v4-hero-visual{grid-column:1;grid-row:1}
.v4-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0;filter:saturate(.92) contrast(1.04)}
.v4-visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,#03111c 0%,rgba(3,17,28,.38) 20%,rgba(3,17,28,.06) 56%,rgba(3,17,28,.16) 100%)}
[dir="rtl"] .v4-visual-shade{background:linear-gradient(270deg,#03111c 0%,rgba(3,17,28,.38) 20%,rgba(3,17,28,.06) 56%,rgba(3,17,28,.16) 100%)}
.v4-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-top:1px solid #1a4b5d;padding-top:24px}
.v4-proof article{padding-inline:18px;border-inline-end:1px solid #1a4b5d}.v4-proof article:first-child{padding-inline-start:0}.v4-proof article:last-child{border:0}
.v4-proof b{display:block;color:#36e3e0;font-size:22px}.v4-proof span{display:block;font-weight:800;margin:4px 0}.v4-proof small{display:block;color:#8ea8b5;line-height:1.55;font-size:11px}
.landing-links{background:#041522f4;border-color:#174051}.v3-trust-strip{display:none}
.v3-section{padding:54px 4vw 64px}.section h2{font-size:30px}.section-head{margin-bottom:20px}
.leader-grid{grid-template-columns:repeat(4,1fr);gap:12px}.leader-card{border-radius:14px}.leader-photo{height:230px}.leader-body{padding:0 15px 17px}.leader-body h3{font-size:17px}.leader-body p{font-size:13px}.leader-body small{font-size:11px}
.instructor-layout{grid-template-columns:1.1fr 1fr}.instructor-feature{min-height:390px}.instructor-feature img{object-position:center 24%}.instructor-overlay{padding:26px}.instructor-overlay h3{font-size:27px}.instructor-profile{display:grid;grid-template-columns:46% 1fr;align-items:center}.instructor-profile img{height:100%;min-height:390px}.journey-line article{padding:24px}.success-quote{display:none}
.v3-identity{grid-template-columns:1fr 1.55fr;gap:30px}.identity-intro h2{font-size:35px}.identity-cards article{padding:22px}.v3-ceo{grid-template-columns:360px 1fr;gap:38px}.ceo-image{height:430px}.ceo-copy h2{font-size:35px}.ceo-copy p{font-size:15px}.partner-cloud div{min-height:110px;border-radius:14px}.v3-final{padding:42px 5vw}.v3-final h2{font-size:34px}
@media(max-width:1000px){.v4-hero,[dir="rtl"] .v4-hero{grid-template-columns:1fr}.v4-hero-copy,[dir="rtl"] .v4-hero-copy{grid-column:1;grid-row:2;padding:42px 6vw 55px;background:#03111c}.v4-hero-visual,[dir="rtl"] .v4-hero-visual{grid-column:1;grid-row:1;min-height:430px}.v4-visual-shade,[dir="rtl"] .v4-visual-shade{background:linear-gradient(180deg,rgba(3,17,28,.08),#03111c 96%)}.instructor-profile{grid-template-columns:1fr}.instructor-profile img{min-height:320px}.v3-ceo{grid-template-columns:300px 1fr}}
@media(max-width:720px){.v4-hero-visual,[dir="rtl"] .v4-hero-visual{min-height:300px}.v4-hero-copy,[dir="rtl"] .v4-hero-copy{padding:28px 20px 44px}.v4-hero-copy h1{font-size:43px}.v4-proof{grid-template-columns:1fr;gap:15px}.v4-proof article{border:0;border-bottom:1px solid #1a4b5d;padding:0 0 14px}.v4-proof article:last-child{border:0}.leader-grid{grid-template-columns:repeat(2,1fr)}.leader-photo{height:245px}.instructor-layout{grid-template-columns:1fr}.v3-ceo{grid-template-columns:1fr}.ceo-image{height:430px}.v3-final h2{font-size:28px}}


/* Academic Key Hero V2 rebuild */
.v4-hero{display:grid;grid-template-columns:45% 55%;min-height:700px;direction:ltr;background:#061522;}
.v4-hero-copy{grid-column:1;grid-row:1;padding:80px 6vw 45px;background:radial-gradient(circle at 30% 40%,#10364a 0,#061522 68%);direction:rtl;text-align:right;z-index:2;}
.v4-hero-visual{grid-column:2;grid-row:1;min-height:700px;}
.v4-hero-visual img{object-position:center;height:100%;width:100%;}
.v4-visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061522 0%,rgba(6,21,34,.15) 35%,rgba(6,21,34,.05));z-index:1;}
.v4-proof{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0;margin-top:35px!important;max-width:none!important;width:100%;}
.v4-proof article{text-align:center;padding:18px 10px;border-inline-end:1px solid #1a465a;}
.v4-proof article:last-child{border:0;}
.v4-proof b{display:block;color:#27dfe0;font-size:28px;}
.v4-proof span{display:block;font-weight:800;color:#fff;margin-top:6px;}
.v4-proof small{color:#9fb8c5;display:block;margin-top:4px;}
@media(max-width:1000px){.v4-hero{grid-template-columns:1fr;}.v4-hero-copy{grid-column:1;grid-row:2}.v4-hero-visual{grid-column:1;grid-row:1;min-height:420px}.v4-proof{grid-template-columns:repeat(2,1fr)!important;}}

/* V4 icon system + new sections (Hero rebuild pass) */
.identity-cards i{width:48px;height:48px;border-radius:15px;background:#0c3949;color:var(--cyan);display:grid;place-items:center;font-style:normal}
.identity-cards i svg{width:23px;height:23px}
.lab-highlight-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.lab-highlight-icon{width:120px;height:120px;border-radius:32px;background:radial-gradient(circle at 30% 30%,#123f52,#081d2e);border:1px solid #1c4a5f;color:var(--cyan);display:grid;place-items:center;flex:none}
.lab-highlight-icon svg{width:52px;height:52px}
.spotlight-row{display:flex;align-items:center;gap:18px;margin-top:20px;padding:20px;border:1px solid #17384c;border-radius:18px;background:#081d2e}
.spotlight-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--cyan)}
.spotlight-label{display:block;font-weight:800;color:var(--cyan2);margin-bottom:4px}
.spotlight-row p{margin:0;color:var(--muted)}
.spotlight-row small{display:block;color:#5b7382;margin-top:6px;font-size:11px}
.partner-cloud div{display:flex;flex-direction:column;align-items:center;gap:8px}
.partner-cloud i{width:44px;height:44px;border-radius:13px;background:#0c3949;color:var(--cyan);display:grid;place-items:center;font-style:normal}
.partner-cloud i svg{width:21px;height:21px}
@media(max-width:720px){
  .lab-highlight-grid{grid-template-columns:1fr;text-align:center;justify-items:center}
  .spotlight-row{flex-direction:column;text-align:center}
}

/* V5 — installments, expenses, reports, attendance check-in, payment plan */
.notice{background:#fff8e1;color:#8a6d1c;border:1px solid #f0dfa6;border-radius:12px;padding:13px 16px;margin-bottom:16px;font-weight:700}
.notice.success{background:#dcf8e8;color:#137342;border-color:#b7ecd0}
.notice.info{background:#e3f6fb;color:#0d6f85;border-color:#bfe9f2}
.notice.urgent{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.muted-note{color:#687b87;font-size:13px;margin:8px 0 0}

/* payment plan choice + deposit toggle (course booking) */
.payment-plan-form .plan-choice{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:700;color:#dbe9ef;cursor:pointer}
.payment-plan-form .plan-choice input{width:auto}
.payment-plan-form .deposit-field{display:none;border:1px solid #24506a;border-radius:10px;padding:10px;background:#071827}
.payment-plan-form .deposit-field small{color:#8fa8b7;display:block;margin-top:6px}
.payment-plan-form:has(input[value="Installments"]:checked) .deposit-field{display:grid;gap:8px}

/* installments + reports status pills */
.status-pending{background:#fff3cd;color:#8a6d1c}
.status-overdue{background:#fee2e2;color:#991b1b}
.status-paid{background:#dcf8e8;color:#137342}
tr.row-overdue{background:#fff5f5}

/* filter tabs (installments) */
.filter-tabs{display:flex;gap:8px;margin-bottom:16px}
.filter-tabs a{padding:9px 16px;border-radius:99px;background:#fff;border:1px solid #dfe8ed;color:#4b6472;font-weight:700}
.filter-tabs a.active{background:#0d3946;color:var(--cyan);border-color:#0d3946}

/* report date filter bar */
.report-filter-bar{display:flex;align-items:end;gap:14px;background:#fff;border:1px solid #dfe8ed;border-radius:16px;padding:16px 18px;margin-bottom:18px;flex-wrap:wrap}
.report-filter-bar label{color:#314855;font-weight:700;font-size:13px}
.report-filter-bar input{background:#f8fbfc;border-color:#d6e3e9;color:#0a2234}

/* office check-in page */
.checkin-primary{margin:20px 0}
.big-checkin{font-size:19px;padding:20px;border-radius:16px}
.class-session-panel{margin-top:18px;border-top:1px solid #e2eaee;padding-top:14px}
.class-session-panel summary{cursor:pointer;color:#314855;font-weight:700;margin-bottom:12px}

/* approvals form gets crowded with installment fields on small screens */
.approve-form{flex-wrap:wrap}
.approve-form input{width:auto;min-width:90px}

/* dashboard alert row link alignment */
.alert-row{position:relative}
.alert-row>a{color:var(--cyan);font-size:12px;font-weight:800;white-space:nowrap}

@media(max-width:720px){
  .report-filter-bar{flex-direction:column;align-items:stretch}
  .filter-tabs{flex-wrap:wrap}
}

/* V6 — cancellations, cascading forms, session detail, scanner */
.btn.danger{background:#dc2626;color:#fff}
.btn.small{padding:7px 12px;font-size:12px}
tr.row-cancelled{opacity:.55}
tr.row-cancelled td{text-decoration:line-through}
tr.row-cancelled td:last-child{text-decoration:none}
tr.row-absent{background:#fffaf5}
.cancel-panel summary{list-style:none;cursor:pointer;display:inline-flex}
.cancel-panel[open]{display:block;margin-top:8px;padding:10px;border:1px solid #e2eaee;border-radius:10px;background:#f8fbfc}
.cancel-panel[open] summary{margin-bottom:10px}
.cancel-panel select{background:#fff;color:#0a2234;border-color:#d6e3e9}

/* session cards grouped by cohort */
.session-group{margin-bottom:22px}
.session-group-title{margin:0 0 10px;font-size:16px;color:#0a2234;border-bottom:1px solid #e2eaee;padding-bottom:8px}
.session-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.session-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:14px;border:1px solid #dfe8ed;background:#f8fbfc;color:#0a2234;transition:.15s}
.session-card:hover{transform:translateY(-2px);border-color:#12d0d3;box-shadow:0 6px 18px #12d0d322}
.session-card small{color:#687b87}
.session-card .pill{margin-top:4px;align-self:flex-start}
.session-state{font-size:11px;font-weight:800}
.session-card.is-open .session-state{color:#137342}
.session-card.is-closed{opacity:.65}
.session-card.is-closed .session-state{color:#991b1b}

/* enrollment form: reuse deposit-field toggle */
#enrollForm .deposit-field{display:none;border:1px solid #d6e3e9;border-radius:10px;padding:12px;background:#f8fbfc;gap:10px}
#enrollForm:has(input[value="Installments"]:checked) .deposit-field{display:grid}
#enrollForm .plan-choice{flex-direction:row;align-items:center;gap:8px;color:#0a2234;font-weight:700}
#enrollForm .plan-choice input{width:auto}
#enrollForm .deposit-field small{color:#687b87}

/* scanner */
#scannerBox video{max-height:320px;object-fit:cover}
.wide{width:100%}

/* V7 — today strip, whatsapp, waitlist, policy settings */
.today-strip{margin:14px 0;padding:18px;border-radius:16px;border:1px solid #17364b;background:linear-gradient(150deg,#0b2437,#071a2a)}
.today-strip h3{margin:0 0 14px;font-size:15px;color:var(--cyan)}
.today-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.today-cards div{background:#0a1e30;border:1px solid #17364b;border-radius:12px;padding:14px;text-align:center}
.today-cards b{display:block;font-size:24px;color:var(--cyan2)}
.today-cards span{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.wa-btn{background:#25d366;color:#04212b;margin-top:6px;display:inline-flex}
.wa-btn:hover{filter:brightness(1.05)}
.policy-row{display:flex!important;flex-direction:row;align-items:center;gap:10px;color:#314855;font-weight:700}
.policy-row input{width:auto}
@media(max-width:1100px){.today-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.today-cards{grid-template-columns:repeat(2,1fr)}}

/* V8 — media manager + user permissions */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.media-card{background:#fff;color:#0a2234;border:1px solid #dfe8ed;border-radius:18px;overflow:hidden}
.media-preview{height:180px;background:#0b2b3d}
.media-preview img{width:100%;height:100%;object-fit:cover}
.media-body{padding:16px;display:grid;gap:10px}
.media-body h3{margin:0;font-size:16px}
.media-body code{background:#eef4f7;padding:2px 6px;border-radius:5px;font-size:11px}
.media-body input[type=file]{background:#f8fbfc;border:1px solid #d6e3e9;color:#0a2234;padding:9px;border-radius:9px}
.perm-box{border:1px solid #dfe8ed;border-radius:14px;padding:16px;margin-top:16px}
.perm-box legend{color:#314855;font-weight:800;padding:0 8px;font-size:13px}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.perm-item{display:flex!important;flex-direction:row;align-items:center;gap:8px;padding:9px 11px;border:1px solid #e2eaee;border-radius:10px;background:#f8fbfc;color:#0a2234;font-weight:600;font-size:13px;cursor:pointer}
.perm-item input{width:auto;margin:0}
.perm-item:hover{border-color:#12d0d3}
.perm-item.locked{opacity:.6;cursor:not-allowed;background:#eef4f7}
@media(max-width:720px){.perm-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}}

/* V9 — news ticker, event gallery, installment planner, course image */
.news-bar{display:flex;align-items:center;gap:0;background:linear-gradient(90deg,#0d3946,#071827);border-bottom:1px solid #17384c;overflow:hidden;position:relative}
.news-label{flex:none;padding:11px 18px;background:var(--cyan);color:#04212b;font-weight:900;font-size:12px;letter-spacing:.08em;z-index:2}
.news-track{display:flex;gap:48px;white-space:nowrap;padding:11px 24px;animation:news-scroll 38s linear infinite;will-change:transform}
[dir="rtl"] .news-track{animation-name:news-scroll-rtl}
.news-bar:hover .news-track{animation-play-state:paused}
.news-item{color:#cfe4ec;font-size:14px;font-weight:600}
.news-item a{color:var(--cyan2);text-decoration:underline}
@keyframes news-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes news-scroll-rtl{from{transform:translateX(0)}to{transform:translateX(50%)}}
@media(prefers-reduced-motion:reduce){.news-track{animation:none;overflow-x:auto}}

.event-gallery{position:relative}
.gallery-stage{position:relative;height:clamp(280px,46vw,520px);border-radius:24px;overflow:hidden;border:1px solid #17384c;background:#081d2e}
.gallery-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .6s ease;pointer-events:none}
.gallery-slide.is-active{opacity:1;pointer-events:auto}
.gallery-slide img{width:100%;height:100%;object-fit:cover}
.gallery-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px;font-size:18px;color:#fff;background:linear-gradient(transparent,rgba(4,16,26,.94))}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff44;background:#071a2bcc;color:#fff;font-size:26px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}
.gallery-nav:hover{border-color:var(--cyan);color:var(--cyan)}
.gallery-nav.prev{inset-inline-start:16px}
.gallery-nav.next{inset-inline-end:16px}
.gallery-dots{display:flex;justify-content:center;gap:9px;margin-top:16px}
.gallery-dot{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid #2b6c85;background:transparent;cursor:pointer}
.gallery-dot.is-active{background:var(--cyan);border-color:var(--cyan)}

.gallery-upload{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gallery-upload input{width:auto;flex:1;min-width:150px;background:#f8fbfc;color:#0a2234;border-color:#d6e3e9}
.media-card.is-hidden{opacity:.5}

.inst-planner{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.inst-planner select{width:auto;min-width:110px}
.inst-schedule{width:100%;margin-top:8px;padding:10px;border:1px dashed #b9cdd8;border-radius:10px;background:#f8fbfc}
.inst-schedule strong{display:block;font-size:12px;color:#314855;margin-bottom:6px}
.inst-schedule ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.inst-schedule li{display:flex;gap:10px;align-items:center;font-size:12px;color:#0a2234}
.inst-schedule li span{width:20px;height:20px;border-radius:50%;background:#0d3946;color:var(--cyan);display:grid;place-items:center;font-size:10px;font-weight:800}
.inst-schedule li b{min-width:60px}
.inst-schedule li small{color:#687b87}

/* V10 — ratings, free session, jobs, referral, materials */
.stars{display:flex;align-items:center;gap:2px;margin:6px 0}
.stars span{color:#3a5566;font-size:15px}
.stars span.on{color:var(--gold)}
.stars small{margin-inline-start:7px;color:var(--muted);font-size:12px}
.rated-mine{margin-top:10px}
.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.star-input label{cursor:pointer}
.star-input input{position:absolute;opacity:0;width:0}
.star-input span{font-size:26px;color:#3a5566;transition:.12s}
.star-input label:hover span,.star-input label:hover ~ label span,
.star-input input:checked ~ span{color:var(--gold)}
.star-input label:has(input:checked) span,.star-input label:has(input:checked) ~ label span{color:var(--gold)}
.rate-panel[open]{background:#f8fbfc}

.cover-wrap{position:relative}
.free-badge{position:absolute;top:12px;inset-inline-start:12px;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:99px;background:#0d3b2a;color:#4ef0a0;font-size:12px;font-weight:800;border:1px solid #1f7d55}
.free-badge.inline{position:static;margin-top:8px}
.free-badge i{width:9px;height:9px;border-radius:50%;background:#36d36b;box-shadow:0 0 0 0 #36d36b;animation:pulse-green 1.8s infinite}
@keyframes pulse-green{0%{box-shadow:0 0 0 0 #36d36b99}70%{box-shadow:0 0 0 9px #36d36b00}100%{box-shadow:0 0 0 0 #36d36b00}}
.free-note{display:block;color:#4ef0a0;font-size:12px;margin:4px 0 8px}
.course-admin-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}

.opp-tabs{margin-bottom:20px}
.opp-grid{grid-template-columns:repeat(3,1fr)}
.opp-card{display:block;background:linear-gradient(150deg,#0b2437,#071827);border:1px solid #17364b;border-radius:18px;overflow:hidden;transition:.18s}
.opp-card:hover{transform:translateY(-3px);border-color:var(--cyan)}
.opp-cover{width:100%;height:170px;object-fit:cover;display:block}
.opp-cover-blank{display:grid;place-items:center;font-size:52px;background:linear-gradient(145deg,#0f506c,#0b2538)}
.opp-body{padding:18px}
.opp-body h3{margin:10px 0 6px}
.opp-body small{display:block;color:var(--muted)}
.opp-deadline{color:var(--gold);margin-top:6px}
.pill-intern{background:#3d2f14;color:var(--gold)}
.opp-detail{max-width:900px;margin:auto}
.opp-hero{width:100%;max-height:380px;object-fit:cover;border-radius:20px;margin:18px 0}
.opp-meta{color:var(--muted)}
.opp-desc{line-height:1.9;color:#d5e5ec;margin:20px 0}

.referral-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin-bottom:16px;border-radius:16px;border:1px dashed #2b6c85;background:linear-gradient(120deg,#082a3d,#07202f)}
.referral-banner code{background:#0d3946;color:var(--cyan2);padding:3px 10px;border-radius:7px;font-size:16px;letter-spacing:.06em}
.referral-banner small{display:block;color:var(--muted);margin-top:6px}
@media(max-width:900px){.opp-grid{grid-template-columns:1fr}.referral-banner{flex-direction:column;align-items:flex-start}}

/* V11 — instructor portal + announcements */
.instructor-card .course-body{padding:20px}
.instructor-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.instructor-stats div{text-align:center}
.instructor-stats b{display:block;font-size:22px;color:var(--cyan2)}
.instructor-stats small{color:var(--muted);font-size:11px}
.att-bar{height:7px;border-radius:99px;background:#e4ecef;overflow:hidden;min-width:90px}
.att-bar span{display:block;height:100%;background:linear-gradient(90deg,#12d0d3,#36d36b)}
tr.row-overdue .att-bar span{background:linear-gradient(90deg,#f3be3e,#f05476)}
.announce-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px;border:1px solid #e2eaee;border-radius:12px;margin-bottom:10px;background:#f8fbfc}
.announce-item.pinned{border-color:#12d0d3;background:#eefbfc}
.announce-item small{display:block;color:#687b87;margin-top:4px;font-size:12px}
.announce-item p{margin:8px 0 0;white-space:pre-wrap}
.student-workspace .announce-item{background:#0a2235;border-color:#17384c;color:var(--text)}
.student-workspace .announce-item.pinned{border-color:#12d0d3;background:#0c2b3f}
.student-workspace .announce-item small{color:var(--muted)}

/* V12 — community, charts, staff attendance, site text, free session */
.community-grid{display:grid;gap:16px}
.community-card{margin:0;border-radius:16px;overflow:hidden;border:1px solid #17364b;background:#081d2e;position:relative}
.community-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:.3s}
.community-card:hover img{transform:scale(1.04)}
.community-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px;font-size:13px;color:#fff;background:linear-gradient(transparent,rgba(4,16,26,.92))}
.chart{width:100%;height:auto}
.user-thumb{width:34px;height:34px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-inline-end:8px}
.mini-people{display:grid;gap:10px;margin-top:10px}
.mini-person{display:flex;align-items:center;gap:10px}
.mini-person img,.mini-fallback{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none}
.mini-fallback{display:grid;place-items:center;background:#0d3946;color:var(--cyan);font-weight:800}
.mini-person b{display:block;font-size:13px}
.mini-person small{color:#687b87;font-size:11px}
tr.row-converted{background:#f2fbf6}
.text-edit-row{display:grid;grid-template-columns:220px 1fr 1fr auto;gap:12px;align-items:end}
.text-edit-key code{background:#eef4f7;padding:2px 7px;border-radius:5px;font-size:12px;display:inline-block}
.text-edit-key small{display:block;color:#687b87;margin-top:5px;font-size:11px}
.free-book{margin-top:10px}
.free-book summary{list-style:none;cursor:pointer}
.free-book[open]{padding:10px;border:1px solid #1f7d55;border-radius:12px;background:#07231c;margin-top:10px}
.free-book[open] summary{margin-bottom:10px}
.status-requested{background:#fff3cd;color:#8a6d1c}
@media(max-width:900px){
  .community-grid{grid-template-columns:repeat(2,1fr)!important}
  .text-edit-row{grid-template-columns:1fr}
}

/* V13 — homepage text editor at scale */
.text-filter{width:100%;font-size:15px;padding:12px 14px;background:#f8fbfc;border:1px solid #d6e3e9;color:#0a2234;border-radius:10px}
.text-item .text-preview{display:block;color:#0a2234;font-size:14px;line-height:1.5;margin-bottom:6px}
.edited-flag{display:inline-block;margin-top:4px;color:#137342;font-weight:700}

/* V14 — locations list, join us, floating whatsapp */
.branch-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.branch-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;border:1px solid #17364b;border-radius:16px;background:linear-gradient(150deg,#0b2437,#071827)}
.branch-row.is-main{border-color:var(--cyan);box-shadow:0 0 0 1px #12d0d322}
.branch-info h3{margin:0 0 6px;font-size:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.main-tag{font-size:11px;font-weight:800;padding:4px 10px;border-radius:99px;background:var(--cyan);color:#04212b}
.branch-addr{margin:0 0 6px;color:#cfe4ec;line-height:1.7}
.branch-meta{margin:0;display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.branch-meta a{color:var(--cyan2)}
.branch-map-btn{flex:none;white-space:nowrap}
.review-cta{margin-top:18px;text-align:center}
.social-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.social-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 18px;border-radius:18px;border:1px solid #17364b;background:#081d2e;color:#dbe9ef;font-weight:800;transition:.18s}
.social-card svg{width:36px;height:36px}
.social-card:hover{transform:translateY(-3px)}
.social-card.fb:hover{border-color:#1877f2;color:#1877f2}
.social-card.ig:hover{border-color:#e1306c;color:#e1306c}
.social-card.tt:hover{border-color:#25f4ee;color:#25f4ee}
.wa-float{position:fixed;inset-inline-end:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:99px;background:#25d366;color:#04212b;font-weight:800;box-shadow:0 8px 26px rgba(37,211,102,.4)}
.wa-float svg{width:24px;height:24px;flex:none}
.wa-float:hover{filter:brightness(1.06)}
.branch-admin.is-off{opacity:.6}
@media(max-width:820px){
  .branch-row{flex-direction:column;align-items:flex-start}
  .branch-map-btn{width:100%;text-align:center}
  .social-row{grid-template-columns:1fr}
  .wa-float span{display:none}
  .wa-float{padding:16px;inset-inline-end:14px;bottom:14px}
}
.gallery-slide.is-broken,.community-card.is-broken{display:none}
.wa-float svg{width:26px !important;height:26px !important}
.social-card svg{width:36px !important;height:36px !important}

/* V15 — precise printing */
.card-print-btn{margin-top:10px;width:100%}
@media print{
  .no-print{display:none!important}
  /* printing a single ID card: hide everything except the chosen one */
  body.printing-one .cards-grid [data-card]:not(.print-target){display:none!important}
  body.printing-one .cards-grid{display:block!important}
  body.printing-one .print-target{margin:0 auto!important;break-inside:avoid}
  /* invoices: print only the invoice body */
  body.printing-invoice .topbar,
  body.printing-invoice .quicknav,
  body.printing-invoice .student-nav,
  body.printing-invoice .page-head,
  body.printing-invoice .btn{display:none!important}
  body.printing-invoice .invoice{box-shadow:none;border:0;margin:0;padding:0}
  .invoice{break-inside:avoid}
}

/* V16 — search fields must always be legible, whatever else is loaded */
.toolbar input,.toolbar select,
.search input,.search select,
.text-filter,
input[name="q"],
input[type="search"]{
  background:#ffffff !important;
  color:#0a2234 !important;
  -webkit-text-fill-color:#0a2234 !important;  /* Safari/Chrome autofill override */
  caret-color:#0a2234 !important;
  opacity:1 !important;
  font-size:16px !important;                    /* also stops iOS zoom-on-focus */
  text-indent:0 !important;
  border:1px solid #d6e3e9 !important;
}
.toolbar input::placeholder,.search input::placeholder,input[name="q"]::placeholder{
  color:#7d919e !important; -webkit-text-fill-color:#7d919e !important; opacity:1 !important;
}
/* autofill in Chrome repaints the box; keep it readable */
input[name="q"]:-webkit-autofill{
  -webkit-text-fill-color:#0a2234 !important;
  box-shadow:0 0 0 1000px #ffffff inset !important;
}

/* V17 — FIX: `input,select{width:100%}` made the status <select> claim the whole
   toolbar and squeeze the search box down to nothing. Size them explicitly. */
.toolbar{align-items:center}
.toolbar input[name="q"],.toolbar input[type="search"]{flex:1 1 280px;min-width:220px;width:auto}
.toolbar select{flex:0 0 auto;width:auto;min-width:150px}
.toolbar .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:720px){
  .toolbar input[name="q"],.toolbar select,.toolbar .btn{flex:1 1 100%;min-width:0;width:100%}
}
.team-row.is-off{opacity:.55}
.team-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.team-thumb{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.team-blank{display:grid;place-items:center;background:#0d3946;color:var(--cyan);font-weight:800;font-size:20px}
.team-head b{display:block;color:#0a2234}
.team-head small{display:block;color:#687b87;margin:2px 0 6px}
.leader-card.is-broken img{visibility:hidden}

/* V18 — receipt + store */
.receipt-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.receipt-size-picker{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;border:1px solid #24485b;border-radius:10px;background:#0a2235;color:#dbe9ef;font-size:13px;font-weight:700}
.receipt-size-picker select{width:auto;min-width:170px;padding:8px 10px;background:#fff;color:#0a2234;border:0;border-radius:7px;font:inherit}
.rcpt{background:#fff;color:#0d2440;border-radius:14px;padding:34px;max-width:880px;margin:0 auto;font-family:system-ui,Segoe UI,Arial,sans-serif;box-shadow:0 10px 40px #0003}
.rcpt-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:2px solid #0d2440;padding-bottom:20px}
.rcpt-brand{display:flex;gap:16px;align-items:center}
.rcpt-brand img{width:78px;height:78px;object-fit:contain;border-radius:50%}
.rcpt-brand h1{margin:0;font-size:26px;letter-spacing:.5px;color:#0d2440}
.rcpt-brand span{color:#1aa5b0;font-size:12px;letter-spacing:1.5px}
.rcpt-brand i{display:block;width:56px;height:4px;background:#1aa5b0;margin-top:8px}
.rcpt-meta{text-align:right;min-width:250px}
.rcpt-meta h2{margin:0 0 8px;font-size:34px;color:#0d2440;letter-spacing:1px}
.rcpt-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted #b9c6d4;padding:4px 0;font-size:13px}
.rcpt-paid{color:#12855a;font-weight:800}
.rcpt-void{color:#c02c46;font-weight:800}
.rcpt-parties{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:22px 0}
.rcpt-tag{display:inline-block;background:#0d2440;color:#fff;padding:6px 16px;border-radius:99px;font-size:12px;font-weight:800;margin-bottom:10px}
.rcpt-field{display:flex;gap:10px;border-bottom:1px dotted #b9c6d4;padding:5px 0;font-size:13px}
.rcpt-field b{min-width:118px;color:#0d2440}
.rcpt-field span{color:#3c556e}
.rcpt-table{width:100%;border-collapse:collapse;margin:8px 0 20px;font-size:13px}
.rcpt-table th{background:#0d2440;color:#fff;padding:11px 8px;text-align:center;font-size:12px}
.rcpt-table td{border:1px solid #cfdae4;padding:11px 8px;text-align:center;color:#0d2440}
.rcpt-bottom{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
.rcpt-totals{width:100%;border-collapse:collapse;font-size:13px}
.rcpt-totals th{background:#0d2440;color:#fff;padding:11px 14px;text-align:left;width:55%}
.rcpt-totals td{border:1px solid #cfdae4;padding:11px 14px;text-align:right;font-weight:700}
.rcpt-grand th{background:#1aa5b0}
.rcpt-grand td{background:#e8f8f9;font-size:15px}
.rcpt-foot{text-align:center;margin-top:26px;border-top:2px solid #0d2440;padding-top:18px}
.rcpt-thanks{margin:0;font-size:28px;color:#0d2440;font-style:italic}
.rcpt-foot>span{color:#1aa5b0;font-size:14px}
.rcpt-contact{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#3c556e}
.product-thumb{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:none}
@media print{
  body.printing-receipt .topbar,body.printing-receipt .quicknav,body.printing-receipt .student-nav,
  body.printing-receipt .receipt-actions,body.printing-receipt .modern-sidebar{display:none!important}
  body.printing-receipt,body.printing-receipt .workspace,body.printing-receipt .standalone{background:#fff!important;margin:0!important;padding:0!important;min-height:0!important}
  body.printing-receipt .rcpt{box-shadow:none;border:0;border-radius:0;margin:0;padding:0;max-width:none;width:100%;box-sizing:border-box;break-inside:auto}
  body.printing-receipt .rcpt-top{gap:5mm;padding-bottom:3mm}
  body.printing-receipt .rcpt-brand{gap:3mm}
  body.printing-receipt .rcpt-brand img{width:16mm;height:16mm}
  body.printing-receipt .rcpt-brand h1{font-size:19px}
  body.printing-receipt .rcpt-brand span{font-size:9px}
  body.printing-receipt .rcpt-brand i{height:3px;margin-top:4px}
  body.printing-receipt .rcpt-meta{min-width:43mm}
  body.printing-receipt .rcpt-meta h2{font-size:24px;margin-bottom:3px}
  body.printing-receipt .rcpt-line{font-size:10px;padding:2px 0}
  body.printing-receipt .rcpt-parties{gap:5mm;margin:4mm 0}
  body.printing-receipt .rcpt-tag{font-size:9px;padding:4px 10px;margin-bottom:4px}
  body.printing-receipt .rcpt-field{font-size:10px;padding:3px 0}
  body.printing-receipt .rcpt-field b{min-width:24mm}
  body.printing-receipt .rcpt-table{margin:2mm 0 4mm;font-size:10px;break-inside:auto}
  body.printing-receipt .rcpt-table thead{display:table-header-group}
  body.printing-receipt .rcpt-table tr{break-inside:avoid;page-break-inside:avoid}
  body.printing-receipt .rcpt-table th{font-size:9px;padding:6px 4px}
  body.printing-receipt .rcpt-table td{padding:7px 4px}
  body.printing-receipt .rcpt-bottom{grid-template-columns:1fr 52mm;gap:5mm;break-inside:avoid;page-break-inside:avoid}
  body.printing-receipt .rcpt-totals{font-size:10px}
  body.printing-receipt .rcpt-totals th,body.printing-receipt .rcpt-totals td{padding:6px 8px}
  body.printing-receipt .rcpt-grand td{font-size:11px}
  body.printing-receipt .rcpt-foot{margin-top:4mm;padding-top:3mm;break-inside:avoid;page-break-inside:avoid}
  body.printing-receipt .rcpt-thanks{font-size:20px}
  body.printing-receipt .rcpt-contact{margin-top:2mm;gap:4mm;font-size:9px}
}
@media(max-width:820px){.rcpt-top,.rcpt-parties,.rcpt-bottom{grid-template-columns:1fr;flex-direction:column}.rcpt-meta{text-align:left}}

/* V19 — show which tab you're on, and make the bar easier to scroll */
.quicknav a.is-here{background:var(--cyan);color:#04212b;font-weight:800;box-shadow:0 2px 10px #12d0d355}
.quicknav a:hover{background:#0d3243;color:var(--cyan2)}
.quicknav{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#1c4a5f transparent}
.quicknav::-webkit-scrollbar{height:6px}
.quicknav::-webkit-scrollbar-thumb{background:#1c4a5f;border-radius:99px}
.quicknav::-webkit-scrollbar-track{background:transparent}
.staff-quicknav{overflow:visible;align-items:center}.nav-menu{position:relative;color:#b9ccd5}.nav-menu summary{list-style:none;cursor:pointer;white-space:nowrap;padding:8px 12px;border-radius:9px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu[open] summary,.nav-menu summary:hover{background:#0d3547;color:var(--cyan)}.nav-menu>div{position:absolute;top:calc(100% + 8px);inset-inline-start:0;min-width:220px;max-height:65vh;overflow:auto;overscroll-behavior:contain;padding:8px;border:1px solid #1b4659;border-radius:14px;background:#071c2b;box-shadow:0 18px 40px rgba(0,0,0,.35);display:grid;z-index:80}.nav-menu>div a{display:flex;align-items:center;min-height:44px;padding:10px 12px}.nav-menu>div a:hover{background:#0d3547}@media(max-width:720px){.staff-quicknav{overflow-x:auto;overflow-y:visible}.nav-menu>div{position:fixed;top:var(--staff-menu-top,132px);inset-inline:12px;min-width:0;max-height:calc(100dvh - var(--staff-menu-top,132px) - 12px);z-index:250}.nav-menu summary{min-height:44px;display:flex;align-items:center}}
.student-nav a.is-here{background:var(--cyan);color:#04212b;font-weight:800}
.form-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.modern-sidebar a.is-here{background:#0d3946;color:var(--cyan);border-inline-start:3px solid var(--cyan)}

/* V20 — global search dropdown */
.top-search{position:relative}
.gs-kbd{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);font-size:10px;color:#7d9aa8;border:1px solid #24506a;border-radius:5px;padding:2px 6px;pointer-events:none}
.gs-results{position:absolute;top:calc(100% + 8px);inset-inline-start:0;width:min(520px,88vw);max-height:70vh;overflow:auto;background:#0a2235;border:1px solid #1c4a5f;border-radius:14px;box-shadow:0 18px 50px #00000066;z-index:200;padding:8px}
.gs-group{padding:6px 4px}
.gs-label{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--cyan);padding:6px 10px}
.gs-item{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:9px;color:var(--text)}
.gs-item:hover{background:#0d3243}
.gs-item b{font-size:14px}
.gs-item small{color:var(--muted);font-size:12px}
.gs-empty{padding:18px;text-align:center;color:var(--muted);font-size:13px}
@media(max-width:720px){.gs-kbd{display:none}}

/* ============ V21 — phases 3, 4, 5 ============ */

/* --- WhatsApp topic menu --- */
.wa-dock{position:fixed;inset-inline-end:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.wa-dock .wa-float{position:static;cursor:pointer;border:0;font-family:inherit;font-size:14px}
.wa-menu{background:#0a2235;border:1px solid #1c4a5f;border-radius:16px;padding:10px;box-shadow:0 18px 46px #00000070;min-width:250px;animation:pop .18s ease}
.wa-menu-title{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--cyan);padding:8px 12px}
.wa-menu a{display:block;padding:11px 14px;border-radius:10px;color:var(--text);font-size:14px}
.wa-menu a:hover{background:#0d3243;color:var(--cyan2)}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* --- next-step / command center --- */
.next-strip{margin:14px 0;padding:18px;border-radius:16px;border:1px solid #17364b;background:linear-gradient(150deg,#0b2437,#071a2a)}
.next-strip h3{margin:0 0 14px;font-size:15px;color:var(--cyan)}
.next-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.next-card{background:#0a1e30;border:1px solid #17364b;border-radius:12px;padding:14px;text-align:center;transition:.18s;color:var(--text)}
.next-card:hover{transform:translateY(-3px);border-color:var(--cyan)}
.next-card span{font-size:20px}
.next-card b{display:block;font-size:16px;color:var(--cyan2);margin:6px 0 2px;word-break:break-word}
.next-card small{display:block;color:var(--muted);font-size:11px}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.cc-item{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:12px;border:1px solid #dfe8ed;background:#f8fbfc;color:#0a2234;transition:.15s}
.cc-item:hover{transform:translateY(-2px);border-color:#12d0d3}
.cc-item b{font-size:26px;color:#0d3946}
.cc-item span{font-size:12px;color:#687b87}
.cc-item.urgent{border-color:#f0a0b0;background:#fff5f7}
.cc-item.urgent b{color:#c02c46}

/* --- certificate --- */
.cert{max-width:900px;margin:0 auto}
.cert-frame{position:relative;background:#0d2440;padding:14px;border-radius:8px}
.cert-body{position:relative;background:linear-gradient(160deg,#fdfefe,#eef4f8);padding:52px 46px 60px;text-align:center;border:2px solid #1aa5b0}
.cert-corner{position:absolute;width:64px;height:64px;border:0 solid #1aa5b0;z-index:2}
.cert-corner.tl{top:22px;inset-inline-start:22px;border-top-width:4px;border-inline-start-width:4px}
.cert-corner.tr{top:22px;inset-inline-end:22px;border-top-width:4px;border-inline-end-width:4px}
.cert-corner.bl{bottom:22px;inset-inline-start:22px;border-bottom-width:4px;border-inline-start-width:4px}
.cert-corner.br{bottom:22px;inset-inline-end:22px;border-bottom-width:4px;border-inline-end-width:4px}
.cert-logo{width:96px;height:96px;object-fit:contain;border-radius:50%;margin-bottom:14px}
.cert-title{margin:0;font-size:44px;letter-spacing:3px;color:#0d2440;font-weight:900}
.cert-sub{margin:4px 0 26px;letter-spacing:4px;color:#1aa5b0;font-size:13px;font-weight:700}
.cert-line{margin:0;letter-spacing:2px;font-size:12px;color:#3c556e}
.cert-name{margin:18px auto;font-size:32px;font-weight:800;color:#0d2440;border-bottom:2px solid #1aa5b0;display:inline-block;padding:0 40px 8px;min-width:340px}
.cert-course{margin:12px 0 6px;font-size:26px;font-weight:800;color:#1aa5b0;letter-spacing:1px}
.cert-grade{margin:0 0 8px;color:#3c556e;font-weight:700}
.cert-wish{margin:16px 0 34px;color:#3c556e;line-height:1.8;font-size:13px}
.cert-meta{display:grid;grid-template-columns:1fr auto auto;gap:26px;align-items:end;text-align:start;margin-top:20px}
.cert-facts div{display:flex;gap:8px;font-size:11px;margin-bottom:8px;align-items:baseline}
.cert-facts b{color:#0d2440;letter-spacing:.5px}
.cert-facts span{border-bottom:1px solid #9db2c4;flex:1;color:#1aa5b0;font-weight:700}
.cert-sign{text-align:center}
.cert-signline{display:block;width:150px;border-bottom:1px solid #0d2440;margin-bottom:6px}
.cert-sign b{display:block;font-size:10px;letter-spacing:1px;color:#0d2440}
.cert-sign small{color:#1aa5b0;font-size:10px;font-weight:700}
.cert-qr{width:78px;height:78px;display:block;margin:0 auto 4px}
.cert-seal{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%)}
.badge-svg{filter:drop-shadow(0 6px 14px #0d244055)}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.cert-mini{background:#0a2235;border:1px solid #17384c;border-radius:16px;padding:20px;text-align:center}
.cert-mini h3{margin:10px 0 4px;font-size:16px}
.cert-mini small{color:var(--muted);display:block;margin-bottom:12px}
.cert-mini .inline-form{justify-content:center;flex-wrap:wrap}

/* --- verification page --- */
.verify-page{display:grid;place-items:center;min-height:60vh}
.verify-card{max-width:560px;width:100%;text-align:center;background:#0a2235;border:1px solid #17384c;border-radius:22px;padding:44px 34px}
.verify-card.is-valid{border-color:#36d36b;box-shadow:0 0 0 1px #36d36b33}
.verify-card.is-invalid{border-color:#f05476}
.verify-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;font-size:38px;font-weight:900;background:#0d3b2a;color:#4ef0a0}
.verify-icon.bad{background:#3b1620;color:#ff8fa3}
.verify-card h1{margin:0 0 6px;font-size:26px}
.verify-sub{color:var(--muted);margin:0 0 22px}
.verify-facts{text-align:start;display:grid;gap:10px;margin-bottom:22px}
.verify-facts div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #17384c;padding-bottom:8px}
.verify-facts dt{color:var(--muted);font-size:13px}
.verify-facts dd{margin:0;font-weight:700}

/* --- labs --- */
.lab-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
.lab-head small{display:block;color:#687b87;font-size:12px}
.student-workspace .lab-head small{color:var(--muted)}
.lab-shot{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin:8px 0}
.lab-feedback{background:#eefbfc;border-inline-start:3px solid #12d0d3;padding:10px 14px;border-radius:8px;margin-top:10px;color:#0a2234}
.student-workspace .lab-feedback{background:#0c2b3f;color:var(--text)}

/* --- stories & paths --- */
.story-row{border:1px solid #e2eaee;border-radius:12px;padding:14px;margin-bottom:10px;background:#f8fbfc;color:#0a2234}
.story-row.is-off{opacity:.55}
.story-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.story-head img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.story-head small{display:block;color:#687b87}
.story-outcome{color:#137342;font-weight:700}
.path-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.path-card{background:linear-gradient(150deg,#0b2437,#071827);border:1px solid #17364b;border-radius:20px;padding:24px}
.path-card h3{margin:0 0 4px;font-size:20px}
.path-card header small{color:var(--muted);font-size:12px}
.path-steps{list-style:none;margin:16px 0;padding:0;display:grid;gap:10px;position:relative}
.path-steps li{display:flex;gap:12px;align-items:center}
.path-num{width:28px;height:28px;border-radius:50%;background:#0d3946;color:var(--cyan);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.path-steps b{display:block;font-size:14px}
.path-steps small{color:var(--muted);font-size:11px}

/* --- V5: tasteful motion only --- */
@media(prefers-reduced-motion:no-preference){
  .course-card,.opp-card,.session-card,.next-card,.cc-item{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
  .btn{transition:filter .15s ease,transform .12s ease}
  .btn:active{transform:scale(.98)}
  .btn.teal{box-shadow:0 0 0 0 #12d0d366}
  .btn.teal:hover{box-shadow:0 0 18px #12d0d355}
  .gallery-slide.is-active img{animation:kenburns 12s ease-out both}
  @keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}
}
@media(prefers-reduced-motion:reduce){.gallery-slide.is-active img{animation:none}}

@media(max-width:1100px){.next-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){
  .next-cards{grid-template-columns:repeat(2,1fr)}
  .cert-body{padding:34px 20px 46px}
  .cert-title{font-size:30px}.cert-name{font-size:23px;min-width:0;padding:0 14px 8px}.cert-course{font-size:19px}
  .cert-meta{grid-template-columns:1fr;gap:18px}
  .wa-menu{min-width:220px}
}
@media print{
  body.printing-cert .topbar,body.printing-cert .quicknav,body.printing-cert .student-nav,
  body.printing-cert .receipt-actions,body.printing-cert .wa-dock{display:none!important}
  body.printing-cert .cert{max-width:100%}
  .cert-frame{break-inside:avoid}
}

/* ============ V22 — CRM pipeline board + lead timeline ============ */
.crm-board{display:grid;grid-auto-flow:column;grid-auto-columns:250px;gap:14px;overflow-x:auto;padding-bottom:10px}
.crm-col{background:#0a1e30;border:1px solid #17364b;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:120px}
.crm-col-side{border-color:#3a2436;background:#150f1a}
.crm-col-head{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 10px;border-bottom:1px solid #17364b}
.crm-col-head b{font-size:12.5px;color:var(--cyan2)}
.crm-card{display:flex;flex-direction:column;gap:4px;background:#0d2740;border:1px solid #17364b;border-radius:10px;padding:10px;color:var(--text);transition:.15s}
.crm-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.crm-card.is-lost{opacity:.65}
.crm-card small{color:var(--muted);font-size:11px}
.crm-course{color:var(--cyan2)!important}
.crm-owner{font-size:10.5px;margin-top:4px;color:#7fe3ec}
.crm-owner.unassigned{color:#f3be3e}
.crm-empty{text-align:center;color:#3a5566;font-size:12px;padding:14px 0}

.lost-reason-wrap{display:none}
.lead-fact{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e2eaee;padding:7px 0;font-size:13px}
.lead-fact b{color:#314855}

.timeline{position:relative;padding-inline-start:22px}
.timeline::before{content:'';position:absolute;inset-inline-start:6px;top:6px;bottom:6px;width:2px;background:#e2eaee}
.timeline-item{position:relative;padding-bottom:18px}
.tl-dot{position:absolute;inset-inline-start:-22px;top:3px;width:12px;height:12px;border-radius:50%;background:#12d0d3;border:2px solid #fff;box-shadow:0 0 0 2px #12d0d3}
.tl-body b{display:block;font-size:13px;color:#0a2234}
.tl-body p{margin:4px 0;color:#3c556e;font-size:13px}
.tl-body small{color:#93a6b3;font-size:11px}
.timeline-item.tl-stage_change .tl-dot{background:#f3be3e;box-shadow:0 0 0 2px #f3be3e}
.timeline-item.tl-converted .tl-dot{background:#36d36b;box-shadow:0 0 0 2px #36d36b}
.timeline-item.tl-owner_change .tl-dot{background:#7c5cff;box-shadow:0 0 0 2px #7c5cff}

@media(max-width:820px){.crm-board{grid-auto-columns:78vw}}

/* ============ V23 — notification bell + announcements ============ */
.notif-bell{position:relative}
#notifBtn{background:transparent;border:0;font-size:19px;cursor:pointer;position:relative;padding:8px;color:var(--text)}
.notif-count{position:absolute;top:2px;inset-inline-end:2px;background:#f05476;color:#fff;font-size:10px;font-weight:800;min-width:16px;height:16px;border-radius:99px;display:grid;place-items:center;padding:0 3px}
.notif-panel{position:absolute;top:calc(100% + 8px);inset-inline-start:0;width:min(360px,88vw);max-height:70vh;overflow:auto;background:#0a2235;border:1px solid #1c4a5f;border-radius:14px;box-shadow:0 18px 50px #00000066;z-index:200}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #17364b}
.notif-head b{font-size:13px}
.notif-head button{background:transparent;border:0;color:var(--cyan);font-size:11px;cursor:pointer}
.notif-item{display:block;padding:12px 14px;border-bottom:1px solid #12283a;color:var(--text)}
.notif-item:hover{background:#0d3243}
.notif-item.is-unread{background:#0c2b3f;border-inline-start:3px solid var(--cyan)}
.notif-item b{display:block;font-size:13px}
.notif-item small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.notif-item time{display:block;color:#5b7382;font-size:10px;margin-top:4px}
.notif-empty{padding:22px;text-align:center;color:var(--muted);font-size:13px}

/* --- announcements admin --- */
.ann-row{border:1px solid #e2eaee;border-radius:12px;padding:14px;margin-bottom:10px;background:#f8fbfc;color:#0a2234}
.ann-row.pinned{border-color:#12d0d3;background:#eefbfc}
.ann-row small{display:block;color:#687b87;margin-top:4px}

/* ============ V24 — today tasks + sales targets ============ */
.today-tasks{display:flex;flex-wrap:wrap;gap:10px}
.today-task{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#0a1e30;border:1px solid #17364b;color:var(--text);font-size:13px}
.today-task:hover{border-color:var(--cyan)}
.today-anns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #17364b}
.ann-chip{font-size:11px;padding:5px 10px;border-radius:99px;background:#0d3946;color:var(--cyan2)}
.target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.target-item span{display:block;font-size:12px;color:#687b87;margin-bottom:6px}
.target-item small{display:block;margin-top:4px;color:#687b87;font-size:11px}

/* ============ V25 — gallery multi-upload ============ */
.file-drop{flex:1 1 100%;display:block;padding:22px;border:2px dashed #d6e3e9;border-radius:12px;text-align:center;cursor:pointer;color:#4b6472;background:#f8fbfc;transition:.15s}
.file-drop.is-over{border-color:#12d0d3;background:#eefbfc}
.gal-preview{flex:1 1 100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:10px}
.gal-thumb{position:relative;margin:0;border-radius:10px;overflow:hidden;border:1px solid #dfe8ed;background:#fff}
.gal-thumb img{width:100%;height:82px;object-fit:cover;display:block}
.gal-thumb button{position:absolute;top:4px;inset-inline-end:4px;width:20px;height:20px;border-radius:50%;border:0;background:#0009;color:#fff;cursor:pointer;font-size:11px;line-height:1}
.gal-thumb figcaption{font-size:10px;text-align:center;color:#687b87;padding:3px}
.gal-progress{flex:1 1 100%;margin-top:10px}
.gal-bar{height:8px;border-radius:99px;background:#e4ecef;overflow:hidden}
.gal-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#12d0d3,#36d36b);transition:width .22s}
.gal-progress small{display:block;margin-top:6px;color:#687b87;font-size:12px}
.gal-sortable .media-card{cursor:grab}
.gal-sortable .media-card.is-dragging{opacity:.4;outline:2px dashed #12d0d3}

/* V39 — complete placement-test engine */
.assessment-layout{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}.assessment-list{display:grid;gap:12px}.assessment-card{display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:center;background:#fff;color:#0a2234;border:1px solid #dfe8ed;border-radius:16px;padding:18px 20px}.assessment-card:hover{border-color:#10bfc5;transform:translateY(-1px)}.assessment-card h3{margin:10px 0 5px}.assessment-card p{margin:0;color:#657b88}.assessment-card strong{font-size:28px;color:#079ba1}.assessment-card small{grid-column:2;color:#657b88}.assessment-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.share-panel{display:flex;align-items:center;gap:10px;background:#0b293b;border:1px solid #17465c;border-radius:16px;padding:14px 16px;margin-bottom:18px}.share-panel>div{min-width:0;flex:1}.share-panel b,.share-panel span{display:block}.share-panel span{margin-top:4px;color:#9fc0cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.check-row,.consent-line{display:flex!important;align-items:flex-start;gap:9px;font-weight:600}.check-row input,.consent-line input{width:auto!important;margin-top:3px}.band-list{display:grid;gap:8px;margin-bottom:14px}.band-list>div{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#f1f7f9}.band-list form{margin:0}.band-list button{border:0;background:transparent;color:#b6243e;font-size:22px;cursor:pointer}.compact-form{border-top:1px solid #dfe8ed;padding-top:14px}.question-builder{margin-bottom:18px}.choice-builder{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-builder label{display:grid;grid-template-columns:36px 1fr 1fr;gap:8px;align-items:center}.choice-builder label b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#0d2440;color:#fff}.question-bank{display:grid;gap:12px;margin-bottom:18px}.question-bank article{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:start;background:#fff;color:#0a2234;border:1px solid #dfe8ed;border-radius:16px;padding:18px}.question-no{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#dff8f8;color:#087f84;font-weight:900}.question-bank h3{margin:2px 0 4px}.question-bank small{color:#657b88}.question-bank ol{margin:12px 0 0;padding-inline-start:26px;display:grid;gap:6px}.correct-choice{color:#087c50;font-weight:800}.placement-public{max-width:1120px;margin:0 auto}.placement-hero{text-align:center;padding:48px 18px 28px}.placement-hero h1{font-size:clamp(34px,5vw,60px);margin:10px auto;max-width:850px}.placement-hero p{color:var(--muted);font-size:18px}.placement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:36px}.placement-grid article{background:linear-gradient(145deg,#0b2a3e,#071827);border:1px solid #17485e;border-radius:20px;padding:24px}.placement-grid article>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#0fbcc522;color:#25e2e4;font-size:24px}.placement-grid h2{margin:16px 0 8px}.placement-grid p{color:var(--muted);margin:0 0 20px}.placement-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;min-height:70vh}.placement-intro>div>h1{font-size:clamp(36px,5vw,58px);margin:10px 0}.placement-intro>div>p{color:var(--muted);font-size:17px;line-height:1.8}.test-facts{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.test-facts span{min-width:110px;padding:14px;border:1px solid #17485e;border-radius:14px;background:#0b293b;color:#b8ccd5}.test-facts b{display:block;color:#1ddde0;font-size:25px}.test-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;background:#071827ee;backdrop-filter:blur(12px);border-bottom:1px solid #17485e}.test-head h1{margin:4px 0}.test-head p{margin:0;color:var(--muted)}.test-timer{min-width:130px;text-align:center;border:1px solid #1cbec5;border-radius:14px;padding:10px 16px;background:#0a293a}.test-timer small,.test-timer b{display:block}.test-timer b{font-size:24px;color:#26e1e3;margin-top:2px}.test-form{max-width:900px;margin:24px auto}.test-question{border:1px solid #17485e;border-radius:18px;padding:20px;margin:0 0 16px;background:#0a2234}.test-question legend{padding:0 8px;font-weight:800;font-size:18px}.test-question legend>span{display:inline-grid;place-items:center;width:32px;height:32px;margin-inline-end:9px;border-radius:50%;background:#16bcc4;color:#03222a}.test-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.test-choices label{cursor:pointer}.test-choices input{position:absolute;opacity:0;pointer-events:none}.test-choices label>span{height:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #1a4559;border-radius:12px;background:#081c2b;color:#dceaf0}.test-choices label>span b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#12384b;color:#36dce0}.test-choices input:checked+span{border-color:#20d8dc;background:#0c3b49;box-shadow:0 0 0 2px #20d8dc22}.test-submit{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#071827ee;border:1px solid #17485e;border-radius:15px;padding:12px 16px;backdrop-filter:blur(12px)}.test-submit p{margin:0;color:#1ddde0;font-weight:900}.result-card{max-width:680px;margin:50px auto;text-align:center;background:linear-gradient(145deg,#0b2a3e,#071827);border:1px solid #1a5367;border-radius:24px;padding:42px}.result-check{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#17c6c833;color:#31e1e3;font-size:40px}.result-card h1{margin:8px 0}.result-score{display:flex;flex-direction:column;margin:22px auto}.result-score b{font-size:72px;color:#31e1e3;line-height:1}.result-score span{color:var(--muted);margin-top:6px}.result-recommendation{font-size:18px;line-height:1.8;color:#d6e7ed}.result-actions{display:flex;justify-content:center;gap:10px;margin:24px 0}.result-card>small{color:#829ca8}.table-scroll{overflow:auto}
@media(max-width:900px){.assessment-layout,.assessment-detail-grid,.placement-intro{grid-template-columns:1fr}.placement-grid{grid-template-columns:1fr 1fr}.choice-builder,.test-choices{grid-template-columns:1fr}.share-panel{align-items:stretch;flex-wrap:wrap}.share-panel>div{flex-basis:100%}}
@media(max-width:600px){.placement-grid{grid-template-columns:1fr}.question-bank article{grid-template-columns:42px 1fr}.question-bank article>form{grid-column:2}.choice-builder label{grid-template-columns:34px 1fr}.choice-builder label input:last-child{grid-column:2}.result-card{padding:28px 18px;margin:20px auto}.result-score b{font-size:58px}}
.row-actions{display:flex;align-items:center;gap:8px}.row-actions form{margin:0}.btn.mini{padding:7px 10px;font-size:12px}.band-list .row-actions{justify-content:flex-end}.band-list .row-actions .icon-link{border:0;background:transparent;color:#b6243e;font-size:22px;cursor:pointer}

/* Support ticket desk */
.student-support-nav{justify-content:center;background:#071827;border-bottom:1px solid #17384c}.student-support-nav a{color:var(--cyan)}.support-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.support-stats a{padding:15px;border:1px solid #1a4559;border-radius:14px;background:#0a2234;text-align:center}.support-stats a.active,.support-stats a:hover{border-color:var(--cyan);background:#0d3444}.support-stats b,.support-stats span{display:block}.support-stats b{font-size:27px;color:var(--cyan)}.support-stats span{font-size:12px;color:#b8ccd5;margin-top:4px}.support-filter{display:grid;grid-template-columns:1fr 190px 170px auto}.support-filter input,.support-filter select,.ticket-admin-bar select{background:#0a2234}.support-layout{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(420px,1.2fr);gap:18px}.student-ticket-list{display:grid;gap:10px}.student-ticket-list>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border:1px solid #dce7ec;border-radius:13px;background:#f8fbfc}.student-ticket-list>a:hover{border-color:#11bfc5}.student-ticket-list small,.data-surface td small{display:block;color:#718591;margin-top:5px}.ticket-status,.priority-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:900;white-space:nowrap}.ticket-status.open,.ticket-status.reopened{background:#dff7ff;color:#08769b}.ticket-status.in-progress{background:#fff0c9;color:#926500}.ticket-status.waiting-for-student{background:#ede7ff;color:#6845a5}.ticket-status.resolved{background:#dcf7e8;color:#157c49}.ticket-status.closed{background:#e7edf0;color:#52666f}.priority-pill.low{background:#e9f3f5;color:#567079}.priority-pill.normal{background:#dff7ff;color:#08769b}.priority-pill.high{background:#fff0c9;color:#926500}.priority-pill.urgent{background:#ffe0e5;color:#b32643}.priority-urgent td:first-child{border-inline-start:4px solid #e43f5e}.ticket-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--muted)}.ticket-admin-bar{background:#0a2234;border:1px solid #17485e;border-radius:16px;padding:14px;margin-bottom:18px}.ticket-admin-bar form{display:grid;grid-template-columns:220px 1fr auto;align-items:end;gap:12px}.ticket-thread{display:grid;gap:13px;max-width:900px;margin:0 auto 18px}.ticket-message{max-width:78%;background:#fff;color:#0a2234;border:1px solid #dce7ec;border-radius:18px;padding:16px}.ticket-message.mine{margin-inline-start:auto;background:#e7fbfb;border-color:#a8e4e5}.ticket-message header{display:flex;align-items:center;gap:10px}.ticket-message header time{margin-inline-start:auto;font-size:11px;color:#718591}.ticket-message header small{display:block;color:#718591;margin-top:2px}.ticket-message p{white-space:pre-wrap;line-height:1.75;margin:13px 0 0}.ticket-reply{max-width:900px;margin:0 auto}.ticket-row a:hover{color:#079ba1}@media(max-width:900px){.support-stats{grid-template-columns:repeat(3,1fr)}.support-layout{grid-template-columns:1fr}.support-filter{grid-template-columns:1fr 1fr}.support-filter input{grid-column:span 2}.ticket-admin-bar form{grid-template-columns:1fr 1fr}.ticket-admin-bar button{grid-column:span 2}.ticket-message{max-width:92%}}@media(max-width:600px){.support-stats{grid-template-columns:repeat(2,1fr)}.support-filter{grid-template-columns:1fr}.support-filter input{grid-column:auto}.ticket-message{max-width:100%}}
/* V40 — private AI CV reviewer */
.cv-workspace,.cv-report-page{max-width:1280px}.cv-upload-card{border-top:3px solid var(--teal,#14cbd3)}
.cv-consent{padding:16px;border:1px solid rgba(27,198,205,.35);border-radius:14px;background:rgba(27,198,205,.06)}
.cv-consent input{width:auto;min-width:18px}.cv-error{border-color:#e65b68}.cv-expiry{margin:0 0 18px;padding:12px 16px;border-radius:12px;background:#fff3cd;color:#614b00}
.cv-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.cv-score-grid article{padding:22px;border:1px solid rgba(23,199,207,.3);border-radius:18px;background:linear-gradient(145deg,rgba(8,32,51,.98),rgba(9,51,66,.92));text-align:center}.cv-score-grid small{display:block;color:#8eb6c9}.cv-score-grid strong{font-size:3rem;color:#22d4d8}.cv-score-grid span{color:#bdd3df}
.cv-breakdown{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.cv-breakdown div{padding:14px;border-radius:12px;background:rgba(14,190,199,.08);text-align:center}.cv-breakdown span{display:block;text-transform:capitalize;color:#85adbf}.cv-breakdown b{font-size:1.5rem;color:#1fcbd2}
.cv-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cv-issues{display:grid;gap:10px}.cv-issues article{padding:14px 16px;border-inline-start:5px solid #8194a0;border-radius:10px;background:rgba(255,255,255,.035)}.cv-issues article p{margin:6px 0 0}.cv-issues .severity-high{border-color:#ec5967}.cv-issues .severity-medium{border-color:#e8a52e}.cv-issues .severity-low{border-color:#3bb6d2}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{padding:5px 10px;border-radius:99px;background:rgba(232,165,46,.14);color:#f4c565}.tag-list.good span{background:rgba(30,194,128,.14);color:#59d9a4}.cv-disclaimer{margin:18px 0;padding:14px;border:1px solid rgba(232,165,46,.45);border-radius:12px}.danger-zone{text-align:end;margin:20px 0}.btn.danger{background:#b93c4b;color:#fff}.cv-admin-stats{grid-template-columns:repeat(6,1fr)}
.cv-executive{border-inline-start:5px solid var(--cyan);background:linear-gradient(135deg,rgba(18,208,211,.1),rgba(255,255,255,.98))}.cv-executive h2{margin:8px 0}.cv-executive p{font-size:1.05rem;line-height:1.9}.cv-readiness,.ai-badge{display:inline-flex;padding:6px 11px;border-radius:99px;background:#0d3946;color:var(--cyan);font-size:.75rem;font-weight:900}.cv-facts{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.cv-facts div{padding:14px;border:1px solid #dbe8ed;border-radius:12px;text-align:center;background:#f7fbfc}.cv-facts span,.cv-facts b{display:block}.cv-facts span{font-size:.75rem;color:#6d8795}.cv-facts b{font-size:1.45rem;color:#087f86;margin-top:5px}.cv-breakdown b small{font-size:.7rem;color:#78909d}.cv-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cv-checks article{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;border:1px solid #dbe7ec;background:#f8fbfc}.cv-checks article>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;font-weight:900}.cv-checks article.pass>span{background:#d9f6e9;color:#0f7b50}.cv-checks article.review>span{background:#fff0cd;color:#946400}.cv-checks p,.cv-section-checks p{margin:5px 0 0;color:#647b88}.cv-section-checks{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.cv-section-checks article{padding:14px;border-radius:12px;border:1px solid #dce8ed}.cv-section-checks .present{background:#effbf5;border-color:#bfe8d4}.cv-section-checks .missing{background:#fff7e6;border-color:#f1d599}.ai-review-block{position:relative;border:1px solid rgba(18,208,211,.45);box-shadow:0 10px 28px rgba(11,118,124,.09)}.ai-review-block .ai-badge{position:absolute;top:14px;inset-inline-end:16px}.cv-keyword-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tag-list.neutral span{background:#e8f3f7;color:#316b80}.cv-muted{color:#647b88}.cv-plan{counter-reset:cvplan;display:grid;gap:10px;list-style:none;padding:0}.cv-plan li{counter-increment:cvplan;padding:13px 54px 13px 15px;position:relative;border:1px solid #dce8ed;border-radius:12px;background:#f8fbfc}.cv-plan li:before{content:counter(cvplan);position:absolute;inset-inline-start:13px;top:10px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#0b8790;color:#fff;font-weight:900}[dir="ltr"] .cv-plan li{padding:13px 15px 13px 54px}
@media(max-width:900px){.cv-score-grid,.cv-two-col,.cv-checks,.cv-keyword-grid{grid-template-columns:1fr}.cv-breakdown{grid-template-columns:repeat(2,1fr)}.cv-facts{grid-template-columns:repeat(3,1fr)}.cv-section-checks{grid-template-columns:repeat(2,1fr)}.cv-admin-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cv-facts{grid-template-columns:repeat(2,1fr)}.cv-section-checks{grid-template-columns:1fr}}
@media print{body{background:#fff!important;color:#111!important}.site-header,.student-nav,.quicknav,.no-print,.danger-zone{display:none!important}.cv-report-page{max-width:none!important;padding:0!important}.cv-report-page .data-surface,.cv-score-grid article{background:#fff!important;color:#111!important;box-shadow:none!important;border:1px solid #ccd5dc!important;break-inside:avoid}.cv-score-grid strong,.cv-breakdown b,.cv-facts b{color:#067d86!important}.cv-score-grid small,.cv-score-grid span,.cv-breakdown span,.cv-facts span{color:#333!important}.cv-print-head{border-bottom:2px solid #0c2744;margin-bottom:14px}.cv-two-col{grid-template-columns:1fr 1fr}.cv-checks{grid-template-columns:1fr 1fr}.cv-keyword-grid{grid-template-columns:1fr}.cv-disclaimer{color:#111!important}a{color:#111!important;text-decoration:none!important}@page{size:A4;margin:12mm}}

/* V41 automatic student rewards and smart engagement */
.engagement-greeting{display:flex;align-items:center;gap:14px;margin:16px 0;padding:17px 20px;border:1px solid rgba(255,203,89,.4);border-radius:18px;background:linear-gradient(105deg,rgba(255,190,55,.18),rgba(25,205,213,.1))}.engagement-greeting span{font-size:30px}.level-panel{margin:16px 0;padding:22px;border:1px solid rgba(37,211,218,.23);border-radius:20px;background:#092439}.level-heading,.level-caption{display:flex;align-items:center;justify-content:space-between;gap:16px}.level-heading h2{margin:4px 0}.level-heading strong{font-size:28px;color:#22d4da}.level-heading strong small{font-size:13px;color:#9bb6c5}.level-track{height:12px;margin:15px 0;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}.level-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#11bfc9,#49e0d1);box-shadow:0 0 14px rgba(32,211,218,.5)}.level-caption{color:#a9bfca;font-size:14px}.level-caption a{color:#29d4d8}.smart-student-message{display:flex;align-items:center;gap:13px;margin:16px 0;padding:17px 20px;border-radius:17px;background:#ecfbfc;color:#073044;text-decoration:none}.smart-student-message span{font-size:26px}.smart-student-message b{flex:1}.smart-student-message i{font-style:normal}.achievement-celebration{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(1,12,21,.78);backdrop-filter:blur(7px)}.achievement-modal{position:relative;width:min(440px,100%);padding:38px 25px;text-align:center;border:1px solid #25d3da;border-radius:26px;background:linear-gradient(145deg,#0c3045,#071827);box-shadow:0 24px 80px rgba(0,0,0,.45)}.achievement-modal p{color:#34d9de;font-weight:800}.achievement-modal h2{margin-bottom:25px}.achievement-big-icon{display:block;font-size:74px;animation:achievement-pop .7s cubic-bezier(.2,.9,.2,1.4)}.achievement-close{position:absolute;top:12px;inset-inline-end:15px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.confetti-piece{position:fixed;top:-20px;z-index:1001;width:9px;height:16px;border-radius:3px;animation:confetti-fall 2.7s linear forwards}.achievements-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:30px;border-radius:25px;background:linear-gradient(125deg,#09263b,#075b65)}.level-orb{min-width:165px;display:flex;flex-direction:column;align-items:center;padding:20px;border:1px solid rgba(255,255,255,.17);border-radius:22px;background:rgba(3,18,31,.35)}.level-orb span{font-size:48px}.level-orb b{font-size:22px}.level-orb small{color:#b4d0d7}.achievement-progress{margin-bottom:22px}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.badge-card{display:flex;align-items:center;gap:16px;padding:21px;border:1px solid rgba(41,208,216,.2);border-radius:20px;background:#0a2336}.badge-card h3{margin:0 0 6px}.badge-card p{margin:0 0 9px;color:#9bb4c1;font-size:14px}.badge-card small{color:#35d5d8}.badge-card.locked{opacity:.58;filter:saturate(.45)}.badge-icon{display:grid;place-items:center;flex:0 0 68px;height:68px;border-radius:50%;background:rgba(37,211,218,.12);font-size:32px}.badge-card.earned .badge-icon{box-shadow:0 0 0 4px rgba(37,211,218,.08),0 0 22px rgba(37,211,218,.15)}
@keyframes achievement-pop{0%{transform:scale(.2) rotate(-20deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}@keyframes confetti-fall{to{transform:translate(var(--drift),105vh) rotate(720deg);opacity:.6}}
@media(max-width:800px){.badge-grid{grid-template-columns:1fr 1fr}.achievements-hero{align-items:flex-start}.level-caption{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.badge-grid{grid-template-columns:1fr}.achievements-hero{flex-direction:column}.level-orb{width:100%}.level-panel{padding:17px}.level-heading strong{font-size:22px}.smart-student-message{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.achievement-big-icon,.confetti-piece{animation:none}}

/* V41.2 — dashboard card + combined/shareable achievements */
.dashboard-student-card{flex:0 1 410px;max-width:410px;box-shadow:0 18px 38px rgba(0,8,15,.32)}
.dashboard-student-card .card-brand{padding:11px 15px}.dashboard-student-card .card-brand img{width:44px;height:44px}.dashboard-student-card .card-brand b{font-size:16px}.dashboard-student-card .card-main{grid-template-columns:72px 1fr 70px;padding:14px}.dashboard-student-card .card-photo{width:68px;height:82px}.dashboard-student-card .qr{width:66px;height:66px}.dashboard-student-card .card-footer{padding:8px;font-size:12px}
.achievements-combined{scroll-margin-top:150px;margin-top:34px;padding-top:12px;border-top:1px solid rgba(37,211,218,.2)}.achievements-combined .achievements-hero{margin-top:14px}.earned-achievements{margin-bottom:26px}.shareable-achievement>div:last-child{min-width:0;flex:1}.achievement-share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.future-achievements{margin-top:28px}
.public-achievement-page{min-height:calc(100vh - 84px);display:grid;place-items:center;padding:32px 18px;background:radial-gradient(circle at 50% 25%,#0d5765 0,#071827 48%,#04101a 100%)}.public-achievement-card{width:min(620px,100%);padding:42px 28px;text-align:center;border:1px solid rgba(50,221,225,.48);border-radius:30px;background:linear-gradient(145deg,rgba(10,44,64,.98),rgba(5,22,36,.98));box-shadow:0 28px 80px rgba(0,0,0,.45)}.public-achievement-card>img{width:86px;height:86px;border-radius:50%;object-fit:cover;border:2px solid var(--cyan)}.public-achievement-icon{display:block;margin:24px 0 8px;font-size:88px}.public-achievement-card h1{margin:8px 0;font-size:clamp(32px,6vw,54px)}.achievement-owner{margin:12px 0 5px;font-size:24px;font-weight:900}.public-achievement-card>small{color:#a8c1cc}.verified-mark{width:max-content;max-width:100%;margin:24px auto;padding:9px 15px;border-radius:99px;background:rgba(54,211,107,.13);color:#70e99b;font-weight:800}
@media(max-width:760px){.dashboard-student-card{width:100%;max-width:100%;flex-basis:auto}.achievement-share-actions .btn{flex:1}.public-achievement-card{padding:32px 18px}.public-achievement-icon{font-size:70px}}

/* V41.1 QR compatibility fallback */
.qr-photo-fallback{margin-top:12px}.qr-photo-fallback label{cursor:pointer}.qr-photo-fallback .muted-note{margin:7px 0 0}

/* V41.2.1 — iOS-safe staff navigation.  The phone menu lives outside the
   horizontal tab scroller, so Safari cannot clip an opened details panel. */
.staff-mobile-toggle{display:none}
.staff-nav-items{display:flex;align-items:center;gap:8px;min-width:max-content}
@media(max-width:720px){
  .staff-quicknav{display:block;overflow:visible!important;padding:8px 12px;z-index:310}
  .staff-mobile-toggle{display:flex;width:100%;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border:1px solid #1b566d;border-radius:13px;background:#0b3044;color:#fff;font:inherit;font-weight:900;cursor:pointer}
  .staff-mobile-toggle span{color:var(--cyan);font-size:20px}
  .staff-nav-items{display:none;position:fixed;top:var(--staff-menu-top,132px);inset-inline:10px;z-index:520;min-width:0;max-height:calc(100dvh - var(--staff-menu-top,132px) - 10px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:5px;padding:10px;border:1px solid #1b566d;border-radius:15px;background:#071d2d;box-shadow:0 22px 60px #000a}
  .staff-quicknav.mobile-open .staff-nav-items{display:flex}
  .staff-nav-items>a,.staff-nav-items .nav-menu summary{box-sizing:border-box;width:100%;min-height:48px;display:flex;align-items:center;padding:11px 14px;border-radius:10px}
  .staff-nav-items>a{flex:0 0 auto}
  .staff-nav-items .nav-menu{width:100%;flex:0 0 auto}
  .staff-nav-items .nav-menu>div{position:static!important;inset:auto!important;min-width:0!important;width:100%;max-height:none;margin:4px 0 8px;padding:5px;border:1px solid #17465a;border-radius:10px;background:#09273a;box-shadow:none}
  .staff-nav-items .nav-menu>div a{min-height:46px;display:flex;align-items:center}
  body.staff-nav-open{overflow:hidden}
}
