/* =====================================================================
   جود — الهوية البصرية الجديدة (خطوط، ألوان، حركة)
   يُحمَّل بعد أنماط index.html ليعلو عليها، ويحافظ على الثيمات الموسمية.
   ===================================================================== */

:root{
  --jd-ink:#141B34;
  --jd-muted:#5B6275;
  --jd-ground:#FAF6EF;
  --jd-line:#EDE5D8;
  --jd-royal:#22358A;
  --jd-royal-deep:#172463;
  --jd-saffron:#F2A93B;
  --jd-saffron-ink:#2A1A00;
  --jd-coral:#E4643F;
  --jd-mint:#4CC79A;
  --jd-display:"Alexandria","IBM Plex Sans Arabic",Tahoma,sans-serif;
  --jd-body:"IBM Plex Sans Arabic","Tajawal",Tahoma,sans-serif;
  --jd-mark:"Reem Kufi","Alexandria",serif;
  --jd-ease:cubic-bezier(.2,.8,.2,1);
  --jd-khatam:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' fill='none' stroke='rgba(255,255,255,.08)' stroke-width='1.2'%3E%3Cpath d='M16 16h32v32H16z'/%3E%3Cpath d='M32 9.4 54.6 32 32 54.6 9.4 32z'/%3E%3C/svg%3E");
  --jd-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='rgba(242,169,59,.24)' stroke-width='.4'%3E%3Cpath d='M16 16h32v32H16z'/%3E%3Cpath d='M32 9.4 54.6 32 32 54.6 9.4 32z'/%3E%3Ccircle cx='32' cy='32' r='10'/%3E%3C/svg%3E");
}

/* الثيم الأساسي بألوان جود — الثيمات الموسمية تحتفظ بألوانها */
body:not([data-theme]),
body[data-theme="default"]{
  --bg:#FAF6EF;
  --primary:#22358A;
  --primary2:#2F4BB0;
  --text:#141B34;
  --muted:#5B6275;
  --line:#EDE5D8;
  --theme-soft:#EEF1FB;
  --shadow:0 14px 34px rgba(20,27,52,.06);
  background:#FAF6EF !important;
}

