/* WasilPro 5.51.1 — institutional authentication surface */
:root{--auth-ink:#071a2b;--auth-navy:#0b243b;--auth-blue:#12395b;--auth-teal:#14966f;--auth-mint:#dff5ed;--auth-canvas:#f3f6f8;--auth-line:#dbe4e9;--auth-muted:#647583;}
.auth-body{margin:0;min-height:100svh;background:var(--auth-canvas);color:#172b3a;font-family:"Tajawal",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;font-size:14px;overflow-x:hidden;}
.auth-body *{box-sizing:border-box;}.auth-body a{color:#176b87;text-underline-offset:3px;}.auth-body :focus-visible{outline:3px solid rgba(20,150,111,.25)!important;outline-offset:2px;}
.auth-shell{min-height:100svh;display:grid;grid-template-columns:minmax(420px,46%) minmax(420px,54%);}
.auth-brand{position:relative;isolation:isolate;min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,62px);color:#fff;background:linear-gradient(145deg,rgba(7,26,43,.97),rgba(11,36,59,.93) 58%,rgba(18,57,91,.9)),url("/assets/brand/hero_landing.jpg") center/cover no-repeat;}
.auth-brand::before{content:"";position:absolute;z-index:-1;width:480px;height:480px;border:1px solid rgba(255,255,255,.08);border-radius:50%;inset:-245px auto auto -160px;box-shadow:0 0 0 72px rgba(255,255,255,.025),0 0 0 150px rgba(20,150,111,.025);}
.auth-brand::after{content:"";position:absolute;z-index:-1;inset:auto -15% -25% auto;width:68%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(20,150,111,.28),transparent 67%);filter:blur(10px);}
.auth-brand-top{display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;z-index:1;}.auth-brand-logo{display:block;width:min(220px,66%);height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.12));}.auth-brand-badge{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px);color:#dfe9ef;font-size:.72rem;font-weight:750;white-space:nowrap;}.auth-brand-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#42d2a4;box-shadow:0 0 0 4px rgba(66,210,164,.12);}
.auth-brand-copy{position:relative;z-index:1;max-width:540px;margin-block:auto;padding-block:54px;}.auth-brand-eyebrow{display:inline-block;margin-bottom:12px;color:#72dfbd;font-size:.76rem;font-weight:850;letter-spacing:.02em;}.auth-brand h1{margin:0;color:#fff;font-size:clamp(2rem,3.8vw,3.65rem);line-height:1.15;letter-spacing:-.04em;font-weight:850;}.auth-brand h1 em{display:block;color:#72dfbd;font-style:normal;}.auth-brand-copy>p{max-width:510px;margin:18px 0 26px;color:#c7d6df;font-size:clamp(.88rem,1.15vw,1.02rem);line-height:1.9;}
.auth-brand-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}.auth-brand-points li{min-width:0;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px);}.auth-brand-points svg{width:19px;height:19px;fill:none;stroke:#72dfbd;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px;}.auth-brand-points b,.auth-brand-points small{display:block;}.auth-brand-points b{font-size:.78rem;color:#fff;}.auth-brand-points small{margin-top:3px;color:#9fb2c1;font-size:.65rem;line-height:1.55;}
.auth-brand-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#91a7b6;font-size:.7rem;}.auth-brand-foot span:last-child{display:inline-flex;align-items:center;gap:6px;}.auth-brand-foot svg{width:15px;height:15px;fill:none;stroke:#72dfbd;stroke-width:2;}
.auth-main{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,72px);background:radial-gradient(circle at 75% 8%,rgba(20,150,111,.07),transparent 28%),linear-gradient(180deg,#f8fafb,#f2f5f7);}
.auth-main::before{content:"";position:absolute;inset:22px;border:1px solid rgba(123,145,159,.13);border-radius:24px;pointer-events:none;}.auth-main-inner{position:relative;z-index:1;width:100%;max-width:450px;}.auth-card{position:relative;width:100%;max-width:450px;padding:clamp(24px,3vw,38px);overflow:hidden;border:1px solid rgba(205,217,225,.9);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 28px 70px -42px rgba(7,26,43,.58);}.auth-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#14966f,#176b87,#12395b);}.auth-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;}.auth-logo{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0;}.auth-logo img{width:48px;height:48px;margin:0;border:1px solid #dce6eb;border-radius:13px;background:#fff;box-shadow:0 8px 20px -14px rgba(7,26,43,.5);}.auth-logo .t1,.auth-logo .t2{display:block;}.auth-logo .t1{color:var(--auth-ink);font-size:1.08rem;font-weight:850;line-height:1.25;}.auth-logo .t2{margin-top:2px;color:var(--auth-teal);font-size:.7rem;font-weight:750;}.auth-context-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#eef4f6;color:#4d6574;font-size:.62rem;font-weight:800;white-space:nowrap;}.auth-context-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--auth-teal);}
.auth-form-head{margin-bottom:22px;}.auth-form-head h2,.auth-card>h2{margin:0;color:var(--auth-ink);font-size:1.35rem;font-weight:850;letter-spacing:-.02em;text-align:start;}.auth-form-head p{margin:7px 0 0;color:var(--auth-muted);font-size:.78rem;line-height:1.65;}.auth-card .form-label{margin-bottom:6px;color:#334b5b;font-size:.76rem;font-weight:800;}.auth-field{margin-bottom:15px;}.auth-card .form-control{min-height:46px;padding:.62rem .8rem;border:1px solid #cfdbe2;border-radius:11px;background:#fff;color:#172b3a;font-size:.86rem;box-shadow:none;}.auth-card .form-control:hover{border-color:#aebfc9;}.auth-card .form-control:focus{border-color:#176b87;box-shadow:0 0 0 4px rgba(23,107,135,.11);}.auth-card .btn-primary{min-height:47px;border-color:#12395b;border-radius:11px;background:#12395b;font-size:.84rem;font-weight:850;box-shadow:0 13px 24px -18px rgba(7,26,43,.8);}.auth-card .btn-primary:hover{border-color:#071a2b;background:#071a2b;}.auth-card .alert{border-radius:11px;font-size:.73rem;line-height:1.6;}.auth-note{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;padding:10px 11px;border:1px solid #d7e8e1;border-radius:10px;background:#f2faf7;color:#326655;font-size:.7rem;line-height:1.55;}.auth-note::before{content:"✓";width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border-radius:50%;background:#dff5ed;color:#08785b;font-size:.62rem;font-weight:900;}.auth-alt{margin:13px 0 0;text-align:center;color:var(--auth-muted);font-size:.73rem;}.auth-alt a{font-weight:750;text-decoration:none;}.auth-alt a:hover{text-decoration:underline;}.auth-card-security{display:flex;align-items:center;justify-content:center;gap:7px;margin:22px -4px -8px;padding-top:14px;border-top:1px solid #edf1f3;color:#82919b;font-size:.64rem;}.auth-card-security svg{width:14px;height:14px;fill:none;stroke:#14966f;stroke-width:2;}.auth-foot{margin-top:18px;text-align:center;color:#5f737f;font-size:.75rem;line-height:1.6;}.pw-eye{min-width:44px;min-height:44px;display:inline-grid;place-items:center;border-radius:8px!important;}.pw-eye:focus-visible{outline:2px solid rgba(20,150,111,.32)!important;}
@media(max-width:1100px){.auth-shell{grid-template-columns:minmax(350px,42%) minmax(420px,58%);}.auth-brand{padding:32px;}.auth-brand-points{grid-template-columns:1fr;}.auth-brand-points li{display:grid;grid-template-columns:24px 1fr;column-gap:8px;}.auth-brand-points svg{grid-row:1/3;margin:1px 0 0;}.auth-brand-points b,.auth-brand-points small{grid-column:2;}.auth-brand-copy{padding-block:36px;}}
@media(max-width:860px){.auth-shell{display:block;}.auth-brand{min-height:248px;padding:24px 26px 60px;}.auth-brand-copy{padding:26px 0 0;}.auth-brand h1{font-size:2rem;}.auth-brand-copy>p{margin:10px 0 0;max-width:620px;}.auth-brand-points,.auth-brand-foot{display:none;}.auth-main{min-height:calc(100svh - 248px);padding:0 18px 34px;margin-top:-38px;background:transparent;}.auth-main::before{display:none;}.auth-main-inner{max-width:500px;}.auth-card{max-width:500px;}.auth-foot{color:#667984;}}
@media(max-width:575.98px){.auth-body{background:#f4f7f9;}.auth-brand{min-height:176px;padding:20px 18px 50px;background:linear-gradient(145deg,rgba(7,26,43,.98),rgba(18,57,91,.94)),url("/assets/brand/hero_landing.jpg") center/cover no-repeat;}.auth-brand-top{justify-content:center;}.auth-brand-logo{width:145px;}.auth-brand-badge{display:none;}.auth-brand-copy{display:none;}.auth-main{min-height:calc(100svh - 176px);padding:0 10px 28px;margin-top:-28px;align-items:flex-start;}.auth-card{padding:22px 17px 20px;border-radius:18px;}.auth-context{margin-bottom:18px;}.auth-logo img{width:43px;height:43px;}.auth-context-badge{font-size:.58rem;}.auth-form-head h2,.auth-card>h2{font-size:1.18rem;}.auth-card .form-control{min-height:45px;font-size:16px;}.auth-note{font-size:.67rem;}.auth-foot{margin-top:14px;padding-inline:8px;}.auth-card-security{margin-top:18px;}}
@media(max-height:700px) and (min-width:861px){.auth-brand{padding-block:24px;}.auth-brand-copy{padding-block:22px;}.auth-brand h1{font-size:2rem;}.auth-brand-copy>p{margin:10px 0 14px;}.auth-brand-points{gap:7px;}.auth-brand-points li{padding:9px;}.auth-main{padding-block:24px;}.auth-card{padding-block:24px;}}
@media(prefers-reduced-motion:reduce){.auth-body *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
/* 2026-09-13 — مراجعة التصميم: شعار المنصة المرفوع مع اسمها في لوحة الدخول الجانبية (بدل ملف «واصل» الثابت) */
.auth-brand-lockup{display:inline-flex;align-items:center;gap:12px;position:relative;z-index:1;color:#fff;}.auth-brand-lockup img{width:54px;height:54px;object-fit:contain;border-radius:14px;background:rgba(255,255,255,.92);padding:6px;}.auth-brand-lockup b{font-size:1.35rem;font-weight:900;letter-spacing:-.01em;}
@media(max-width:575.98px){.auth-brand-lockup img{width:42px;height:42px;}.auth-brand-lockup b{font-size:1.1rem;}}

/* 2026-09-13 — واجهة الدخول المطوّرة (قبل الإطلاق، بتفويض المالك): خلفية CSS خالصة بلا صورة hero_landing.jpg (شبكة هندسية دقيقة + شعاع + ضوء يتنفّس ببطء)، شبكة نقاط حيّة عبر auth-motion.js على سطح المكتب فقط، دخول متدرّج للوحة والبطاقة، درع/قفل يرسم نفسه، لمسات تركيز وضغط. كل الحركات transform/opacity، الحالة الأولية داخل keyframes فقط (فلا يختفي شيء مع تقليل الحركة أو عند تعطيل المفتاح ui_auth_motion)، وتتوقف عند إخفاء التبويب (auth-paused). القواعد الأعلى لم تُمس. */
.auth-brand{background:radial-gradient(ellipse 70% 55% at 84% 10%,rgba(20,150,111,.20),transparent 62%),radial-gradient(ellipse 60% 50% at 6% 94%,rgba(18,57,91,.6),transparent 66%),linear-gradient(148deg,#071a2b 0%,#0b243b 56%,#12395b 100%);}
.auth-brand-art{position:absolute;z-index:-1;inset:-8%;pointer-events:none;background:linear-gradient(112deg,transparent 42%,rgba(114,223,189,.055) 50%,transparent 58%),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 56px),repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 56px);-webkit-mask-image:radial-gradient(ellipse 78% 72% at 36% 44%,#000 22%,transparent 78%);mask-image:radial-gradient(ellipse 78% 72% at 36% 44%,#000 22%,transparent 78%);transform:translate3d(calc(var(--ax,0)*-14px),calc(var(--ay,0)*-10px),0);transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.auth-net{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:0;animation:authFade 1.6s ease .4s forwards;}
.auth-brand::after{transform-origin:60% 60%;will-change:transform;animation:authBreathe 9s cubic-bezier(.45,0,.55,1) infinite;}
@keyframes authBreathe{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.09);opacity:1}}
@keyframes authRise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@keyframes authFade{from{opacity:0}to{opacity:1}}
@keyframes authCard{from{opacity:0;transform:translate3d(0,18px,0) scale(.985)}to{opacity:1;transform:none}}
@keyframes authLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes authDraw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
.auth-brand-top{animation:authRise .55s cubic-bezier(.2,.7,.2,1) backwards;}
.auth-brand-eyebrow{animation:authRise .6s cubic-bezier(.2,.7,.2,1) .1s backwards;}
.auth-brand h1{animation:authRise .65s cubic-bezier(.2,.7,.2,1) .16s backwards;}
.auth-brand-copy>p{animation:authRise .65s cubic-bezier(.2,.7,.2,1) .24s backwards;}
.auth-brand-points li{animation:authRise .6s cubic-bezier(.2,.7,.2,1) .32s backwards;transition:transform .25s ease,background-color .25s ease;}
.auth-brand-points li:nth-child(2){animation-delay:.39s}.auth-brand-points li:nth-child(3){animation-delay:.46s}
@media(hover:hover) and (pointer:fine){.auth-brand-points li:hover{transform:translateY(-2px);background:rgba(255,255,255,.085);}}
.auth-brand-foot{flex-wrap:wrap;row-gap:6px;animation:authFade .8s ease .6s backwards;}.auth-brand-foot span{display:inline-flex;align-items:center;gap:6px;}
.auth-brand-points li:first-child svg path{animation:authDraw 1.1s cubic-bezier(.4,0,.2,1) .7s backwards;}
.auth-brand-points li:first-child svg path+path{animation-duration:.4s;animation-delay:1.6s;}
.auth-brand-foot svg rect,.auth-card-security svg rect{animation:authDraw .9s cubic-bezier(.4,0,.2,1) .9s backwards;}
.auth-brand-foot svg path,.auth-card-security svg path{animation:authDraw .6s cubic-bezier(.4,0,.2,1) 1.5s backwards;}
.auth-brand-foot .auth-ic-monitor path{animation-duration:.9s;animation-delay:1.1s;}
.auth-card{animation:authCard .7s cubic-bezier(.2,.7,.2,1) .12s backwards;}
.auth-card::before{transform-origin:100% 50%;animation:authLine .8s cubic-bezier(.2,.7,.2,1) .45s backwards;}
.auth-context{animation:authRise .55s cubic-bezier(.2,.7,.2,1) .24s backwards;}
.auth-card>:not(.auth-context){animation:authRise .55s cubic-bezier(.2,.7,.2,1) .36s backwards;}
.auth-card>.auth-form-head,.auth-card>h2,.auth-card>.alert{animation-delay:.3s;}
.auth-foot{animation:authFade .7s ease .7s backwards;}
.auth-field .form-label{transition:color .18s ease;}.auth-field:focus-within .form-label{color:#176b87;}
.auth-card .form-control{transition:border-color .18s ease,box-shadow .22s cubic-bezier(.2,.7,.2,1);}
.auth-card .btn-primary{transition:transform .16s cubic-bezier(.2,.7,.2,1),box-shadow .2s ease,background-color .2s ease,border-color .2s ease;}
.auth-card .btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 28px -18px rgba(7,26,43,.85);}
.auth-card .btn-primary:active{transform:translateY(1px) scale(.992);box-shadow:0 8px 16px -14px rgba(7,26,43,.8);}
.auth-card .btn-primary.is-busy{transform:none;}
.pw-eye{transition:transform .12s ease,color .15s ease;}.pw-eye:active{transform:translateY(-50%) scale(.9);}
.auth-locked{text-align:center;}
.auth-body.auth-paused *,.auth-body.auth-paused *::before,.auth-body.auth-paused *::after{animation-play-state:paused!important;}
.auth-body.auth-still *,.auth-body.auth-still *::before,.auth-body.auth-still *::after{animation:none!important;transition:none!important;}.auth-body.auth-still .auth-brand-points li:hover,.auth-body.auth-still .auth-card .btn-primary:hover,.auth-body.auth-still .auth-card .btn-primary:active{transform:none;}.auth-body.auth-still .pw-eye:active{transform:translateY(-50%);}
@media(max-width:860px){.auth-net{display:none;}.auth-brand-art{transition:none;transform:none!important;}.auth-brand-top,.auth-brand-eyebrow,.auth-brand h1,.auth-brand-copy>p{animation-duration:.5s;}}
.auth-js:not(.auth-ready) .auth-brand-copy *,.auth-js:not(.auth-ready) .auth-brand-top{animation-play-state:paused;}
@media(max-width:575.98px){.auth-brand{background:radial-gradient(ellipse 80% 90% at 85% 0%,rgba(20,150,111,.22),transparent 60%),linear-gradient(148deg,#071a2b,#12395b);}.auth-brand::after{animation:none;}.auth-brand-art{inset:0;-webkit-mask-image:none;mask-image:none;opacity:.6;transform:none;transition:none;}}
@media(prefers-reduced-motion:reduce){.auth-body *::before,.auth-body *::after,.auth-brand-art,.auth-net{animation:none!important;transition:none!important;}.auth-brand::after,.auth-card::before,.auth-brand-art,.auth-net{transform:none!important;opacity:1;}}
.auth-field,.otp-wrap{position:relative;}.auth-field::after,.otp-wrap::after{content:"";position:absolute;inset-inline:14px;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#14966f,#176b87);transform:scaleX(0);transition:transform .35s cubic-bezier(.2,.7,.2,1);pointer-events:none;}.auth-field:focus-within::after,.otp-wrap:focus-within::after{transform:scaleX(1);}
/* مراجعة ما بعد التنفيذ: البطاقات القصيرة على الهاتف (تسجيل/استعادة/تحقق) كانت تتوسّط عمودياً فتبتعد عن الترويسة (justify-content:center في wasil.css)، وسطر التذييل كان ينكسر بكلمة يتيمة */
@media(max-width:860px){.auth-main{justify-content:flex-start;}}
.auth-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;}.auth-foot-links{white-space:nowrap;}

/* 2026-09-15 — 5.95.0 صفحة الدخول على الهاتف (قياس 390×844): الحقل الأول كان عند 332px وزر الدخول 479–526 فيختفي تحت لوحة المفاتيح؛ الهوية مكررة (الرأس + البطاقة)؛ نصوص 8.7–11px.
   + مناطق الأمان لشريط حالة iPhone داخل التطبيق المثبّت (viewport-fit=cover). الحاسوب كما هو. */
@supports(padding-top:env(safe-area-inset-top)){.auth-brand{padding-top:calc(20px + env(safe-area-inset-top))}.auth-main{padding-bottom:calc(28px + env(safe-area-inset-bottom))}}
@media(max-width:575.98px){
  .auth-brand{min-height:112px;padding-bottom:44px}
  .auth-main{min-height:calc(100svh - 112px)}
  .auth-context .auth-logo img,.auth-logo .t1,.auth-context-badge{display:none}
  .auth-logo .t2{font-size:.85rem;margin-top:0}
  .auth-form-head p{display:none}
  .auth-note,.auth-alt,.auth-foot,.auth-card .form-label{font-size:.9rem}
  .auth-card-security{font-size:.78rem}
  .auth-alt a,.auth-foot a{display:inline-block;padding:6px;min-height:36px;line-height:24px}
}
@media (display-mode: standalone){.ws-install-link{display:none!important}}
