/* توكّل — Premium UI: نظام التصميم الموحّد + صفحة الدخول الجديدة
   • التوكنز (--color-*, --space-*, --radius-*, --shadow-*, --dur-*) أسماؤها لا تتعارض مع متغيرات المشروع القديمة (--gold, --primary, --bg ...).
   • قواعد الدخول محصورة في #nrGate فلا تمسّ صفحة الحساب ولا رسائل الحظر/الصيانة التي تشارك أصناف .ng-*.
   • الحركة: opacity/transform فقط (بلا Layout Shift) وتُلغى كليًا عند prefers-reduced-motion. */

:root{
  /* الألوان */
  --color-primary:#063D30;--color-primary-dark:#041D19;--color-primary-light:#0C5A47;
  --color-navy:#071A2B;--color-navy-deep:#040F1C;
  --color-accent-gold:#D9B44A;--color-gold-light:#F2D77D;--color-gold-deep:#B68B2A;--color-on-gold:#2A1D00;
  --color-surface:#102C25;--color-field:rgba(2,14,14,.42);
  --color-text-primary:#F7F3E8;--color-text-secondary:#AABBB1;--color-text-placeholder:#8FA498;
  --color-border:rgba(217,180,74,.26);--color-border-soft:rgba(247,243,232,.14);
  --color-error:#FF9E92;--color-error-bg:rgba(255,128,108,.12);--color-success:#7BE3B5;--color-success-bg:rgba(123,227,181,.1);
  --gradient-gold:linear-gradient(135deg,#F6E1A0 0%,#D9B44A 52%,#B68B2A 100%);
  /* المسافات / الزوايا / الظلال / الحركة */
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;
  --radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:26px;--radius-pill:999px;
  --shadow-card:0 26px 60px rgba(2,10,14,.55),inset 0 1px 0 rgba(255,255,255,.07);
  --shadow-gold:0 10px 26px rgba(182,139,42,.34),inset 0 1px 0 rgba(255,255,255,.45);
  --shadow-focus:0 0 0 3px rgba(242,215,125,.3);
  --ease-out:cubic-bezier(.22,.8,.3,1);--dur-fast:.16s;--dur-base:.28s;--dur-slow:.6s;
  --touch-min:48px;
}

@keyframes tkFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes tkSwapL{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes tkSwapR{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes tkSwap{from{opacity:0}to{opacity:1}}
@keyframes tkGlow{0%,100%{opacity:.45}50%{opacity:.85}}
@keyframes tkSpin{to{transform:rotate(360deg)}}
@keyframes tkIndUp{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes tkIndIn{from{transform:translateX(-100%)}to{transform:translateX(0)}}

/* ───────── الخلفية والبطاقة ───────── */
html #nrGate{
  align-items:flex-start;overflow-x:hidden;overscroll-behavior:contain;
  padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpolygon points='36,6 41.7,14.5 51.4,13.7 54.4,22.7 62.9,26.3 60.2,35.5 66,42.4 58.4,48.7 58.8,58.4 49.4,60.9 43.9,69 36,64 28.1,69 22.6,60.9 13.2,58.4 13.6,48.7 6,42.4 11.8,35.5 9.1,26.3 17.6,22.7 20.6,13.7 30.3,14.5' fill='none' stroke='%23F2D77D' stroke-opacity='.06' stroke-width='1'/%3E%3C/svg%3E") 50% 0/72px 72px,
    radial-gradient(70% 38% at 50% -4%,rgba(242,215,125,.17),transparent 72%),
    radial-gradient(90% 55% at 105% 105%,rgba(12,90,71,.5),transparent 70%),
    linear-gradient(168deg,#063D30 0%,#07292F 42%,#071A2B 72%,#040F1C 100%);
}
html #nrGate .ng-box,.tk-card{
  position:relative;isolation:isolate;width:100%;max-width:420px;margin:auto;box-sizing:border-box;
  padding:28px 22px 22px;border-radius:var(--radius-xl);
  background:linear-gradient(165deg,rgba(18,52,43,.82),rgba(8,28,44,.76));
  border:1px solid var(--color-border);box-shadow:var(--shadow-card);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  html #nrGate .ng-box,.tk-card{background:linear-gradient(165deg,#12342B,#091D2D)}
}
html #nrGate .ng-box.ng-enter{animation:tkFade var(--dur-slow) var(--ease-out) both}

/* ───────── الهوية: شعار + اسم + عبارة ───────── */
#nrGate .ng-brand{text-align:center;margin-bottom:var(--space-4)}
#nrGate .ng-moon{position:relative;width:76px;height:76px;margin:0 auto 10px;background:none;border-radius:0;box-shadow:none;font-size:0;display:block;isolation:isolate}
#nrGate .ng-moon svg{display:block;width:100%;height:100%}
#nrGate .ng-moon::after{content:"";position:absolute;inset:-14px;border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle,rgba(242,215,125,.42) 0,rgba(242,215,125,0) 68%);animation:tkGlow 4.2s ease-in-out infinite}
#nrGate .ng-logo{font:700 40px/1.2 Amiri,"Noto Naskh Arabic",serif;color:var(--color-gold-light);
  background:linear-gradient(180deg,#FBEFC0 10%,#D9B44A 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
#nrGate .ng-tag{margin-top:2px;font:700 16px/1.6 Tajawal,system-ui,sans-serif;color:var(--color-gold-light)}
#nrGate .ng-sub{margin:4px 0 0;font:500 13.5px/1.8 Tajawal,system-ui,sans-serif;color:var(--color-text-secondary)}
#nrGate .ng-box.ng-enter .ng-moon{animation:tkFade .7s .05s var(--ease-out) both}
#nrGate .ng-box.ng-enter .ng-logo{animation:tkFade .7s .16s var(--ease-out) both}
#nrGate .ng-box.ng-enter .ng-tag,#nrGate .ng-box.ng-enter .ng-sub{animation:tkFade .7s .26s var(--ease-out) both}

/* ───────── التبويبان ───────── */
#nrGate .ng-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;margin:0 0 var(--space-4);border-radius:var(--radius-lg);
  background:rgba(2,12,14,.5);border:1px solid var(--color-border-soft)}
#nrGate .ng-tabs .ng-ind{position:absolute;inset-block:4px;inset-inline-start:4px;width:calc(50% - 4px);border-radius:var(--radius-md);
  background:linear-gradient(135deg,#0F7058,#0A4A3C);border:1px solid rgba(242,215,125,.45);box-shadow:0 4px 14px rgba(4,29,25,.55);box-sizing:border-box;pointer-events:none}
#nrGate .ng-tabs[data-on="up"] .ng-ind{transform:translateX(-100%)}
#nrGate .ng-tabs .ng-ind.to-up{animation:tkIndUp var(--dur-base) var(--ease-out) both}
#nrGate .ng-tabs .ng-ind.to-in{animation:tkIndIn var(--dur-base) var(--ease-out) both}
#nrGate .ng-tabs button{position:relative;z-index:1;flex:none;min-height:44px;padding:8px;border-radius:var(--radius-md);background:none;box-shadow:none;
  font:700 14.5px Tajawal,system-ui,sans-serif;color:var(--color-text-secondary);transition:color var(--dur-fast);-webkit-tap-highlight-color:transparent}
#nrGate .ng-tabs button.on{background:none;box-shadow:none;color:var(--color-text-primary)}
#nrGate .ng-tabs button:focus-visible{outline:2px solid var(--color-gold-light);outline-offset:-2px}

/* ───────── الحقول ───────── */
#nrGate .ng-body.sw-l{animation:tkSwapL var(--dur-base) var(--ease-out) both}
#nrGate .ng-body.sw-r{animation:tkSwapR var(--dur-base) var(--ease-out) both}
#nrGate .ng-body.ng-swf{animation:tkSwap var(--dur-base) var(--ease-out) both}
#nrGate .ng-f{position:relative;margin-bottom:var(--space-3)}
#nrGate .ng-f input{min-height:var(--touch-min);padding:13px 46px 13px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);
  background:var(--color-field);color:var(--color-text-primary);font:500 16px Tajawal,system-ui,sans-serif;
  transition:border-color var(--dur-fast),box-shadow var(--dur-fast),background var(--dur-fast)}
#nrGate .ng-f input::placeholder{color:var(--color-text-placeholder);opacity:1}
#nrGate .ng-f input:placeholder-shown:not([name=code]){direction:rtl}
#nrGate .ng-f input[name=pass]{padding-left:48px}
#nrGate .ng-f input[name=code]{padding:13px 14px}
#nrGate .ng-f input:focus{outline:0;border-color:var(--color-gold-light);box-shadow:var(--shadow-focus);background:rgba(2,14,14,.58)}
#nrGate .ng-ic{position:absolute;right:15px;top:50%;width:20px;height:20px;margin-top:-10px;color:var(--color-text-placeholder);pointer-events:none;transition:color var(--dur-fast)}
#nrGate .ng-ic svg,#nrGate .ng-eye svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#nrGate .ng-f:focus-within .ng-ic{color:var(--color-gold-light)}
#nrGate .ng-eye{left:2px;top:50%;width:var(--touch-min);height:var(--touch-min);margin-top:calc(var(--touch-min)/-2);padding:14px;transform:none;
  border-radius:var(--radius-md);color:var(--color-text-secondary);display:block;-webkit-tap-highlight-color:transparent}
#nrGate .ng-eye:focus-visible{outline:2px solid var(--color-gold-light);outline-offset:-3px}
#nrGate .ng-f.is-err input{border-color:var(--color-error);box-shadow:0 0 0 3px rgba(255,158,146,.18);background:var(--color-error-bg)}
#nrGate .ng-f.is-err .ng-ic{color:var(--color-error)}
#nrGate .ng-f.is-ok input{border-color:rgba(123,227,181,.5)}
#nrGate .ng-f.is-ok .ng-ic{color:var(--color-success)}
#nrGate .ng-f.is-ok:not(.ng-pw)::after{content:"";position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;background:var(--color-success);pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
#nrGate .ng-chk{min-height:var(--touch-min);align-items:center;margin:2px 0;color:var(--color-text-secondary)}
#nrGate .ng-chk input{margin-top:0}
#nrGate .ng-note{color:var(--color-text-secondary);opacity:.9}

/* ───────── رسائل الخطأ / النجاح ───────── */
#nrGate .ng-msg{min-height:20px;margin:0 0 var(--space-2);padding:0;border-radius:var(--radius-sm);font:600 13.5px/1.7 Tajawal,system-ui,sans-serif}
#nrGate .ng-msg:not(:empty){padding:8px 12px}
#nrGate .ng-msg.ng-err:not(:empty){color:var(--color-error);background:var(--color-error-bg);border:1px solid rgba(255,158,146,.28)}
#nrGate .ng-msg.ng-ok:not(:empty){color:var(--color-success);background:var(--color-success-bg);border:1px solid rgba(123,227,181,.28)}

/* ───────── الأزرار ───────── */
html #nrGate .ng-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 16px;border:0;border-radius:var(--radius-lg);
  background:var(--gradient-gold);color:var(--color-on-gold);font:800 17px Tajawal,system-ui,sans-serif;box-shadow:var(--shadow-gold);
  transition:transform .12s var(--ease-out),box-shadow var(--dur-base),filter var(--dur-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
@media (hover:hover){html #nrGate .ng-btn:not([disabled]):hover{filter:brightness(1.06) saturate(1.05);box-shadow:0 14px 30px rgba(182,139,42,.42),inset 0 1px 0 rgba(255,255,255,.5)}}
html #nrGate .ng-btn:not([disabled]):active{transform:translateY(1px) scale(.985);filter:brightness(.97)}
html #nrGate .ng-btn:focus-visible{outline:0;box-shadow:var(--shadow-gold),var(--shadow-focus)}
html #nrGate .ng-btn[disabled]{opacity:.65;cursor:not-allowed}
html #nrGate .ng-btn.is-loading[disabled]{opacity:1;cursor:progress}
html #nrGate .ng-btn.is-loading::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(42,29,0,.25);border-top-color:var(--color-on-gold);animation:tkSpin .8s linear infinite}
/* المتابعة كزائر: أقل بروزًا من الدخول عمدًا */
html #nrGate .ng-btn.sec{min-height:46px;margin-top:0;background:transparent;box-shadow:none;border:1px solid var(--color-border-soft);color:var(--color-text-secondary);font:600 14.5px Tajawal,system-ui,sans-serif;filter:none}
@media (hover:hover){html #nrGate .ng-btn.sec:not([disabled]):hover{border-color:var(--color-border);color:var(--color-text-primary);filter:none;box-shadow:none}}
html #nrGate .ng-btn.sec:focus-visible{box-shadow:var(--shadow-focus);border-color:var(--color-gold-light)}
#nrGate .ng-or{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-2) 0 var(--space-3);color:var(--color-text-placeholder);font:600 12.5px Tajawal,system-ui,sans-serif}
#nrGate .ng-or::before,#nrGate .ng-or::after{content:"";flex:1;height:1px;background:var(--color-border-soft)}
#nrGate .ng-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--space-3);margin-top:var(--space-1)}
#nrGate .ng-links.one{justify-content:center}
html #nrGate .ng-lnk{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;margin:0;padding:0 var(--space-2);color:var(--color-gold-light);font:700 13.5px Tajawal,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
html #nrGate .ng-lnk:focus-visible{outline:2px solid var(--color-gold-light);outline-offset:2px;border-radius:var(--radius-sm)}
html #nrGate .ng-links .ng-lnk.alt{color:var(--color-text-secondary);font-weight:600}
html #nrGate .ng-links .ng-lnk.alt b{color:var(--color-gold-light);font-weight:700}
html #nrGate .ng-box>.ng-lnk,html #nrGate .ng-body>.ng-lnk{display:flex;width:100%;margin-top:var(--space-2)}
html #nrGate .ng-help{width:auto;min-height:44px;margin:var(--space-1) auto 0;padding:0 var(--space-3);background:none;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);font:600 13px Tajawal,system-ui,sans-serif}
html #nrGate .ng-help:focus-visible{outline:2px solid var(--color-gold-light);outline-offset:2px}
#nrGate .ng-help-row{display:flex;justify-content:center}

/* ───────── التجاوب ───────── */
@media (max-width:359px){
  html #nrGate{padding-inline:12px}
  html #nrGate .ng-box{padding:22px 16px 18px;border-radius:22px}
  #nrGate .ng-logo{font-size:36px}
  #nrGate .ng-f input::placeholder{font-size:14.5px}
}
@media (max-height:700px){
  #nrGate .ng-brand{margin-bottom:var(--space-4)}
  #nrGate .ng-moon{width:60px;height:60px;margin-bottom:6px}
  #nrGate .ng-logo{font-size:36px}
}
@media (min-width:768px){
  html #nrGate .ng-box{max-width:440px;padding:34px 30px 26px}
}

/* ───────── تلميح (Tooltip) موحّد — شارة المؤسس وغيرها ───────── */
.tk-tip{position:relative}
.tk-tip[data-tip]::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);z-index:60;transform:translate(-50%,4px);
  padding:6px 11px;border-radius:var(--radius-sm);background:var(--color-primary-dark);color:var(--color-gold-light);border:1px solid rgba(217,180,74,.5);
  font:700 12px/1.4 Tajawal,system-ui,sans-serif;white-space:nowrap;letter-spacing:0;opacity:0;pointer-events:none;box-shadow:0 8px 22px rgba(2,10,14,.45);
  transition:opacity var(--dur-fast),transform var(--dur-fast)}
@media (hover:hover){.tk-tip[data-tip]:hover::after{opacity:1;transform:translate(-50%,0)}}
.tk-tip[data-tip]:focus-visible::after,.tk-tip[data-tip]:active::after,.tk-tip[data-tip].tk-tip-on::after{opacity:1;transform:translate(-50%,0)}

/* ───────── تقليل الحركة ───────── */
@media (prefers-reduced-motion:reduce){
  #nrGate *,#nrGate *::before,#nrGate *::after,html #nrGate .ng-box.ng-enter{animation:none!important;transition-duration:.01ms!important}
  #nrGate .ng-moon::after{opacity:.55}
  html #nrGate .ng-btn.is-loading::before{animation:tkSpin 1.6s linear infinite!important}
  #nrGate .ng-tabs[data-on="up"] .ng-ind{transform:translateX(-100%)}
  .tk-tip[data-tip]::after{transition:none}
}

/* ───────── مربعات الموافقة (حقيقية، بمظهر موحّد) ───────── */
#nrGate .ng-chk input{-webkit-appearance:none;appearance:none;display:grid;place-content:center;flex:none;width:22px;height:22px;margin:0;border-radius:7px;
  border:1.5px solid var(--color-border);background:var(--color-field);transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast)}
#nrGate .ng-chk input:checked{background:var(--gradient-gold);border-color:transparent}
#nrGate .ng-chk input:checked::after{content:"";width:11px;height:6px;margin-top:-2px;border:solid var(--color-on-gold);border-width:0 0 2.6px 2.6px;transform:rotate(-45deg)}
#nrGate .ng-chk input:focus-visible{outline:0;box-shadow:var(--shadow-focus);border-color:var(--color-gold-light)}
