/* ALDEEB V136.2 — structural stability: natural page scroll, independent role spaces, modal priority and water-ripple hero. */
html{min-height:100%!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;scroll-behavior:smooth;scrollbar-gutter:stable;}
body.v95-login,body.v90-entry-mode{display:block!important;position:relative!important;width:100%!important;height:auto!important;min-height:100vh!important;max-height:none!important;margin:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;}
#systemEntryPage,
body.v95-login #systemEntryPage,
body.v90-entry-mode #systemEntryPage{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;display:block!important;width:100%!important;height:auto!important;min-height:100vh!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;overflow-x:clip!important;overflow-y:visible!important;}
#systemEntryPage .ald1361-shell{display:block!important;width:100%!important;height:auto!important;min-height:100vh!important;max-height:none!important;margin:0!important;overflow:visible!important;}
#systemEntryPage .ald1361-header{position:sticky!important;top:0!important;z-index:1200!important;}
body.v90-entry-mode{overflow-y:auto!important;}
/* The independent gateway is a fixed, self-scrolling screen above the commercial page. */
#ald136PlatformPage{position:fixed!important;inset:0!important;z-index:2147483646!important;width:100vw!important;height:100vh!important;height:100dvh!important;min-height:0!important;max-height:none!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;}
#ald136PlatformPage[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important;}
/* Keep authentication visible above the role gateway, with both Login and Register tabs intact. */
#aldeebAuthLayer{position:fixed!important;inset:0!important;z-index:2147483647!important;}
#aldeebAdminLoginLayer.aldeeb-admin-login-layer{position:fixed!important;inset:0!important;z-index:2147483647!important;min-height:100vh!important;margin:0!important;}
#aldeebAuthLayer.open{display:flex!important;visibility:visible!important;pointer-events:auto!important;}
/* Gear button placement and visibility are controlled by the original administration state logic. */
#systemEntryPage .ald1361-topbar-actions{display:flex!important;align-items:center!important;gap:11px!important;}
#systemEntryPage .ald1361-admin{position:static!important;display:inline-flex!important;flex:0 0 30px!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;margin:0!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:6px!important;background:#d71920!important;color:#fff!important;font-size:17px!important;line-height:1!important;box-shadow:0 3px 10px rgba(0,0,0,.14)!important;cursor:pointer!important;}
#systemEntryPage #aldeebAdminHomeEntry{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;z-index:auto!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;flex:0 0 30px!important;border-radius:6px!important;background:#d71920!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important;box-shadow:0 3px 10px rgba(0,0,0,.14)!important;}
#systemEntryPage .ald1361-admin[hidden]{display:none!important;}
#systemEntryPage .ald1361-admin:hover{background:#b9151b!important;transform:translateY(-1px);}
/* Role isolation: Technician cannot see/open Academy; Academy cannot see technician entry/tools. */
body.v95-app.v96-role-technician #visitorGuide,
body.v95-app.v96-role-technician .academy-page,
body.v95-app.v96-role-technician [id^="academyLED"],
body.v95-app.v96-role-technician [id^="academyCCTV"],
body.v95-app.v96-role-technician [id^="academyComputer"],
body.v95-app.v96-role-technician [id^="academyCreators"],
body.v95-app.v96-role-technician #academyHomeExamCard,
body.v95-app.v96-role-technician #academyHomeHonorCard{display:none!important;visibility:hidden!important;pointer-events:none!important;}
body.v95-app.v96-role-visitor #technicianServices,
body.v95-app.v96-role-visitor #home,
body.v95-app.v96-role-visitor #smartControlPage,
body.v95-app.v96-role-visitor #technicalToolPage,
body.v95-app.v96-role-visitor #aldeebAdminNav,
body.v95-app.v96-role-visitor #adminPage{display:none!important;visibility:hidden!important;pointer-events:none!important;}
body.v95-app.v96-role-visitor #project .page:not(#visitorGuide):not(.academy-page){display:none!important;visibility:hidden!important;pointer-events:none!important;}
body.v95-app.v96-role-technician #project .page.academy-page{display:none!important;visibility:hidden!important;pointer-events:none!important;}
/* Hero two-layer compositor. The incoming photo expands like a circular water ripple. */
#systemEntryPage .ald1361-hero{isolation:isolate!important;}
#systemEntryPage .ald1361-hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-size:cover!important;background-position:center 47%!important;background-repeat:no-repeat!important;opacity:0!important;clip-path:circle(150% at 50% 52%);transform:scale(1.015);filter:blur(0);will-change:opacity,clip-path,transform,filter;pointer-events:none!important;}
#systemEntryPage .ald1361-hero-image.is-active{z-index:-3!important;opacity:1!important;clip-path:circle(150% at 50% 52%);}
#systemEntryPage .ald1361-hero-image.is-revealing{z-index:-2!important;opacity:1!important;animation:ald1362WaterReveal 1.45s cubic-bezier(.18,.72,.18,1) both;}
#systemEntryPage .ald1361-hero-image.is-leaving{z-index:-3!important;animation:ald1362WaterExit 1.35s ease both;}
#systemEntryPage .ald1361-hero-water-ripple{position:absolute;z-index:-1;left:50%;top:52%;width:clamp(90px,16vw,220px);aspect-ratio:1;border:2px solid rgba(255,255,255,.5);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.18);pointer-events:none;}
#systemEntryPage .ald1361-hero.is-changing .ald1361-hero-water-ripple{animation:ald1362Ripple 1.35s ease-out both;}
#systemEntryPage .ald1361-hero-content{transition:opacity .3s ease,transform .45s ease;}
#systemEntryPage .ald1361-hero.is-changing .ald1361-hero-content{animation:ald1362CopyShift .55s ease both;}
@keyframes ald1362WaterReveal{0%{opacity:1;clip-path:circle(0% at 51% 55%);filter:blur(12px) saturate(.72);transform:scale(1.12)}28%{clip-path:circle(42% at 51% 55%);filter:blur(7px) saturate(1.08)}68%{clip-path:circle(112% at 51% 55%);filter:blur(1.5px) saturate(1.06)}100%{opacity:1;clip-path:circle(150% at 51% 55%);filter:blur(0) saturate(1);transform:scale(1.015)}}
@keyframes ald1362WaterExit{0%{opacity:1;transform:scale(1.015);filter:blur(0)}100%{opacity:0;transform:scale(1.09);filter:blur(10px)}}
@keyframes ald1362Ripple{0%{opacity:.5;transform:translate(-50%,-50%) scale(.18);box-shadow:0 0 0 0 rgba(255,255,255,.22),0 0 0 0 rgba(255,255,255,.14)}65%{opacity:.24;box-shadow:0 0 0 32px rgba(255,255,255,.07),0 0 0 64px rgba(255,255,255,.035)}100%{opacity:0;transform:translate(-50%,-50%) scale(3.3);box-shadow:0 0 0 46px rgba(255,255,255,0),0 0 0 90px rgba(255,255,255,0)}}
@keyframes ald1362CopyShift{0%{opacity:.78;transform:translateY(7px)}100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}#systemEntryPage .ald1361-hero-image.is-revealing,#systemEntryPage .ald1361-hero-image.is-leaving,#systemEntryPage .ald1361-hero.is-changing .ald1361-hero-water-ripple,#systemEntryPage .ald1361-hero.is-changing .ald1361-hero-content{animation:none!important}#systemEntryPage .ald1361-hero-image{transition:opacity .15s linear!important}}
@media(max-width:700px){#systemEntryPage .ald1361-topbar-actions{gap:7px!important}#systemEntryPage #aldeebAdminHomeEntry{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;flex-basis:28px!important}}
