@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;600;700;800;900&display=swap');
:root{--pnavy:#062b53;--pnavy2:#0b477f;--pgold:#d3a33d;--pgold2:#f0c15c;--pteal:#128a91;--ppurple:#7652a7;--pline:#dbe5ee;--ptext:#113558;--pmuted:#6f8397}
.portalPage{margin:0;min-height:100vh;background:#edf3f8;color:var(--ptext);font-family:'Tajawal',Arial,sans-serif!important;overflow-x:hidden}
.portalPage *{font-family:'Tajawal',Arial,sans-serif!important;box-sizing:border-box}.portalPage a{text-decoration:none}
.portalTop{height:110px;background:linear-gradient(100deg,#05284d,#073a6a);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px;padding:0 clamp(22px,4vw,64px);position:relative;z-index:20;box-shadow:0 12px 34px rgba(2,31,59,.14)}
.portalBrand{justify-self:start;display:flex;align-items:center;gap:15px;color:#fff}.portalBrand img{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:50%;padding:4px;box-shadow:0 7px 18px rgba(0,0,0,.16)}.portalBrand span{display:grid;line-height:1.2}.portalBrand b{font-size:22px;font-weight:900}.portalBrand small{font-family:Arial,sans-serif!important;font-size:10px;letter-spacing:1.1px;color:#dbe8f4;margin-top:6px;font-weight:700}
.portalPlatformBrand{text-align:center;display:grid;line-height:1.2}.portalPlatformBrand strong{font-size:20px;font-weight:900;letter-spacing:-.2px}.portalPlatformBrand small{font-family:Arial,sans-serif!important;font-size:10px;letter-spacing:2px;color:var(--pgold2);font-weight:700;margin-top:7px}
.portalBack{justify-self:end;border:1px solid rgba(255,255,255,.45);border-radius:12px;padding:11px 18px;color:#fff;font-weight:800;font-size:12px;background:rgba(255,255,255,.06);transition:.22s}.portalBack:hover{background:#fff;color:var(--pnavy)}
.portalMain{max-width:1600px;margin:0 auto;padding:0 34px 30px}.portalHero{height:340px;margin:0 -34px;position:relative;background:url('/assets/img/hero-landmark.jpg') center 43%/cover no-repeat;display:flex;justify-content:center;align-items:flex-start;overflow:hidden}.portalHeroShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,39,74,.94) 0%,rgba(7,53,95,.82) 46%,rgba(238,244,249,.94) 100%)}.portalHero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.09),transparent 42%);pointer-events:none}.portalIntro{position:relative;z-index:2;text-align:center;color:#fff;max-width:820px;padding-top:62px}.portalEyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--pgold2);font-weight:900;font-size:13px}.portalEyebrow:before,.portalEyebrow:after{content:"";width:48px;height:1px;background:var(--pgold2)}.portalIntro h1{font-size:58px;line-height:1.15;margin:12px 0 8px;font-weight:900;letter-spacing:-1.5px;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.18)}.portalIntro p{font-size:17px;line-height:1.9;color:#e4edf5;margin:0 auto;max-width:720px;font-weight:500}
.portalGrid{position:relative;z-index:5;margin:-86px auto 0;max-width:1180px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;direction:rtl}.portalCard{min-height:430px;background:rgba(255,255,255,.98);border:1px solid rgba(8,45,87,.11);border-radius:24px;padding:28px 28px 25px;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 22px 52px rgba(4,35,66,.12);transition:transform .25s ease,box-shadow .25s ease,border-color .25s;color:var(--ptext)}.portalCard:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--pgold)}.portalCard.cadet:before{background:var(--pteal)}.portalCard.guardian:before{background:var(--ppurple)}.portalCard:hover{transform:translateY(-8px);box-shadow:0 32px 72px rgba(4,35,66,.18);border-color:rgba(8,45,87,.2)}.portalNum{position:absolute;top:25px;left:28px;font-family:Arial,sans-serif!important;color:#9bafc1;font-size:12px;font-weight:800}.portalIcon{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;margin:8px auto 24px;color:#fff;box-shadow:0 12px 28px rgba(8,45,87,.18);background:linear-gradient(145deg,#d7ad55,#bd8422);border:6px solid #f5e6c2}.portalCard.cadet .portalIcon{background:linear-gradient(145deg,#1ba0a6,#08757c);border-color:#d8f0ef}.portalCard.guardian .portalIcon{background:linear-gradient(145deg,#8a67bc,#654295);border-color:#e8def3}.portalIcon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.portalIcon.textIcon{font-family:Arial,sans-serif!important;font-size:22px;font-weight:900}.portalCardBody{text-align:center}.portalCard small{color:#ae7720;font-weight:900;font-size:11px}.portalCard.cadet small{color:#08767d}.portalCard.guardian small{color:#6b499b}.portalCard h2{color:var(--pnavy);font-size:29px;line-height:1.35;margin:8px 0 16px;font-weight:900;letter-spacing:-.35px}.portalCard p{color:#6f8192;line-height:1.95;font-size:13px;margin:0 auto;max-width:300px;font-weight:500}.portalCard>b{margin-top:auto;color:#9f6d1b;font-size:13px;border:1px solid #d9b45d;border-radius:12px;padding:12px 14px;text-align:center;transition:.2s}.portalCard.cadet>b{color:#08767d;border-color:#64b6b8}.portalCard.guardian>b{color:#684695;border-color:#9b7abc}.portalCard>b span{font-family:Arial,sans-serif!important;margin-right:5px}.portalCard:hover>b{background:#fff8e8}.portalCard.cadet:hover>b{background:#eefafa}.portalCard.guardian:hover>b{background:#f7f3fb}
.portalTrust{max-width:1340px;margin:28px auto 0;background:linear-gradient(100deg,#062b53,#0b477f);color:#fff;border-radius:18px;padding:20px 28px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 18px 45px rgba(4,35,66,.12)}.portalTrust div{position:relative;padding:2px 24px 2px 54px;border-left:1px solid rgba(255,255,255,.18);min-height:52px;display:flex;flex-direction:column;justify-content:center}.portalTrust div:last-child{border:0}.portalTrust b{font-size:14px;font-weight:900}.portalTrust small{font-size:10.5px;color:#c9d9e6;margin-top:3px;line-height:1.55}.trustIcon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:1px solid rgba(240,193,92,.65);border-radius:8px;color:var(--pgold2);display:grid;place-items:center;font-family:Arial,sans-serif!important;font-weight:900}.portalFooter{text-align:center;color:#8e9ba8;font-size:10.5px;padding:24px 0 4px}

/* admission styles retained for direct legacy access; portal no longer exposes admission */
.admissionPage{margin:0;min-height:100vh;background:linear-gradient(180deg,#f6f9fc,#edf3f8);font-family:'Tajawal',Arial,sans-serif!important;color:var(--ptext)}
.admissionMain{max-width:1380px;margin:auto;padding:54px 30px 70px}.admissionHero{text-align:right;margin-bottom:30px}.admissionHero span{color:var(--pgold);font-weight:900}.admissionHero h1{font-size:46px;color:var(--pnavy);margin:5px 0}.admissionHero p{color:#708497;font-size:16px}.admissionLayout{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.trackBox,.applyBox{background:#fff;border:1px solid var(--pline);border-radius:22px;padding:30px;box-shadow:0 16px 45px rgba(7,43,82,.06)}.boxHead span{color:var(--pgold);font-size:11px;font-weight:900}.boxHead h2,.applyBox h2{color:var(--pnavy);font-size:25px;margin:5px 0 18px}.trackForm{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.trackForm label{display:grid;gap:7px;font-weight:800;font-size:12px}.trackForm input{height:48px;border:1px solid #cfdbe5;border-radius:10px;padding:0 12px;font:inherit;outline:none}.trackForm input:focus{border-color:#6286a6;box-shadow:0 0 0 3px #0d47770e}.trackForm button,.applyBox button{height:48px;border:0;border-radius:10px;background:var(--pnavy);color:#fff;padding:0 24px;font:800 13px 'Tajawal';cursor:pointer}.applyBox{position:relative}.statusDot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#aeb9c2;margin-left:5px}.statusDot.open{background:#27a86f;box-shadow:0 0 0 5px #27a86f15}.applyBox p{color:#728699;line-height:1.8}.applyBox button:disabled{background:#cfd9e1;cursor:not-allowed}.applyBox em{display:block;color:#98a6b3;font-size:10px;margin-top:12px;font-style:normal}.applicationResult{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.applicationResult div{background:#f5f8fb;border-radius:12px;padding:15px}.applicationResult small,.applicationResult b{display:block}.applicationResult small{color:#8494a3;font-size:10px}.applicationResult b{color:var(--pnavy);margin-top:4px}.admissionStages{background:#fff;border:1px solid var(--pline);border-radius:22px;padding:28px;margin-top:20px}.admissionStages h2{color:var(--pnavy);margin:0 0 20px}.admissionStages>div{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.admissionStages span{text-align:center;position:relative}.admissionStages i{width:44px;height:44px;border-radius:50%;border:1px solid #bacbd9;display:grid;place-items:center;margin:auto;color:var(--pnavy);font:800 11px Arial;font-style:normal;background:#fff}.admissionStages b{display:block;font-size:10px;margin-top:7px;color:#405e78}.loginPortalTag{display:inline-block;margin-top:25px;color:var(--pgold);font:800 10px Arial;letter-spacing:1.4px}.roleChips{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.roleChips span{background:#eef4f8;color:#204865;border:1px solid #dce6ee;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700}
@media(max-width:1120px){.portalTop{grid-template-columns:1fr 1fr;height:auto;min-height:100px;padding-top:12px;padding-bottom:12px}.portalPlatformBrand{grid-column:1/-1;grid-row:2}.portalBrand{grid-column:1}.portalBack{grid-column:2}.portalHero{height:330px}.portalGrid{max-width:900px}.portalCard{min-height:410px;padding:24px 20px}.portalTrust{grid-template-columns:1fr 1fr;gap:16px}.portalTrust div{border:0}.trackForm{grid-template-columns:1fr 1fr}.trackForm button{grid-column:1/-1}.applicationResult{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.portalTop{display:flex;height:78px;min-height:78px;padding:0 14px;gap:10px}.portalBrand img{width:52px;height:52px}.portalBrand b{font-size:15px}.portalBrand small{font-size:7px}.portalPlatformBrand{display:none}.portalBack{margin-right:auto;font-size:10px;padding:8px 10px}.portalMain{padding:0 14px 24px}.portalHero{height:315px;margin:0 -14px;background-position:38% center}.portalHeroShade{background:linear-gradient(180deg,rgba(5,39,74,.94),rgba(7,53,95,.84) 56%,rgba(238,244,249,.96))}.portalIntro{padding:52px 16px 0}.portalEyebrow{font-size:11px}.portalEyebrow:before,.portalEyebrow:after{width:24px}.portalIntro h1{font-size:42px;margin-top:14px}.portalIntro p{font-size:14px;line-height:1.8}.portalGrid{grid-template-columns:1fr;margin-top:-62px;gap:16px;max-width:460px}.portalCard{min-height:340px;padding:23px}.portalIcon{width:76px;height:76px;margin-bottom:18px}.portalCard h2{font-size:25px}.portalTrust{grid-template-columns:1fr;margin-top:20px;padding:16px 18px}.portalTrust div{padding:7px 48px 7px 0;min-height:58px}.trustIcon{right:8px;left:auto}.portalFooter{padding-top:18px}.admissionMain{padding:38px 14px 50px}.admissionHero h1{font-size:34px}.admissionLayout{grid-template-columns:1fr}.trackForm{grid-template-columns:1fr}.applicationResult{grid-template-columns:1fr 1fr}.admissionStages{padding:20px 12px}.admissionStages>div{display:flex;overflow-x:auto;gap:14px;padding-bottom:8px}.admissionStages span{min-width:84px}.loginPortalTag{margin-top:10px}}

/* V21.2 — true AR/EN portal language support */
.portalActions{justify-self:end;display:flex;align-items:center;gap:9px}
.portalLang{border:1px solid rgba(240,193,92,.7);border-radius:12px;padding:10px 16px;background:rgba(240,193,92,.1);color:#fff;font:800 12px 'Tajawal',Arial,sans-serif;cursor:pointer;transition:.22s;white-space:nowrap}
.portalLang:hover{background:var(--pgold2);border-color:var(--pgold2);color:var(--pnavy)}
.portalArrow{font-family:Arial,sans-serif!important;font-style:normal;margin-inline-start:5px}
.portalEn{direction:ltr}
.portalEn .portalGrid{direction:ltr}
.portalEn .portalBrand{justify-self:start}
.portalEn .portalActions{justify-self:end}
.portalEn .portalCardBody,.portalEn .portalIntro{text-align:center}
.portalEn .portalCard h2{letter-spacing:-.2px}
.portalEn .portalCard p{line-height:1.8}
.portalEn .portalTrust div{padding:2px 54px 2px 24px;border-left:0;border-right:1px solid rgba(255,255,255,.18)}
.portalEn .portalTrust div:last-child{border-right:0}
.portalEn .trustIcon{left:auto;right:16px}
.portalEn .portalBrand small,.portalEn .portalPlatformBrand small{letter-spacing:1.3px}
@media(max-width:1120px){.portalActions{grid-column:2;grid-row:1}.portalPlatformBrand{grid-column:1/-1;grid-row:2}}
@media(max-width:760px){.portalActions{margin-inline-start:auto;gap:6px}.portalLang,.portalBack{font-size:9.5px;padding:7px 9px}.portalEn .portalTrust div{padding:7px 0 7px 48px}.portalEn .trustIcon{left:8px;right:auto}}