/* ---------- الخطوط ---------- */
body{font-family:var(--jd-body) !important;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,
.page-head h2,.section-title h3,.stat h4,.subject h4,
.role-welcome h1,.welcome-mini-stat b{font-family:var(--jd-display);letter-spacing:0}
.page-head h2{font-weight:700}
.section-title h3{font-size:20px;font-weight:700}

/* ---------- الأيقونات ---------- */
.jd-ico{width:1em;height:1em;display:block;flex-shrink:0}
.nav .ico{display:grid;place-items:center;font-size:20px}
.stat .bubble .jd-ico{font-size:26px}
.task .dot .jd-ico{font-size:21px}
.icon-btn .jd-ico{font-size:21px;margin:auto}
.avatar .jd-ico{font-size:22px}

/* ---------- الشريط الجانبي ---------- */
body:not([data-theme]) .sidebar,
body[data-theme="default"] .sidebar{background:#fff;border-left:1px solid var(--line)}
.brand{gap:12px}
.brand-logo{
  width:46px;height:46px;border-radius:14px;
  background:var(--primary) !important;
  box-shadow:0 10px 24px rgba(20,27,52,.18);
  animation:jdPop .8s var(--jd-ease) backwards;
}
.brand-logo svg{width:26px;height:26px;animation:jdSpin 24s linear infinite}
.brand h2{font-family:var(--jd-mark);font-size:28px;font-weight:700;line-height:1}
.brand small{display:block;margin-top:5px;font-size:12px}
.nav{gap:4px}
.nav button{
  font-size:15px;min-height:46px;border-radius:14px;
  transition:background .2s,color .2s,transform .25s var(--jd-ease);
  animation:jdSlide .6s var(--jd-ease) backwards;
}
.nav button:hover{transform:translateX(-4px)}
.nav button.active{background:var(--theme-soft,#EEF1FB);color:var(--primary);font-weight:700}
.nav button:nth-child(1){animation-delay:.05s}.nav button:nth-child(2){animation-delay:.09s}
.nav button:nth-child(3){animation-delay:.13s}.nav button:nth-child(4){animation-delay:.17s}
.nav button:nth-child(5){animation-delay:.21s}.nav button:nth-child(6){animation-delay:.25s}
.nav button:nth-child(7){animation-delay:.29s}.nav button:nth-child(8){animation-delay:.33s}
.nav button:nth-child(9){animation-delay:.37s}.nav button:nth-child(10){animation-delay:.41s}
.nav button:nth-child(n+11){animation-delay:.45s}

/* ---------- الشريط العلوي ---------- */
body:not([data-theme]) .topbar,
body[data-theme="default"] .topbar{background:rgba(250,246,239,.84);border-bottom-color:rgba(237,229,216,.8)}
.search{
  height:48px;border-radius:16px;border:1.5px solid var(--line);
  color:var(--text);font-size:15px;
  transition:border-color .2s,box-shadow .2s;
}
.search::placeholder{color:#8A8FA0}
.search:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(34,53,138,.12)}
.icon-btn{
  width:48px;height:48px;border-radius:15px;border:1.5px solid var(--line);
  display:grid;place-items:center;position:relative;color:var(--text);
  transition:transform .2s,box-shadow .2s;
}
.icon-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,27,52,.08)}
.jd-dot{position:absolute;top:11px;left:12px;width:9px;height:9px}
.jd-dot::before,.jd-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--jd-coral)}
.jd-dot::after{border:2px solid #fff;box-sizing:border-box}
.jd-dot::before{animation:jdPing 1.8s cubic-bezier(0,0,.2,1) infinite}
.avatar{
  width:48px;height:48px;border-radius:15px;
  background:var(--jd-saffron) !important;color:#3D2600;
}

/* ---------- ترحيب الأدوار ---------- */
.role-welcome{
  background:linear-gradient(rgba(10,14,40,.14),rgba(10,14,40,.14)),var(--primary) !important;
  border:0 !important;border-radius:34px !important;
  box-shadow:0 26px 60px rgba(23,36,99,.22) !important;
  min-height:260px;padding:38px 44px;
  isolation:isolate;
  animation:jdRise .8s var(--jd-ease) backwards;
}
.role-welcome::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--jd-khatam);background-size:64px 64px;
  animation:jdPattern 26s linear infinite;
}
.role-welcome::after{
  content:"";position:absolute;width:440px;height:440px;left:-90px;top:-120px;z-index:0;pointer-events:none;
  background:var(--jd-star) center/contain no-repeat;
  animation:jdSpin 90s linear infinite;
}
.role-welcome.has-ring{grid-template-columns:minmax(0,1fr) auto}
.role-welcome h1{font-size:40px;font-weight:800;line-height:1.3;margin-bottom:12px}
.role-welcome p{color:#DDE2F4;font-size:16px}
.role-welcome-kicker{font-size:13px;font-weight:600;padding:8px 15px;animation:jdRise .7s .1s var(--jd-ease) backwards}
.role-welcome h1{animation:jdRise .7s .18s var(--jd-ease) backwards}
.role-welcome p,.student-academic-badge{animation:jdRise .7s .26s var(--jd-ease) backwards}
.role-welcome-quote{border-right-color:var(--jd-saffron) !important;font-weight:600;animation:jdRise .7s .34s var(--jd-ease) backwards}
.role-welcome-actions{animation:jdRise .7s .42s var(--jd-ease) backwards}
.welcome-action{
  min-height:46px;padding:10px 20px;border-radius:14px;
  background:var(--jd-saffron);color:var(--jd-saffron-ink);font-weight:700;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
  transition:transform .2s,box-shadow .2s;
}
.welcome-action:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(0,0,0,.2)}
.welcome-action.ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3)}
.welcome-mini-stat{border-radius:16px}

/* حلقة التقدّم في ترحيب الطالب */
.jd-ring{position:relative;z-index:2;width:190px;height:190px;flex-shrink:0;animation:jdPop .9s .3s var(--jd-ease) backwards}
.jd-ring > svg{width:100%;height:100%;transform:rotate(-90deg)}
.jd-ring .track{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.15)}
.jd-ring .val{stroke:var(--jd-saffron);stroke-linecap:round;stroke-dasharray:452.4;animation:jdRing 1.8s .5s var(--jd-ease) backwards}
.jd-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.jd-ring-label b{font-family:var(--jd-display);font-size:42px;font-weight:800;line-height:1}
.jd-ring-label span{font-size:13px;color:#DDE2F4;margin-top:6px}
.jd-ring-badge{position:absolute;top:0;left:-8px;width:38px;height:38px;border-radius:12px;background:var(--jd-mint);display:grid;place-items:center;color:#0B3D2A;animation:jdFloat 5s ease-in-out infinite}
.jd-ring-badge .jd-ico{font-size:20px}

/* ---------- البطاقات ---------- */
.card{border-radius:22px}
.stat,.subject,.badge{transition:transform .3s var(--jd-ease),box-shadow .3s}
.stat:hover,.subject:hover,.badge:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(20,27,52,.1)}
.stat{padding:20px 22px}
.stat .bubble{width:56px;height:56px;border-radius:17px}
.stat h4{font-size:27px;font-weight:800;font-variant-numeric:tabular-nums}
.stat .bubble .jd-flame{animation:jdFlicker 1.6s ease-in-out infinite;transform-origin:50% 90%}

.subject{padding:12px}
.subject-top{height:118px;border-radius:18px;position:relative;overflow:hidden;margin-bottom:14px}
.subject-top::before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.45);top:-40px;left:-30px}
.jd-subj-ico{
  position:relative;width:64px;height:64px;border-radius:20px;background:#fff;
  display:grid;place-items:center;font-size:32px;
  box-shadow:0 12px 24px rgba(20,27,52,.1);
  animation:jdFloat 5s ease-in-out infinite;
}
.grid > .subject:nth-child(2) .jd-subj-ico{animation-delay:-1.2s}
.grid > .subject:nth-child(3) .jd-subj-ico{animation-delay:-2.4s}
.grid > .subject:nth-child(4) .jd-subj-ico{animation-delay:-3.6s}
.grid > .subject:nth-child(5) .jd-subj-ico{animation-delay:-.6s}
.subject h4{font-size:17px;padding:0 6px}
.subject .meta{padding:0 6px}
.subject .progress{margin:12px 6px 6px}

.progress{height:8px;background:#F1EADF}
.progress span{animation:jdFill 1.4s .45s var(--jd-ease) backwards}

.task{padding:15px 0}
.task .dot{width:46px;height:46px;border-radius:14px;color:var(--primary)}
.task strong{font-size:15px}
.tag{font-weight:700}

.chart{height:200px;gap:14px;margin-bottom:26px}
.bar{transform-origin:bottom;animation:jdGrow 1s var(--jd-ease) backwards;border-radius:12px 12px 6px 6px}
.bar:nth-child(2){animation-delay:.08s}.bar:nth-child(3){animation-delay:.16s}.bar:nth-child(4){animation-delay:.24s}
.bar:nth-child(5){animation-delay:.32s}.bar:nth-child(6){animation-delay:.4s}.bar:nth-child(7){animation-delay:.48s}
body:not([data-theme]) .bar,body[data-theme="default"] .bar{background:#DCE2F5}
body:not([data-theme]) .bar:nth-last-child(2),body[data-theme="default"] .bar:nth-last-child(2){background:var(--primary)}
body:not([data-theme]) .bar:last-child,body[data-theme="default"] .bar:last-child{background:var(--jd-saffron)}

/* ---------- الأزرار ---------- */
.btn{transition:transform .2s,box-shadow .2s,background .2s}
.btn.primary{position:relative;overflow:hidden;font-weight:700}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(20,27,52,.18)}
.btn.primary::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:36%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:translateX(160%) skewX(-20deg);
}
.btn.primary:hover::after{animation:jdShine .9s ease-out}
body:not([data-theme]) .btn.soft,body[data-theme="default"] .btn.soft{background:#EEF1FB;color:var(--primary)}

/* ---------- انتقال الصفحات ---------- */
.page.active > *{animation:jdRise .7s var(--jd-ease) backwards}
.page.active > *:nth-child(2){animation-delay:.06s}
.page.active > *:nth-child(3){animation-delay:.12s}
.page.active > *:nth-child(4){animation-delay:.18s}
.page.active > *:nth-child(5){animation-delay:.24s}
.page.active > *:nth-child(6){animation-delay:.3s}
.page.active > *:nth-child(n+7){animation-delay:.36s}
.page.active .grid > *{animation:jdRise .7s var(--jd-ease) backwards}
.page.active .grid > *:nth-child(2){animation-delay:.2s}
.page.active .grid > *:nth-child(3){animation-delay:.28s}
.page.active .grid > *:nth-child(4){animation-delay:.36s}
.page.active .grid > *:nth-child(n+5){animation-delay:.44s}

/* =====================================================================
   شاشة تسجيل الدخول
   ===================================================================== */
.login-overlay.jd-login{
  background:#FAF6EF !important;
  padding:0 !important;display:block !important;overflow-y:auto;
}
.login-overlay.jd-login[style*="display: none"],
.login-overlay.jd-login[style*="display:none"]{display:none !important}
.jd-login-shell{width:100%;min-height:100vh;display:flex;direction:rtl;box-sizing:border-box}
.jd-login-form{
  width:min(620px,46vw);flex-shrink:0;box-sizing:border-box;
  padding:48px clamp(28px,6vw,96px);display:flex;flex-direction:column;
}
.jd-login-brand{display:flex;align-items:center;gap:14px;animation:jdRise .8s var(--jd-ease) backwards}
.jd-login-logo{width:52px;height:52px;border-radius:16px;background:var(--jd-royal);display:grid;place-items:center}
.jd-login-logo svg{width:30px;height:30px}
.jd-login-brand b{display:block;font-family:var(--jd-mark);font-size:30px;font-weight:700;line-height:1;color:var(--jd-ink)}
.jd-login-brand span{display:block;font-size:13px;color:var(--jd-muted);margin-top:6px}
.jd-login-body{flex-grow:1;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:40px 0}
.jd-kicker{align-self:flex-start;font-size:13px;font-weight:600;color:#8A560A;background:#FDF0DA;padding:7px 14px;border-radius:999px}
.jd-login-body h1{margin:0;font-family:var(--jd-display);font-size:clamp(34px,3.4vw,48px);font-weight:800;line-height:1.2;color:var(--jd-ink)}
.jd-login-body .jd-sub{margin:0;font-size:17px;color:var(--jd-muted);line-height:1.8}
.jd-login-body > *{animation:jdRise .8s var(--jd-ease) backwards}
.jd-login-body > *:nth-child(2){animation-delay:.08s}.jd-login-body > *:nth-child(3){animation-delay:.16s}
.jd-login-body > *:nth-child(4){animation-delay:.24s}.jd-login-body > *:nth-child(5){animation-delay:.32s}
.jd-login-body > *:nth-child(6){animation-delay:.4s}.jd-login-body > *:nth-child(7){animation-delay:.48s}
.jd-field{display:flex;flex-direction:column;gap:8px}
.jd-field label{font-size:13px;font-weight:600;color:#3A4157}
.jd-input{
  height:56px;box-sizing:border-box;display:flex;align-items:center;gap:12px;
  padding:0 18px;background:#fff;border:1.5px solid #E6DDCD;border-radius:16px;color:#5B6275;
  transition:border-color .2s,box-shadow .2s;
}
.jd-input:focus-within{border-color:var(--jd-royal);box-shadow:0 0 0 4px rgba(34,53,138,.12)}
.jd-input .jd-ico{font-size:20px}
.jd-input input{border:0;outline:0;background:transparent;font-size:16px;color:var(--jd-ink);flex-grow:1;min-width:0;height:100%}
.jd-input input::placeholder{color:#8A8FA0}
.jd-input.has-toggle{padding-left:6px}
.jd-eye{width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:#5B6275;display:grid;place-items:center;cursor:pointer}
.jd-eye:hover{background:#F4EFE6}
.jd-remember{display:flex;align-items:center;gap:10px;font-size:14px;color:#3A4157;cursor:pointer}
.jd-remember input{width:18px;height:18px;margin:0;accent-color:var(--jd-royal)}
.jd-login .login-main-btn{
  width:100%;height:58px;margin:0;border-radius:18px !important;box-shadow:none;
  background:var(--jd-royal) !important;color:#fff;
  font-family:var(--jd-display);font-size:17px;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:12px;
}
.jd-login .login-main-btn::after{animation:jdShine 3.4s ease-in-out infinite}
.jd-login .login-main-btn:hover{box-shadow:0 16px 34px rgba(34,53,138,.32)}
.jd-login .login-main-btn:disabled{opacity:.75;cursor:progress}
.jd-login-copy{font-size:12px;color:#6B7183;animation:jdRise .8s .6s var(--jd-ease) backwards}

.jd-login-visual{
  flex-grow:1;margin:20px 0 20px 20px;border-radius:40px;background:var(--jd-royal);
  position:relative;overflow:hidden;min-height:560px;
}
.jd-login-visual::before{
  content:"";position:absolute;inset:0;background-image:var(--jd-khatam);background-size:64px 64px;
  animation:jdPattern 26s linear infinite;
}
.jd-login-visual::after{
  content:"";position:absolute;width:620px;height:620px;left:-200px;bottom:-240px;
  background:var(--jd-star) center/contain no-repeat;animation:jdSpin 80s linear infinite;
}
.jd-shape{position:absolute;z-index:1}
.jd-shape.s1{top:86px;left:14%;width:70px;height:70px;border-radius:50%;background:var(--jd-saffron);animation:jdFloat 9s ease-in-out infinite}
.jd-shape.s2{bottom:150px;right:90px;width:64px;height:64px;border-radius:64px 0 0 0;background:var(--jd-coral);animation:jdFloat2 7.5s ease-in-out infinite}
.jd-shape.s3{top:46%;right:64px;width:30px;height:30px;border-radius:9px;background:var(--jd-mint);animation:jdFloat 6s -2s ease-in-out infinite}
.jd-login-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#FAF6EF;padding:0 40px}
.jd-wordmark{font-family:var(--jd-mark);font-size:clamp(120px,13vw,190px);font-weight:700;line-height:1.1;animation:jdLetter 1.1s .2s var(--jd-ease) backwards}
.jd-tagline{margin:4px 0 0;font-family:var(--jd-display);font-size:24px;font-weight:500;color:var(--jd-saffron);animation:jdRise .8s .6s var(--jd-ease) backwards}
.jd-quote{margin:18px 0 0;max-width:440px;font-size:16px;line-height:1.9;color:#D9DEF2;animation:jdRise .8s .75s var(--jd-ease) backwards}
.jd-float-card{position:absolute;z-index:3;animation:jdPop .8s var(--jd-ease) backwards}
.jd-float-card > div{
  display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff;border-radius:20px;
  box-shadow:0 24px 50px rgba(10,20,60,.28);color:var(--jd-ink);
}
.jd-float-card .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}
.jd-float-card .ic .jd-ico{font-size:22px}
.jd-float-card b{display:block;font-size:14px;font-weight:700}
.jd-float-card small{display:block;font-size:12px;color:var(--jd-muted);margin-top:2px}
.jd-float-card.c1{top:120px;right:70px;animation-delay:.5s}
.jd-float-card.c1 > div{animation:jdFloat 6s ease-in-out infinite}
.jd-float-card.c2{bottom:110px;left:8%;animation-delay:.75s}
.jd-float-card.c2 > div{animation:jdFloat2 9s ease-in-out infinite}
.jd-float-card.c2 b{font-family:var(--jd-display);font-size:18px}
.jd-float-card.c3{bottom:200px;right:130px;animation-delay:.9s}
.jd-float-card.c3 > div{animation:jdFloat 6s -3s ease-in-out infinite;padding:12px 16px}
.jd-float-card.c3 b{font-family:var(--jd-display);font-size:18px}
.jd-mini-ring{width:56px;height:56px;transform:rotate(-90deg)}
.jd-mini-ring .val{stroke-dasharray:150.8;animation:jdRingSm 1.6s .9s var(--jd-ease) backwards}

@media (max-width:1100px){
  .jd-float-card.c3{display:none}
}
@media (max-width:900px){
  .jd-login-visual{display:none}
  .jd-login-form{width:100%;padding:28px 22px}
  .jd-login-body{max-width:520px;width:100%;margin:0 auto}
  .jd-login-brand{justify-content:center}
  .jd-login-copy{text-align:center}
}

/* ---------- الجوال ---------- */
@media (max-width:760px){
  .content{padding-bottom:118px !important}
  .role-welcome{padding:26px 20px !important;min-height:auto;text-align:right}
  .role-welcome.has-ring{grid-template-columns:1fr}
  .role-welcome h1{font-size:28px}
  .jd-ring{display:none}
  .mobile-nav{
    left:12px !important;right:12px !important;bottom:calc(12px + env(safe-area-inset-bottom)) !important;
    border-radius:24px;background:#141B34 !important;border:0 !important;
    box-shadow:0 18px 40px rgba(20,27,52,.3);align-items:center;
    padding:8px !important;
  }
  .mobile-nav button{
    color:#AEB3C6 !important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    font-size:22px;transition:color .2s,transform .2s;
  }
  .mobile-nav button span{font-size:10.5px !important;font-weight:600;margin-top:0 !important}
  .mobile-nav button.active{color:var(--jd-saffron) !important}
  .mobile-nav button.jd-ai{
    width:58px;height:58px;min-width:58px;margin-top:-34px;border-radius:19px;
    background:var(--jd-saffron) !important;color:var(--jd-saffron-ink) !important;
    border:4px solid var(--jd-ground);box-sizing:content-box;
    animation:jdHalo 2.2s ease-out infinite;
  }
  .mobile-nav button.jd-ai span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}

/* ---------- الحركات ---------- */
@keyframes jdRise{from{opacity:0;transform:translateY(20px)}}
@keyframes jdSlide{from{opacity:0;transform:translateX(24px)}}
@keyframes jdPop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}
@keyframes jdLetter{from{opacity:0;transform:translateY(40px) scale(.9)}}
@keyframes jdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes jdFloat2{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(12px) rotate(2deg)}}
@keyframes jdSpin{to{transform:rotate(360deg)}}
@keyframes jdPattern{to{background-position:64px 64px}}
@keyframes jdFill{from{width:0}}
@keyframes jdGrow{from{transform:scaleY(0)}}
@keyframes jdRing{from{stroke-dashoffset:452.4}}
@keyframes jdRingSm{from{stroke-dashoffset:150.8}}
@keyframes jdShine{0%{transform:translateX(160%) skewX(-20deg)}55%,100%{transform:translateX(-260%) skewX(-20deg)}}
@keyframes jdPing{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.6);opacity:0}}
@keyframes jdFlicker{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.1) rotate(-5deg)}60%{transform:scale(.95) rotate(4deg)}}
@keyframes jdHalo{0%{box-shadow:0 0 0 0 rgba(242,169,59,.55)}100%{box-shadow:0 0 0 16px rgba(242,169,59,0)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}

/* ---------- توسيط محتوى شاشة الدخول ---------- */
.jd-login-brand{justify-content:center}
.jd-login-body{text-align:center;max-width:520px;width:100%;margin:0 auto}
.jd-kicker{align-self:center}
.jd-field label{text-align:center}
.jd-remember{justify-content:center}
.jd-login-copy{text-align:center}
