/* ═══════════════════════════════════════════════════════════════════
   edu_section_v35.css — صفحات قسم التعلّم
   (المكتبة · المجموعات · إدارتها · الاختبارات · الشهادات)
   ═══════════════════════════════════════════════════════════════════ */

/* ─── ① الرموز ──────────────────────────────────────────────────── */
.ez{
  --em-900:#06301E; --em-800:#083F28; --em-700:#0A5133;
  --em-600:#0C6440; --em-500:#12794F; --em-400:#2A9469;
  --em-300:#63B392; --em-200:#A8D6C2;
  --em-50:#ECF5F0;  --em-100:#D7EAE1;
  --gd-600:#856221; --gd-500:#A67C2E; --gd-400:#C9A961; --gd-300:#E2CC94;
  --gd-50:#FBF5E7;
  --n-900:#111A16; --n-800:#1C2A24; --n-700:#33443B;
  --n-600:#4E6358; --n-500:#5F7469; --n-400:#9CADA4;
  --n-300:#C6D2CB; --n-200:#E1E9E5; --n-100:#EFF4F1; --n-50:#F7FAF8;
  --white:#FFFFFF;
  --info:#2563EB; --info-50:#EFF4FE;
  --warn:#B45309; --warn-50:#FDF6EC;
  --dang:#B42318; --dang-50:#FEF3F2;
  --plum:#6D28D9; --plum-50:#F5F1FE;
  --em-fg:var(--em-600); --gd-fg:var(--gd-600);
  --info-fg:var(--info); --dang-fg:var(--dang);
  --plum-fg:var(--plum); --warn-fg:var(--warn);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px;
  --r-xl:16px; --r-lg:14px; --r-md:10px; --r-sm:8px; --r-pill:999px;
  --e1:0 1px 2px rgba(6,48,30,.05), 0 1px 1px rgba(6,48,30,.03);
  --e2:0 2px 4px rgba(6,48,30,.05), 0 8px 16px -6px rgba(6,48,30,.09);
  --e-hero:0 2px 4px rgba(6,48,30,.10), 0 28px 56px -32px rgba(6,48,30,.75);
  --t:.16s cubic-bezier(.4,0,.2,1);
  font-family:'Readex Pro',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-variant-numeric:tabular-nums lining-nums;
  font-size:13px; color:var(--n-800); background:var(--n-50);
  -webkit-font-smoothing:antialiased;
}
html.dark-mode .ez{
  --white:#151F1A; --n-50:#0C1310; --n-100:#131D18; --n-200:#22302A;
  --n-300:#33453C; --n-400:#5C7268; --n-500:#849A90;
  --n-600:#A9BCB3; --n-700:#C8D7D0; --n-800:#E6EFEA; --n-900:#F3F8F5;
  --em-50:#0E2A1E; --em-100:#123526; --gd-50:#2A2113;
  --info-50:#141F31; --warn-50:#2A2013; --dang-50:#2B1614; --plum-50:#1E1730;
  --em-fg:#5CC894; --gd-fg:#E0C583; --info-fg:#8FB6F7;
  --dang-fg:#F5958B; --plum-fg:#BB9BF7; --warn-fg:#E8B172;
  --e1:0 1px 2px rgba(0,0,0,.4);
  --e2:0 2px 4px rgba(0,0,0,.35), 0 8px 16px -6px rgba(0,0,0,.5);
}
.ez *,.ez *::before,.ez *::after{box-sizing:border-box}
.ez-wrap{max-width:1260px;margin:0 auto;padding:var(--s5) var(--s5) var(--s10)}

/* ─── ② فتات الطريق — جذر واحد لكلّ صفحات القسم ────────────────
   كانت «إدارة المجموعات» تبدأ بـ«إدارة التعليم» والبقية بـ«الرئيسية».
   الآن الجذر واحد دائماً: الرئيسية ← التعلّم ← [الصفحة]. */
.ez-crumb{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3);
  font-size:11.5px;color:var(--n-600);flex-wrap:wrap}
/* v45: قِيس ارتفاع رابط الفتات 14px على الجوّال — أقلّ من نصف ما
   تُصيبه الإصبع بثقة. حشوةٌ رأسية تُوسّع مساحة النقر بلا أن تُغيّر
   موضع النصّ (الهوامش السالبة تُعيده). */
.ez-crumb a{color:var(--n-600);text-decoration:none;
  padding-block:9px;margin-block:-9px;display:inline-block}
.ez-crumb a:hover{color:var(--em-fg)}
.ez-crumb i{font-size:12px;color:var(--n-300)}
.ez-crumb b{color:var(--n-800);font-weight:600}
/* v57: قِيس 32px بالضبط — على الحدّ لا فوقه. وهذا الزرّ يظهر في نحو
   مئةٍ وخمسين قالباً، فبكسلان هنا يُصلحان الجميع. */
.ez-crumb .back{margin-inline-start:auto;display:inline-flex;align-items:center;gap:5px;
  padding:6px 13px;min-height:34px;border:1px solid var(--n-200);
  border-radius:var(--r-pill);background:var(--white);color:var(--n-700);
  transition:var(--t)}
.ez-crumb .back:hover{border-color:var(--em-600);color:var(--em-fg)}

/* ─── ③ الترويسة ────────────────────────────────────────────────── */
.ez-hero{
  position:relative;overflow:hidden;border-radius:var(--r-xl);color:#fff;
  padding:var(--s6);box-shadow:var(--e-hero);
  background:
    radial-gradient(120% 140% at 88% 0%, rgba(201,169,97,.16) 0%, transparent 52%),
    radial-gradient(90% 120% at 4% 100%, rgba(42,148,105,.28) 0%, transparent 55%),
    linear-gradient(146deg, var(--em-600) 0%, var(--em-700) 42%, var(--em-900) 100%);
}
.ez-hero::before{content:'';position:absolute;inset-inline:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gd-400) 22%,var(--gd-300) 50%,var(--gd-400) 78%,transparent)}
.ez-hero::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background:repeating-radial-gradient(circle at 0% 100%,
    transparent 0 52px, rgba(226,204,148,.10) 52px 53.5px);
  -webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 34%,transparent 62%);
  mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 34%,transparent 62%)
}
.ez-hero-in{position:relative;z-index:2;display:flex;justify-content:space-between;
  align-items:flex-end;gap:var(--s6);flex-wrap:wrap}
.ez-hero h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.2px;color:#fff;
  display:flex;align-items:center;gap:var(--s2)}
.ez-hero h1 i{font-size:24px;color:var(--gd-300)}
.ez-sub{font-size:12.5px;color:#A9CBBA;margin-top:6px}
.ez-hacts{display:flex;gap:var(--s2);flex-wrap:wrap}

/* البحث — وحدة واحدة */
.ez-search{display:flex;align-items:center}
.ez-field{display:flex;align-items:center;gap:var(--s2);
  background:rgba(255,255,255,.96);border-radius:var(--r-pill);
  padding-inline-start:var(--s4);padding-inline-end:4px;
  height:42px;min-width:280px;box-shadow:0 1px 2px rgba(0,0,0,.14);transition:box-shadow var(--t)}
.ez-field:focus-within{box-shadow:0 0 0 3px rgba(226,204,148,.6), 0 1px 2px rgba(0,0,0,.14)}
.ez-field > i{font-size:17px;color:var(--n-500);flex:0 0 auto}
.ez-field input{flex:1;min-width:0;border:0;background:transparent;
  font-family:inherit;font-size:13px;color:var(--n-900);outline:0;padding:0}
.ez-field input::placeholder{color:var(--n-400)}
.ez-field input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.ez-field input:focus,.ez-field input:focus-visible{outline:none}
.ez-field kbd{flex:0 0 auto;font-family:inherit;font-size:10.5px;color:var(--n-500);
  background:var(--n-100);border:1px solid var(--n-200);border-radius:5px;padding:2px 7px;line-height:1.4}
.ez-field:focus-within kbd{display:none}
.ez-go{flex:0 0 auto;height:34px;padding:0 var(--s5);border:0;border-radius:var(--r-pill);
  background:var(--em-600);color:#fff;font-family:inherit;font-size:12.5px;font-weight:500;
  cursor:pointer;transition:background var(--t)}
.ez-go:hover{background:var(--em-700)}
/* نسخة مضغوطة داخل شريط الأدوات — للصفحات التي ترويستها فيها أزرار */
.ez-bar .ez-field{height:34px;min-width:230px;background:var(--white);
  border:1px solid var(--n-200);box-shadow:none}
.ez-bar .ez-field:focus-within{border-color:var(--em-600);
  box-shadow:0 0 0 3px rgba(12,100,64,.12)}
.ez-bar .ez-go{height:26px;padding:0 var(--s3);font-size:11.5px}

/* ─── ④ شريط الأدوات ────────────────────────────────────────────── */
.ez-bar{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin:var(--s5) 0 var(--s4)}
.ez-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;
  border-radius:var(--r-pill);border:1px solid var(--n-200);background:var(--white);
  color:var(--n-700);font-size:12px;font-weight:500;text-decoration:none;
  transition:var(--t);white-space:nowrap}
.ez-chip:hover{border-color:var(--n-300);color:var(--n-900)}
.ez-chip i{font-size:14px}
.ez-chip .n{font-size:11px;color:var(--n-500);background:var(--n-100);border-radius:var(--r-pill);padding:1px 7px}
.ez-chip.on{background:var(--em-600);border-color:var(--em-600);color:#fff;box-shadow:var(--e1)}
.ez-chip.on .n{background:rgba(255,255,255,.2);color:#fff}
.ez-bar .spacer{margin-inline-start:auto}
.ez-select{height:34px;padding:0 var(--s3);border-radius:var(--r-pill);
  border:1px solid var(--n-200);background:var(--white);color:var(--n-700);
  font-family:inherit;font-size:12px;cursor:pointer}
.ez-count{font-size:11.5px;color:var(--n-600)}
.ez-count b{color:var(--n-900);font-weight:600}

/* ─── ⑤ الشبكة والبطاقة الأساس ─────────────────────────────────── */
.ez-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.ez-grid.g3{grid-template-columns:repeat(3,1fr)}
.ez-card{position:relative;display:flex;flex-direction:column;background:var(--white);
  border:1px solid var(--n-200);border-radius:var(--r-lg);overflow:hidden;
  text-decoration:none;color:inherit;box-shadow:var(--e1);transition:var(--t)}
a.ez-card:hover{border-color:var(--em-600);box-shadow:var(--e2);transform:translateY(-3px)}
.ez-body{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2);flex:1}
.ez-title{display:block;font-size:13.5px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-meta{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;font-size:11px;color:var(--n-600)}
.ez-meta span{display:inline-flex;align-items:center;gap:4px}
.ez-meta i{font-size:13px;color:var(--n-400)}
.ez-desc{display:block;font-size:11.5px;color:var(--n-500);line-height:1.65}
.ez-foot{display:block;margin-top:auto;padding-top:var(--s2)}
.ez-foot.row{display:flex;gap:var(--s2)}

/* غلاف بأيقونة */
.ez-cover{position:relative;aspect-ratio:16/10;display:grid;place-items:center;
  font-size:34px;color:rgba(255,255,255,.88);
  background:linear-gradient(135deg,var(--em-600),var(--em-800))}
.ez-cover.c-blue{background:linear-gradient(135deg,var(--info),#1E3A8A)}
.ez-cover.c-plum{background:linear-gradient(135deg,var(--plum),#3B1D82)}
.ez-cover.c-gold{background:linear-gradient(135deg,var(--gd-500),#6B4E1B)}
.ez-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ez-tag{position:absolute;top:var(--s2);inset-inline-end:var(--s2);z-index:2;
  display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:500;
  padding:3px 9px;border-radius:var(--r-pill);
  background:rgba(6,48,30,.55);color:#fff;backdrop-filter:blur(4px)}
.ez-tag.ok{background:rgba(12,100,64,.9)}
.ez-tag.warn{background:rgba(180,83,9,.9)}

/* ─── ⑥ صفّ قائمة (للإدارة والاختبارات) ────────────────────────── */
.ez-list{background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  box-shadow:var(--e1);overflow:hidden}
.ez-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);
  text-decoration:none;color:inherit;transition:var(--t)}
.ez-row + .ez-row{border-top:1px solid var(--n-100)}
a.ez-row:hover{background:var(--n-50)}
.ez-dot{width:38px;height:38px;flex:0 0 auto;border-radius:var(--r-md);display:grid;
  place-items:center;font-size:18px;background:var(--em-50);color:var(--em-fg)}
.ez-dot.d-gold{background:var(--gd-50);color:var(--gd-fg)}
.ez-dot.d-blue{background:var(--info-50);color:var(--info-fg)}
.ez-dot.d-plum{background:var(--plum-50);color:var(--plum-fg)}
.ez-dot.d-red{background:var(--dang-50);color:var(--dang-fg)}
.ez-dot.d-mute{background:var(--n-100);color:var(--n-500)}
.ez-rb{flex:1;min-width:0}
.ez-rt{display:block;font-size:13px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-rs{display:block;font-size:11.5px;color:var(--n-500);margin-top:3px;line-height:1.6}
.ez-re{flex:0 0 auto;display:flex;align-items:center;gap:var(--s2)}

/* ─── ⑦ الوسوم ─────────────────────────────────────────────────── */
/* inline-block ضروريّ: الحشوة الرأسية على عنصر سطريّ تُرسَم لكنّها
   لا تُوسّع صندوق السطر، فتفيض على السطر المجاور. */
/* v28-fix: كانت `inline-block`، فكلّ أيقونةٍ أو نقطةٍ بداخلها تجلس على
   خطّ الأساس لا في الوسط — تظهر منزاحةً لأعلى والمسافة حولها غير
   متساوية. وشارة «مباشر الآن» أوضح مثال: النقطة الحمراء تطفو فوق
   السطر. `inline-flex` يُوسّط المحتوى ولا يغيّر شيئاً في الشارات
   النصّية الخالصة (وهي أكثرها في 68 قالباً). */
.ez-pill{display:inline-flex;align-items:center;gap:5px;
  font-size:10.5px;font-weight:500;padding:3px 10px;border-radius:var(--r-pill);
  background:var(--n-100);color:var(--n-600);white-space:nowrap;
  vertical-align:middle;line-height:1.6}
.ez-pill.em{background:var(--em-50);color:var(--em-fg)}
.ez-pill.gd{background:var(--gd-50);color:var(--gd-fg)}
.ez-pill.in{background:var(--info-50);color:var(--info-fg)}
.ez-pill.dg{background:var(--dang-50);color:var(--dang-fg)}
.ez-pill.wn{background:var(--warn-50);color:var(--warn-fg)}

/* ─── ⑧ شريط تقدّم ─────────────────────────────────────────────── */
.ez-bar-p{display:block;height:5px;background:var(--n-100);border-radius:var(--r-pill);overflow:hidden}
.ez-bar-p>span{display:block;height:100%;width:0;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--em-600),var(--em-400));
  transition:width .85s cubic-bezier(.4,0,.2,1)}
.ez-bar-p.gd>span{background:linear-gradient(90deg,var(--gd-500),var(--gd-400))}
.ez-bar-x{display:flex;justify-content:space-between;font-size:11px;color:var(--n-600);margin-top:5px}

/* ─── ⑨ الأزرار ────────────────────────────────────────────────── */
.ez-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  position:relative;overflow:hidden;font-family:inherit;font-size:12px;font-weight:500;
  line-height:1;padding:9px 14px;border-radius:var(--r-md);border:1px solid transparent;
  cursor:pointer;text-decoration:none;transition:var(--t)}
.ez-btn.full{width:100%}
.ez-btn i{font-size:15px}
.ez-btn::after{content:'';position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--t)}
.ez-btn:hover::after{opacity:.07}
.ez-btn-em{background:var(--em-600);color:#fff;box-shadow:var(--e1)}
.ez-btn-gd{background:var(--gd-500);color:#fff;box-shadow:var(--e1)}
.ez-btn-out{background:var(--white);border-color:var(--n-200);color:var(--n-700)}
.ez-btn-out:hover{border-color:var(--em-600);color:var(--em-fg)}
.ez-btn-dg{background:var(--white);border-color:var(--n-200);color:var(--dang-fg)}
.ez-btn-dg:hover{border-color:var(--dang);background:var(--dang-50)}
.ez-btn-white{background:#fff;color:var(--em-700);box-shadow:0 1px 2px rgba(0,0,0,.16)}
.ez-btn-line{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.24);color:#EAF3EE}
.ez-btn-line:hover{background:rgba(255,255,255,.17)}
.ez-btn-sm{padding:7px 12px;font-size:11.5px}

/* ─── ⑩ الحالة الفارغة ─────────────────────────────────────────── */
.ez-empty{background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  padding:var(--s10) var(--s5);text-align:center;box-shadow:var(--e1)}
.ez-empty i{font-size:34px;color:var(--n-300);display:block;margin-bottom:var(--s3)}
.ez-empty .t{font-size:14px;font-weight:600;color:var(--n-800)}
.ez-empty .d{font-size:12px;color:var(--n-500);margin:6px 0 var(--s4);line-height:1.7}

/* ─── ⑪ الشهادة — بطاقة بطابع الوثيقة ─────────────────────────── */
.ez-cert{background:var(--white);border:1px solid var(--gd-300);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--e1);display:flex;flex-direction:column;
  text-decoration:none;color:inherit;transition:var(--t)}
a.ez-cert:hover{box-shadow:var(--e2);transform:translateY(-3px)}
.ez-cert-top{position:relative;padding:var(--s5);text-align:center;
  background:linear-gradient(160deg,var(--gd-50),var(--white));
  border-bottom:1px dashed var(--gd-300)}
.ez-cert-top i{font-size:34px;color:var(--gd-500);display:block;margin-bottom:var(--s2)}
.ez-cert-t{display:block;font-size:13.5px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-cert-b{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}
.ez-code{display:block;font-size:11px;letter-spacing:1px;color:var(--n-500);
  background:var(--n-50);border:1px dashed var(--n-200);border-radius:var(--r-sm);
  padding:6px 10px;text-align:center}

/* ─── ⑪-ب الترقيم ──────────────────────────────────────────────── */
.ez-pager{display:flex;justify-content:center;align-items:center;gap:var(--s2);margin-top:var(--s8)}
.ez-pager a,.ez-pager span{min-width:34px;height:34px;padding:0 var(--s3);
  border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--n-200);background:var(--white);color:var(--n-700);
  font-size:12px;text-decoration:none;transition:var(--t)}
.ez-pager a:hover{border-color:var(--em-600);color:var(--em-fg)}
.ez-pager .cur{background:var(--em-600);border-color:var(--em-600);color:#fff}
.ez-pager .dis{opacity:.45;cursor:default}

/* ─── ⑫ الحركة ─────────────────────────────────────────────────── */
html.js-on .ez [data-reveal]{opacity:0;transform:translateY(12px)}
html.js-on .ez [data-reveal].shown{animation:ezRise .55s cubic-bezier(.16,.84,.34,1) forwards}
@keyframes ezRise{to{opacity:1;transform:none}}
.ez-card[hidden],.ez-row[hidden],.ez-cert[hidden]{display:none}

/* ─── ⑬ الوصولية ───────────────────────────────────────────────── */
.ez :focus-visible{outline:2px solid var(--gd-500);outline-offset:2px;border-radius:4px}
.ez-hero :focus-visible{outline-color:var(--gd-300)}
.ez-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){
  .ez *,.ez *::before,.ez *::after{animation-duration:.01ms!important;
    animation-iteration-count:1!important;transition-duration:.01ms!important}
  html.js-on .ez [data-reveal]{opacity:1!important;transform:none!important;animation:none!important}
  a.ez-card:hover,a.ez-cert:hover{transform:none}
}

/* ─── ⑭ الاستجابة ──────────────────────────────────────────────── */
@media (max-width:1180px){.ez-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  .ez-grid,.ez-grid.g3{grid-template-columns:repeat(2,1fr)}
  .ez-hero{padding:var(--s5) var(--s4)}
  .ez-hero-in{flex-direction:column;align-items:stretch}
  .ez-search{width:100%} .ez-field{width:100%;min-width:0}
  .ez-row{flex-wrap:wrap}
  .ez-re{width:100%;padding-inline-start:50px}
}
@media (max-width:560px){
  .ez-wrap{padding:var(--s4) var(--s3) var(--s8)}
  .ez-grid,.ez-grid.g3{grid-template-columns:1fr}
  .ez-hero h1{font-size:19px}
  .ez-bar .spacer{display:none}
  .ez-field kbd{display:none}
}


/* ─── ⑮ صفحات الاختبارات ────────────────────────────────────────── */
.ez-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--n-200);border:1px solid var(--n-200);border-radius:var(--r-lg);
  overflow:hidden;margin-top:var(--s5)}
.ez-fact{background:var(--white);padding:var(--s5) var(--s3);text-align:center}
.ez-fact i{display:block;font-size:20px;color:var(--n-400);margin-bottom:var(--s2)}
.ez-fact b{display:block;font-size:20px;font-weight:600;letter-spacing:-.4px;color:var(--n-900)}
.ez-fact small{display:block;font-size:10.5px;color:var(--n-500);margin-top:4px;line-height:1.5}
.ez-fact.hot i,.ez-fact.hot b{color:var(--dang-fg)}

/* تنبيه/ملاحظة */
.ez-note{display:flex;align-items:flex-start;gap:var(--s3);margin-top:var(--s4);
  padding:var(--s4) var(--s5);border-radius:var(--r-md);
  background:var(--info-50);color:var(--info-fg);font-size:12.5px;line-height:1.75}
.ez-note.warn{background:var(--warn-50);color:var(--warn-fg)}
.ez-note.dang{background:var(--dang-50);color:var(--dang-fg)}
.ez-note i{font-size:18px;flex:0 0 auto;margin-top:1px}
.ez-note b{font-weight:600}

.ez-cta{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s5)}
.ez-cta .ez-btn{padding:11px 20px;font-size:12.5px}

/* العدّاد — يُضبط من الخادم لا من المتصفّح */
.ez-timer{display:inline-flex;align-items:center;gap:var(--s2);
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;
  padding:9px 18px;border-radius:var(--r-pill);
  font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.ez-timer i{font-size:19px}
.ez-timer.warn{background:rgba(180,83,9,.5);border-color:rgba(255,255,255,.5)}
.ez-timer.danger{background:rgba(180,35,24,.65);border-color:#fff;
  animation:ezPulse 1.1s ease-in-out infinite}
@keyframes ezPulse{0%,100%{opacity:1}50%{opacity:.62}}

/* سؤال وخيارات */
.ez-q{background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  padding:var(--s6);box-shadow:var(--e1);margin-top:var(--s4)}
.ez-q-n{font-size:11px;font-weight:500;letter-spacing:.5px;color:var(--em-fg);text-transform:uppercase}
.ez-q-t{font-size:16px;font-weight:600;color:var(--n-900);line-height:1.7;margin:var(--s2) 0 var(--s5)}
.ez-opt{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);
  border:1px solid var(--n-200);border-radius:var(--r-md);margin-bottom:var(--s2);
  cursor:pointer;transition:var(--t);font-size:13.5px;color:var(--n-800)}
.ez-opt:hover{border-color:var(--n-300);background:var(--n-50)}
.ez-opt input{accent-color:var(--em-600);width:17px;height:17px;flex:0 0 auto;margin:0}
.ez-opt:has(input:checked){border-color:var(--em-600);background:var(--em-50)}

/* حقل الإجابة المقالية والتلميحات */
.ez-text{display:block;width:100%;border:1px solid var(--n-200);border-radius:var(--r-md);
  padding:var(--s4);font-family:inherit;font-size:13.5px;line-height:1.8;color:var(--n-900);
  background:var(--white);resize:vertical;transition:var(--t)}
.ez-text:focus{outline:none;border-color:var(--em-600);box-shadow:0 0 0 3px rgba(12,100,64,.12)}
.ez-hint{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--n-500);margin-top:var(--s2)}
.ez-hint i{font-size:14px}

/* بطاقة النتيجة */
.ez-res{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s4);
  background:var(--white);border:1px solid var(--n-200);border-inline-start-width:4px;
  border-radius:var(--r-lg);padding:var(--s5) var(--s6);box-shadow:var(--e1);flex-wrap:wrap}
.ez-res > i{font-size:36px;flex:0 0 auto}
.ez-res-b{flex:1;min-width:180px}
.ez-res-t{font-size:17px;font-weight:600;color:var(--n-900)}
.ez-res-s{font-size:12px;color:var(--n-500);margin-top:4px;line-height:1.7}
.ez-res.ok{border-inline-start-color:var(--em-600)} .ez-res.ok > i{color:var(--em-fg)}
.ez-res.bad{border-inline-start-color:var(--dang)}  .ez-res.bad > i{color:var(--dang-fg)}
.ez-res.expired{border-inline-start-color:var(--n-400)} .ez-res.expired > i{color:var(--n-500)}

@media (max-width:900px){.ez-facts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ez-facts{grid-template-columns:1fr}.ez-cta .ez-btn{flex:1}}

/* ─── ⑯ صفحات البثّ ─────────────────────────────────────────────── */
/* مؤشّر «مباشر» — نبضة واحدة موحّدة في كلّ الصفحة */
.ez-livedot{display:inline-block;width:9px;height:9px;border-radius:50%;
  background:var(--dang);flex:0 0 auto;position:relative}
.ez-livedot.sm{width:6px;height:6px}
.ez-livedot::after{content:'';position:absolute;inset:0;border-radius:50%;
  background:var(--dang);animation:ezPing 1.8s cubic-bezier(0,0,.2,1) infinite}
@keyframes ezPing{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.4);opacity:0}}

/* شريط «جارٍ الآن» يتصدّر القائمة */
.ez-livebar{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5);
  padding:var(--s4) var(--s5);border-radius:var(--r-lg);
  background:linear-gradient(120deg,var(--dang-50),var(--white) 60%);
  border:1px solid var(--dang);border-inline-start-width:4px;box-shadow:var(--e2);flex-wrap:wrap}
.ez-livebar-b{flex:1;min-width:180px}
.ez-livebar-t{display:block;font-size:14px;font-weight:600;color:var(--n-900)}
.ez-livebar-s{display:block;font-size:11.5px;color:var(--n-600);margin-top:3px}

.ez-btn-live{background:var(--dang);color:#fff;box-shadow:var(--e1)}
.ez-btn-live:hover{background:#8F1D14}

.ez-cover.c-red{background:linear-gradient(135deg,var(--dang),#7F1D1D)}
.ez-cover.c-mute{background:linear-gradient(135deg,var(--n-400),var(--n-600))}
.ez-tag.live{background:rgba(180,35,24,.92);display:inline-flex;align-items:center;gap:5px}
.ez-card.is-live{border-color:var(--dang)}

/* عدّاد تنازلي على بطاقة البثّ المجدول */
.ez-cd{display:flex;align-items:center;justify-content:center;gap:6px;
  padding:7px 12px;border-radius:var(--r-md);background:var(--n-50);
  border:1px solid var(--n-200);color:var(--n-700);
  font-size:12px;font-variant-numeric:tabular-nums;margin-bottom:var(--s2)}
.ez-cd i{font-size:14px;color:var(--gd-fg)}
.ez-cd.soon{background:var(--warn-50);border-color:var(--warn);color:var(--warn-fg)}
.ez-cd.soon i{color:var(--warn-fg)}

/* التنقّل بين الأسابيع */
.ez-weeknav{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  margin-top:var(--s5);flex-wrap:wrap}
.ez-weeknav-b{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;
  border:1px solid var(--n-200);border-radius:var(--r-pill);background:var(--white);
  color:var(--n-700);font-size:12.5px;text-decoration:none;transition:var(--t)}
.ez-weeknav-b:hover{border-color:var(--em-600);color:var(--em-fg)}
.ez-weeknav-m{text-align:center}
.ez-weeknav-m b{display:block;font-size:13.5px;font-weight:600;color:var(--n-900)}
.ez-weeknav-now{font-size:11px;color:var(--em-fg);font-weight:500}
.ez-weeknav-back{font-size:11px;color:var(--gd-fg);text-decoration:none}

/* الجدول: يوم = بطاقة، والبثّ = شريحة زمنية */
.ez-week{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s4)}
.ez-day{background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--e1)}
.ez-day.is-today{border-color:var(--em-600);box-shadow:var(--e2)}
.ez-day-h{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s5);
  background:var(--n-50);border-bottom:1px solid var(--n-100)}
.ez-day.is-today .ez-day-h{background:var(--em-50)}
.ez-day-n{font-size:13.5px;font-weight:600;color:var(--n-900)}
.ez-day-d{font-size:11.5px;color:var(--n-500)}
.ez-day-tag{display:inline-block;font-size:10.5px;font-weight:500;padding:2px 9px;
  border-radius:var(--r-pill);background:var(--em-600);color:#fff}
.ez-day-c{margin-inline-start:auto;font-size:11.5px;color:var(--n-600)}
.ez-slots{padding:var(--s2)}
/* كان --n-400 يعطي 2.6 على الأبيض — دون معيار 4.5 */
.ez-day-empty{padding:var(--s4);text-align:center;font-size:12px;color:var(--n-500)}

.ez-slot{display:flex;align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);
  border-radius:var(--r-md);transition:var(--t)}
.ez-slot + .ez-slot{margin-top:2px}
.ez-slot:hover{background:var(--n-50)}
.ez-slot.is-live{background:var(--dang-50)}
.ez-slot-t{flex:0 0 auto;min-width:66px;font-size:13px;font-weight:600;
  color:var(--em-fg);font-variant-numeric:tabular-nums}
.ez-slot.is-live .ez-slot-t{color:var(--dang-fg)}
.ez-slot-b{flex:1;min-width:0}
.ez-slot-title{display:block;font-size:13px;font-weight:500;color:var(--n-900);line-height:1.5}
.ez-slot-s{display:block;font-size:11.5px;color:var(--n-500);margin-top:3px}
.ez-slot-s i{font-size:13px}
.ez-slot-e{flex:0 0 auto;display:flex;align-items:center;gap:var(--s2)}

@media (max-width:640px){
  .ez-slot{flex-wrap:wrap;gap:var(--s2)}
  .ez-slot-t{min-width:auto}
  .ez-slot-e{width:100%;justify-content:flex-start}
  .ez-weeknav-b{flex:1;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.ez-livedot::after{animation:none}}

/* ─── ⑰ صفحات الإنجازات ─────────────────────────────────────────── */
/* صفّ ترتيب */
.ez-rank{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s5);
  text-decoration:none;color:inherit;transition:var(--t)}
.ez-rank + .ez-rank{border-top:1px solid var(--n-100)}
a.ez-rank:hover{background:var(--n-50)}
.ez-rank.is-me{background:var(--em-50)}
.ez-rank.is-me:hover{background:var(--em-100)}
.ez-rank-n{flex:0 0 auto;min-width:32px;height:32px;border-radius:var(--r-sm);
  display:grid;place-items:center;font-size:13px;font-weight:600;
  background:var(--n-100);color:var(--n-600);font-variant-numeric:tabular-nums}
.ez-rank-n i{font-size:17px}
.ez-rank-n.m-g{background:var(--gd-50);color:var(--gd-fg)}
.ez-rank-n.m-s{background:var(--n-100);color:var(--n-700)}
.ez-rank-n.m-b{background:var(--warn-50);color:var(--warn-fg)}
.ez-rank-av{flex:0 0 auto;width:36px;height:36px;border-radius:var(--r-pill);
  display:grid;place-items:center;font-size:14px;font-weight:600;
  background:var(--em-600);color:#fff}
.ez-rank-av.tm{border-radius:var(--r-sm)}
.ez-rank-b{flex:1;min-width:0}
.ez-rank-t{display:block;font-size:13px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-rank-s{display:block;font-size:11.5px;color:var(--n-500);margin-top:2px}
.ez-rank-p{flex:0 0 auto;font-size:15px;font-weight:600;color:var(--em-fg);
  font-variant-numeric:tabular-nums;text-align:center;line-height:1.2}
.ez-rank-p small{display:block;font-size:10.5px;font-weight:400;color:var(--n-500)}
.ez-rank-m{flex:0 0 auto;min-width:34px;font-size:11.5px;color:var(--n-400);
  display:inline-flex;align-items:center;gap:2px;justify-content:center}
.ez-rank-m.up{color:var(--em-fg)} .ez-rank-m.dn{color:var(--dang-fg)}

/* مركزك أنت */
.ez-mystand{display:flex;align-items:center;gap:var(--s5);margin-top:var(--s5);
  padding:var(--s5) var(--s6);border-radius:var(--r-lg);
  background:linear-gradient(120deg,var(--em-50),var(--white) 62%);
  border:1px solid var(--em-100);box-shadow:var(--e2);flex-wrap:wrap}
.ez-mystand-n{flex:0 0 auto;width:56px;height:56px;border-radius:var(--r-md);
  display:grid;place-items:center;font-size:24px;font-weight:600;
  background:var(--em-600);color:#fff;font-variant-numeric:tabular-nums}
.ez-mystand-b{flex:1;min-width:200px}
.ez-mystand-t{font-size:15px;font-weight:600;color:var(--n-900)}
.ez-mystand-s{font-size:12px;color:var(--n-600);margin:4px 0 var(--s3)}

/* ثلاث إحصاءات */
.ez-stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:var(--s4);
  background:var(--n-200);border:1px solid var(--n-200);border-radius:var(--r-lg);overflow:hidden}
.ez-stat{background:var(--white);padding:var(--s5) var(--s3);text-align:center}
.ez-stat i{display:block;font-size:19px;color:var(--n-400);margin-bottom:var(--s2)}
.ez-stat b{display:block;font-size:21px;font-weight:600;letter-spacing:-.4px;color:var(--n-900);
  font-variant-numeric:tabular-nums}
.ez-stat small{display:block;font-size:11px;color:var(--n-500);margin-top:4px}

/* عنوان قسم */
.ez-sec{display:flex;align-items:center;gap:var(--s3);margin:var(--s6) 0 var(--s3);flex-wrap:wrap}
.ez-sec h2{margin:0;font-size:13px;font-weight:600;color:var(--n-800);
  display:flex;align-items:center;gap:7px;white-space:nowrap}
.ez-sec h2 i{font-size:16px;color:var(--gd-fg)}
.ez-sec .rule{flex:1;height:1px;background:var(--n-200);min-width:20px}
.ez-sec .cnt{font-size:11.5px;color:var(--n-600);white-space:nowrap}

/* الشارات */
.ez-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.ez-badge{background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  padding:var(--s5) var(--s4);text-align:center;box-shadow:var(--e1);
  display:flex;flex-direction:column;align-items:center;gap:6px;transition:var(--t)}
.ez-badge:hover{border-color:var(--n-300);box-shadow:var(--e2)}
.ez-badge-ic{width:52px;height:52px;border-radius:var(--r-pill);display:grid;place-items:center;
  font-size:24px;background:var(--n-100);color:var(--n-400)}
.ez-badge.earned{border-color:var(--gd-300);background:linear-gradient(160deg,var(--gd-50),var(--white))}
.ez-badge.earned .ez-badge-ic{background:var(--gd-500);color:#fff;box-shadow:var(--e2)}
.ez-badge-t{font-size:12.5px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-badge:not(.earned) .ez-badge-t{color:var(--n-600)}
.ez-badge-s{font-size:11px;color:var(--n-500);line-height:1.5}
.ez-badge .ez-bar-p{width:100%;margin-top:4px}
.ez-badge-p{font-size:10.5px;color:var(--n-600);font-variant-numeric:tabular-nums}

/* بطاقة المستوى */
.ez-lvl{display:flex;align-items:center;gap:var(--s5);margin-top:var(--s5);
  padding:var(--s5) var(--s6);background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);box-shadow:var(--e1);flex-wrap:wrap}
.ez-lvl-ring{position:relative;display:inline-block;flex:0 0 auto;line-height:0}
.ez-lvl-ring svg{display:block;width:76px;height:76px;transform:rotate(-90deg)}
.ez-lvl-ring .trk{fill:none;stroke:var(--n-100);stroke-width:7}
.ez-lvl-ring .val{fill:none;stroke:var(--gd-500);stroke-width:7;stroke-linecap:round;
  stroke-dasharray:var(--c);stroke-dashoffset:var(--c);
  transition:stroke-dashoffset 1.2s cubic-bezier(.16,.84,.34,1)}
.ez-lvl-ico{position:absolute;inset:0;display:grid;place-items:center;line-height:1;
  font-size:15px;font-weight:600;color:var(--n-900)}
.ez-lvl-b{flex:1;min-width:200px}
.ez-lvl-t{font-size:15px;font-weight:600;color:var(--n-900)}
.ez-lvl-s{font-size:12px;color:var(--n-600);margin-top:4px}

/* متوسّط التقييم */
.ez-avg{display:flex;align-items:center;gap:var(--s5);margin-top:var(--s5);
  padding:var(--s5) var(--s6);background:linear-gradient(120deg,var(--gd-50),var(--white) 62%);
  border:1px solid var(--gd-300);border-radius:var(--r-lg);box-shadow:var(--e1);flex-wrap:wrap}
.ez-avg-n{flex:0 0 auto;font-size:38px;font-weight:600;letter-spacing:-1px;
  color:var(--gd-fg);line-height:1;font-variant-numeric:tabular-nums}
.ez-avg-b{flex:1;min-width:180px}
.ez-avg-stars{display:flex;gap:3px;font-size:19px;color:var(--gd-500)}
.ez-avg-stars .ph-star{color:var(--n-300)}
.ez-avg-s{font-size:12px;color:var(--n-600);margin-top:6px}
.ez-trend.up{color:var(--em-fg)} .ez-trend.dn{color:var(--dang-fg)}

/* استطلاع */
.ez-poll{background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  padding:var(--s6);box-shadow:var(--e1)}
.ez-poll-q{font-size:15px;font-weight:600;color:var(--n-900);margin-bottom:var(--s4);line-height:1.6}

@media (max-width:900px){
  .ez-badges{grid-template-columns:repeat(3,1fr)}
  .ez-rank-m{display:none}
}
@media (max-width:560px){
  .ez-badges{grid-template-columns:repeat(2,1fr)}
  .ez-stats3{grid-template-columns:1fr}
  .ez-rank{gap:var(--s2);padding:var(--s3)}
  .ez-rank-av{display:none}
  .ez-avg-n{font-size:30px}
}


/* ─── ⑱ رحلة المستويات وأقسامها ─────────────────────────────────
   ستّة مستويات لكلٍّ لونه وأيقونته وعتبة نقاطه من قاعدة البيانات.
   اللون يُمرَّر عبر data-c ويُطبَّق في JS — فلا نُثبّت ألواناً في CSS. */
.ez-journey{position:relative;display:grid;grid-template-columns:repeat(6,1fr);
  gap:var(--s2);margin-top:var(--s5);padding:var(--s6) var(--s4) var(--s5);
  background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  box-shadow:var(--e1)}
.ez-journey-line{position:absolute;top:calc(var(--s6) + 26px);height:3px;border-radius:3px;
  background:var(--n-200);inset-inline:calc(100% / 12);z-index:0}
.ez-journey-fill{position:absolute;inset-block:0;inset-inline-start:0;width:0;border-radius:3px;
  background:linear-gradient(to left,var(--em-600),var(--em-400));
  transition:width 1.1s cubic-bezier(.16,.84,.34,1)}
.ez-jn{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  gap:5px;text-align:center;text-decoration:none;color:inherit;min-width:0}
.ez-jn-ic{width:52px;height:52px;flex:0 0 auto;border-radius:var(--r-pill);
  display:grid;place-items:center;font-size:23px;
  background:var(--white);border:3px solid var(--n-200);color:var(--n-400);
  transition:var(--t)}
.ez-jn:hover .ez-jn-ic{transform:translateY(-2px)}
.ez-jn-t{font-size:12.5px;font-weight:600;color:var(--n-800);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
.ez-jn-s{font-size:10.5px;color:var(--n-500);display:block}
.ez-jn.is-locked .ez-jn-t{color:var(--n-600)}
.ez-jn.is-locked .ez-jn-ic{opacity:.62}
.ez-jn.is-now .ez-jn-ic{box-shadow:0 0 0 5px var(--gd-50)}
.ez-jn.is-now .ez-jn-s{color:var(--gd-fg);font-weight:600}

/* قسم مستوى */
.ez-lvlsec{margin-top:var(--s6);background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1);scroll-margin-top:80px}
.ez-lvlsec.is-now{border-color:var(--gd-400);box-shadow:var(--e2)}
.ez-lvlsec.is-locked{opacity:.78}
.ez-lvlsec-h{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);
  border-bottom:1px solid var(--n-100);background:var(--n-50);flex-wrap:wrap}
.ez-lvlsec.is-now .ez-lvlsec-h{background:var(--gd-50)}
.ez-lvlsec-ic{width:42px;height:42px;flex:0 0 auto;border-radius:var(--r-md);
  display:grid;place-items:center;font-size:21px;color:#fff;background:var(--n-400)}
.ez-lvlsec-b{min-width:0}
.ez-lvlsec-t{display:block;font-size:15px;font-weight:600;color:var(--n-900);line-height:1.4}
.ez-lvlsec-s{display:block;font-size:11.5px;color:var(--n-500);margin-top:2px}
.ez-lvlsec-p{margin-inline-start:auto;min-width:140px;flex:0 0 auto}
.ez-lvlsec-c{display:block;font-size:11px;color:var(--n-600);margin-top:5px;text-align:end}
.ez-lvlsec .ez-badges{padding:var(--s4);grid-template-columns:repeat(5,1fr)}
.ez-lvlsec-empty{padding:var(--s8) var(--s4);text-align:center;color:var(--n-500);font-size:12.5px}
.ez-lvlsec-empty i{display:block;font-size:26px;color:var(--n-300);margin-bottom:var(--s2)}

/* الشارة المقفلة بمستوى لم يُفتح */
.ez-badge.locked{background:var(--n-50)}
.ez-badge.locked .ez-badge-ic{background:var(--n-100);color:var(--n-300)}
.ez-badge.locked .ez-badge-t{color:var(--n-500)}

/* بطاقة المستوى التالي */
.ez-nextlvl{display:flex;align-items:center;gap:var(--s5);margin-top:var(--s4);
  padding:var(--s5) var(--s6);background:linear-gradient(120deg,var(--gd-50),var(--white) 62%);
  border:1px solid var(--gd-300);border-radius:var(--r-lg);box-shadow:var(--e1);flex-wrap:wrap}

@media (max-width:1100px){.ez-lvlsec .ez-badges{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){
  .ez-journey{grid-template-columns:repeat(3,1fr);row-gap:var(--s5)}
  .ez-journey-line{display:none}
  .ez-lvlsec .ez-badges{grid-template-columns:repeat(3,1fr)}
  .ez-lvlsec-p{margin-inline-start:0;width:100%}
  .ez-lvlsec-c{text-align:start}
}
@media (max-width:560px){
  .ez-journey{grid-template-columns:repeat(2,1fr)}
  .ez-lvlsec .ez-badges{grid-template-columns:repeat(2,1fr)}
}

/* ─── ⑳ الصفحات الشخصية ─────────────────────────────────────────── */
.ez-stats3.s4{grid-template-columns:repeat(4,1fr)}
.ez-grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:var(--s4)}

/* لوحة */
.ez-panel{background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1);
  display:flex;flex-direction:column}
.ez-panel-h{display:flex;align-items:center;gap:var(--s2);
  padding:var(--s4) var(--s5);background:var(--n-50);
  border-bottom:1px solid var(--n-100);
  font-size:13px;font-weight:600;color:var(--n-800)}
.ez-panel-h i{font-size:17px;color:var(--gd-fg)}
.ez-panel-b{padding:var(--s5);flex:1;display:flex;flex-direction:column;gap:var(--s3)}

/* سلسلة */
.ez-streak{display:flex;align-items:center;gap:var(--s3)}
.ez-streak + .ez-streak{padding-top:var(--s3);border-top:1px solid var(--n-100)}
.ez-streak-ic{width:38px;height:38px;flex:0 0 auto;border-radius:var(--r-md);
  display:grid;place-items:center;font-size:18px;
  background:var(--em-50);color:var(--em-fg)}
.ez-streak-ic.gd{background:var(--gd-50);color:var(--gd-fg)}
.ez-streak-b{flex:1;min-width:0}
.ez-streak-t{display:block;font-size:13px;font-weight:600;color:var(--n-900)}
.ez-streak-s{display:block;font-size:11.5px;color:var(--n-500);margin-top:2px}
.ez-streak-n{flex:0 0 auto;font-size:20px;font-weight:600;color:var(--em-fg);
  font-variant-numeric:tabular-nums}

/* أيام الأسبوع */
.ez-week{display:flex;gap:4px;flex:0 0 auto}
.ez-week i{width:14px;height:14px;border-radius:4px;background:var(--n-200);
  display:inline-block;font-style:normal}
.ez-week i.on{background:var(--em-600)}

/* الورد */
.ez-read{display:block}
.ez-read-t{display:block;font-size:13.5px;font-weight:600;color:var(--n-900)}
.ez-read-s{display:block;font-size:11.5px;color:var(--n-500);margin:3px 0 var(--s3)}

/* رسم دائري — تقسيم مصادر النقاط */
.ez-donut{position:relative;display:block;width:150px;margin:0 auto var(--s3);line-height:0}
.ez-donut svg{display:block;width:150px;height:150px;transform:rotate(-90deg)}
.dn-trk{fill:none;stroke:var(--n-100);stroke-width:14}
.dn-seg{fill:none;stroke-width:14;stroke-linecap:butt;
  stroke-dasharray:0 999;transition:stroke-dasharray 1s cubic-bezier(.16,.84,.34,1)}
.dn-seg.s1{stroke:var(--em-600)} .dn-seg.s2{stroke:var(--info)}
.dn-seg.s3{stroke:var(--gd-500)} .dn-seg.s4{stroke:var(--plum)}
.ez-donut-c{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;line-height:1.2}
.ez-donut-c b{font-size:22px;font-weight:600;color:var(--n-900);
  font-variant-numeric:tabular-nums}
.ez-donut-c small{font-size:11px;color:var(--n-500)}

/* مفتاح الرسم */
.ez-legend{list-style:none;margin:0;padding:0;display:flex;
  flex-direction:column;gap:7px}
.ez-legend li{display:flex;align-items:center;gap:var(--s2);
  font-size:12px;color:var(--n-700)}
.ez-legend .k{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.ez-legend .k.s1{background:var(--em-600)} .ez-legend .k.s2{background:var(--info)}
.ez-legend .k.s3{background:var(--gd-500)} .ez-legend .k.s4{background:var(--plum)}
.ez-legend b{margin-inline-start:auto;font-weight:600;color:var(--n-900);
  font-variant-numeric:tabular-nums}
.ez-legend small{font-size:11px;color:var(--n-500);min-width:32px;text-align:end}

/* أعمدة */
.ez-bars{display:flex;align-items:flex-end;gap:var(--s2);height:170px;flex:1}
.ez-col{flex:1;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-end;gap:6px;height:100%;min-width:0}
.ez-col .v{width:100%;max-width:38px;height:0;border-radius:6px 6px 0 0;
  background:var(--em-100);
  transition:height .9s cubic-bezier(.16,.84,.34,1)}
.ez-col.on .v{background:linear-gradient(to top,var(--em-600),var(--em-400))}
.ez-col small{font-size:10.5px;color:var(--n-600);white-space:nowrap}
.ez-col.on small{color:var(--em-fg);font-weight:600}

/* رابط الدعوة */
.ez-invite{margin-top:var(--s5);padding:var(--s5) var(--s6);
  background:linear-gradient(120deg,var(--em-50),var(--white) 62%);
  border:1px solid var(--em-100);border-radius:var(--r-lg);box-shadow:var(--e1)}
.ez-invite-t{display:flex;align-items:center;gap:var(--s2);
  font-size:13px;font-weight:600;color:var(--n-800);margin-bottom:var(--s3)}
.ez-invite-t i{font-size:17px;color:var(--em-fg)}
.ez-invite-row{display:flex;gap:var(--s2);flex-wrap:wrap}
.ez-invite-in{flex:1;min-width:200px;height:40px;padding:0 var(--s4);
  border:1px solid var(--n-200);border-radius:var(--r-md);background:var(--white);
  font-family:inherit;font-size:12.5px;color:var(--n-800);direction:ltr;text-align:left}
.ez-invite-in:focus{outline:none;border-color:var(--em-600);
  box-shadow:0 0 0 3px rgba(12,100,64,.12)}
.ez-invite-share{display:flex;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap}
.ez-share{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;
  border:1px solid var(--n-200);border-radius:var(--r-pill);background:var(--white);
  color:var(--n-700);font-family:inherit;font-size:12px;cursor:pointer;
  text-decoration:none;transition:var(--t)}
.ez-share:hover{border-color:var(--em-600);color:var(--em-fg)}
.ez-share i{font-size:15px}

/* بطاقة تحدٍّ */
.ez-chal{background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--e1);
  display:flex;flex-direction:column;gap:var(--s2);transition:var(--t)}
.ez-chal:hover{border-color:var(--n-300);box-shadow:var(--e2)}
.ez-chal.done{border-color:var(--em-300);
  background:linear-gradient(160deg,var(--em-50),var(--white))}
.ez-chal-ic{width:42px;height:42px;border-radius:var(--r-md);
  display:grid;place-items:center;font-size:20px;
  background:var(--n-100);color:var(--n-500);margin-bottom:var(--s1)}
.ez-chal.done .ez-chal-ic{background:var(--em-600);color:#fff}
.ez-chal-ic.gd{background:var(--gd-50);color:var(--gd-fg)}
.ez-chal-ic.bl{background:var(--info-50);color:var(--info-fg)}
.ez-chal-ic.pl{background:var(--plum-50);color:var(--plum-fg)}
.ez-chal-t{font-size:14px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-chal-s{font-size:11.5px;color:var(--n-500);line-height:1.6;flex:1}
.ez-chal-f{display:flex;align-items:center;justify-content:space-between;
  gap:var(--s2);font-size:11.5px;color:var(--n-600);margin-top:2px}

@media (max-width:900px){
  .ez-grid2{grid-template-columns:1fr}
  .ez-stats3.s4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .ez-bars{height:130px}
  .ez-invite-row .ez-btn{width:100%}
}

/* حقل البحث: الإدخال والزرّ كانا 15px و26px داخل حاوٍ 34px — منطقة
   اللمس الفعلية أصغر من الحدّ. نجعلهما يملآن الحاوي.

   v28-fix: كان الزرّ يأخذ `align-self:stretch` **بلا** `height:auto`،
   بينما `.ez-go` يفرض `height:34px`. والتمدّد مع ارتفاع محدَّد لا يمدّ
   شيئاً — بل يُثبّت العنصر عند حافّة البداية. النتيجة في ترويسة
   الصفحة (حقل 42px): الزرّ يلتصق بأعلى الحبّة ويترك 8px فراغاً تحته،
   فتبدو الحبّة مائلة. الإدخال بجانبه كان سليماً لأنّ قاعدته أضافت
   `height:auto`. نُكمل الناقص، ونُعطي الحقل حشوة رأسية 4px كي يبقى
   للزرّ هامش متساوٍ أعلى وأسفل بدل أن يلامس الحافّتين. */
.ez-field{padding-block:4px}
.ez-field input[type="search"]{align-self:stretch;height:auto;min-height:34px}
.ez-field .ez-go{align-self:stretch;height:auto;min-height:34px;padding-block:0}
/* النسخة المضغوطة داخل شريط الأدوات: الحقل 34px أصلاً — بلا حشوة
   رأسية كي يملأ الزرّ ارتفاعه كاملاً (هدف اللمس الأدنى). */
.ez-bar .ez-field{padding-block:0}

/* ─── ㉑ المهامّ ────────────────────────────────────────────────── */
.ez-tasks{background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1);margin-top:var(--s4)}
.ez-task{display:flex;align-items:flex-start;gap:var(--s3);
  padding:var(--s4) var(--s5);transition:var(--t);
  border-inline-start:3px solid transparent}
.ez-task + .ez-task{border-top:1px solid var(--n-100)}
.ez-task:hover{background:var(--n-50)}
.ez-task.is-late{border-inline-start-color:var(--dang);background:var(--dang-50)}
.ez-task.is-late:hover{background:#FBE9E7}
.ez-task.is-done{opacity:.72}
.ez-task.is-done .ez-task-t{text-decoration:line-through;
  text-decoration-color:var(--n-400);color:var(--n-600)}
.ez-task-ck{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;
  font-size:19px;color:var(--n-400);margin-top:1px}
.ez-task.is-done .ez-task-ck{color:var(--em-600)}
.ez-task.is-late .ez-task-ck{color:var(--dang-fg)}
.ez-task-b{flex:1;min-width:0}
.ez-task-t{display:block;font-size:13.5px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-task-s{display:block;font-size:12px;color:var(--n-600);margin-top:3px;line-height:1.6}
.ez-task-b .ez-meta{margin-top:6px}
.ez-task-e{flex:0 0 auto;display:flex;flex-direction:column;
  align-items:flex-end;gap:5px}
.ez-late{color:var(--dang-fg);font-weight:600}

/* ─── ㉒ النموذج ────────────────────────────────────────────────── */
.ez-form{background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);box-shadow:var(--e1);margin-top:var(--s5);overflow:hidden}
.ez-form-b{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s5)}
.ez-form-f{display:flex;gap:var(--s2);padding:var(--s4) var(--s6);
  background:var(--n-50);border-top:1px solid var(--n-100);flex-wrap:wrap}

.ez-fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.ez-fld > label{font-size:12.5px;font-weight:600;color:var(--n-800)}
.ez-fld .req{color:var(--dang-fg)}
/* ═══ v57: قائمة سماحٍ → قائمة منع ═══
   كانت القاعدة تعدّد الأنواع: `text` و`date` و`select`. فكلّ نوعٍ آخر
   يخرج بلا تنسيق — **وقِيس: `password` بارتفاع 19px و`file` بـ21**،
   بينما المنسَّق 41. أي أنّ حقول كلمة المرور والبريد والهاتف والرابط
   والرقم كانت عارية في المشروع كلّه.
   
   والقائمة الموجبة تنسى ما يأتي بعدها؛ والسالبة تشمله. فنستثني ما
   له شكله الخاصّ (خانة · اختيار · ملفّ · مخفيّ) ونشمل الباقي. */
.ez-fld input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
.ez-fld textarea,.ez-fld select{
  width:100%;border:1px solid var(--n-200);border-radius:var(--r-md);
  padding:10px var(--s4);font-family:inherit;font-size:13px;color:var(--n-900);
  background:var(--white);transition:var(--t)}
.ez-fld textarea{resize:vertical;line-height:1.7}
/* حقل الملفّ لا يُنسَّق كالبقية — الزرّ الداخليّ من المتصفّح. لكنّ
   الإطار والارتفاع لنا، وبهما يبدو حقلاً لا نصّاً عائماً. */
.ez-fld input[type="file"]{width:100%;border:1px dashed var(--n-300);
  border-radius:var(--r-md);padding:9px var(--s3);font-family:inherit;
  font-size:12.5px;color:var(--n-700);background:var(--n-50);
  transition:var(--t);min-height:44px}
.ez-fld input[type="file"]:hover{border-color:var(--em-300)}
.ez-fld input[type="file"]::file-selector-button{font-family:inherit;
  font-size:12px;font-weight:600;padding:6px 12px;margin-inline-end:10px;
  border:0;border-radius:8px;background:var(--em-50);color:var(--em-700);
  cursor:pointer}
html.dark-mode .ez-fld input[type="file"]{background:rgba(255,255,255,.03)}
.ez-fld input:focus,.ez-fld textarea:focus,.ez-fld select:focus{
  outline:none;border-color:var(--em-600);box-shadow:0 0 0 3px rgba(12,100,64,.12)}
.ez-fld input::placeholder,.ez-fld textarea::placeholder{color:var(--n-500)}
.ez-fld-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}

/* حقل بأيقونة */
.ez-sel{position:relative;display:block}
.ez-sel > i{position:absolute;inset-inline-start:var(--s3);top:50%;
  transform:translateY(-50%);font-size:16px;color:var(--n-500);
  pointer-events:none;z-index:1}
.ez-sel select,.ez-sel input{padding-inline-start:38px}

/* أزرار الأولويّة */
.ez-radios{display:flex;gap:6px;flex-wrap:wrap}
.ez-radio{position:relative;display:inline-flex}
.ez-radio input{position:absolute;opacity:0;width:0;height:0}
.ez-radio span{display:inline-flex;align-items:center;padding:9px 16px;
  border:1px solid var(--n-200);border-radius:var(--r-pill);
  background:var(--white);color:var(--n-700);font-size:12.5px;
  cursor:pointer;transition:var(--t)}
.ez-radio span:hover{border-color:var(--n-300)}
.ez-radio input:checked + span{background:var(--em-600);
  border-color:var(--em-600);color:#fff}
.ez-radio input:focus-visible + span{outline:2px solid var(--gd-500);outline-offset:2px}

/* حقل مُرشِّح في الشريط */
.ez-field.sel{padding:0}
.ez-field.sel select{border:0;background:transparent;font-family:inherit;
  font-size:12.5px;color:var(--n-800);padding:0 var(--s2) 0 0;
  height:34px;cursor:pointer}
.ez-field.sel select:focus{outline:none}

@media (max-width:760px){
  .ez-fld-row{grid-template-columns:1fr}
  .ez-task{flex-wrap:wrap}
  .ez-task-e{flex-direction:row;width:100%;justify-content:flex-start;
    padding-inline-start:38px}
  .ez-form-f .ez-btn{flex:1;justify-content:center}
}

/* أهداف اللمس: ez-btn-sm كان 31px، وinput[type=number] لم يشمله
   محدّد الحقول (كان يستهدف text/date/select فقط) فبقي 21px. */
.ez-btn-sm{min-height:34px}
.ez-fld input[type="number"],.ez-fld input[type="time"],
.ez-fld input[type="email"],.ez-fld input[type="tel"],
.ez-fld input[type="url"],.ez-fld input[type="search"]{
  width:100%;border:1px solid var(--n-200);border-radius:var(--r-md);
  padding:10px var(--s4);font-family:inherit;font-size:13px;
  color:var(--n-900);background:var(--white);transition:var(--t)}
.ez-sel input[type="number"]{padding-inline-start:38px}

/* ─── ㉓ الفعاليّات ─────────────────────────────────────────────── */
.ez-evs{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s4)}
.ez-ev{display:flex;gap:var(--s4);padding:var(--s4) var(--s5);
  background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  box-shadow:var(--e1);transition:var(--t)}
.ez-ev:hover{border-color:var(--n-300);box-shadow:var(--e2)}
.ez-ev.is-past{opacity:.62}
.ez-ev-date{flex:0 0 auto;width:58px;text-align:center;
  padding:var(--s2) 0;border-radius:var(--r-md);
  background:var(--em-50);color:var(--em-fg);line-height:1.2}
.ez-ev.is-past .ez-ev-date{background:var(--n-100);color:var(--n-600)}
.ez-ev-date b{display:block;font-size:21px;font-weight:600;
  font-variant-numeric:tabular-nums}
.ez-ev-date span{display:block;font-size:11px}
.ez-ev-b{flex:1;min-width:0}
.ez-ev-t{margin:0;font-size:14.5px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-ev-s{margin:4px 0 0;font-size:12px;color:var(--n-600);line-height:1.6}
.ez-ev-b .ez-meta{margin-top:8px}
.ez-ev-seats{margin-top:var(--s3);max-width:300px}
.ez-ev-seats-x{display:block;font-size:11px;color:var(--n-500);margin-top:4px}
.ez-ev-e{flex:0 0 auto;display:flex;flex-direction:column;
  align-items:flex-end;gap:var(--s2);justify-content:center}
.ez-ev-done{display:inline-flex;align-items:center;gap:5px;
  font-size:12px;font-weight:600;color:var(--em-fg)}
.ez-ev-done i{font-size:15px}

/* ─── ㉔ رمز العضو ──────────────────────────────────────────────── */
.ez-qr-panel .ez-panel-b{align-items:center;text-align:center}
.ez-qr{padding:var(--s4);background:#fff;border-radius:var(--r-lg);
  border:1px solid var(--n-200);display:inline-block;line-height:0}
.ez-qr-svg{display:block;width:180px;height:180px}
.ez-qr-svg path{fill:#06301E}
.ez-qr-code{margin-top:var(--s3);font-size:21px;font-weight:600;
  letter-spacing:2px;color:var(--n-900);font-variant-numeric:tabular-nums}
.ez-qr-name{font-size:12.5px;color:var(--n-600);margin-top:2px}
.ez-qr-hint{display:flex;align-items:flex-start;gap:7px;margin:var(--s4) 0 0;
  padding:var(--s3) var(--s4);border-radius:var(--r-md);
  background:var(--em-50);color:var(--em-fg);
  font-size:12px;line-height:1.7;text-align:start}
.ez-qr-hint i{font-size:16px;flex:0 0 auto;margin-top:1px}
.ez-qr-acts{display:flex;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;
  justify-content:center}

/* ─── ㉕ المسح ─────────────────────────────────────────────────── */
.ez-scan{display:flex;flex-direction:column;align-items:center;gap:var(--s3);
  padding:var(--s6) var(--s4);border:2px dashed var(--n-300);
  border-radius:var(--r-lg);background:var(--n-50);text-align:center}
.ez-scan > i{font-size:38px;color:var(--n-400)}
.ez-scan-t{font-size:12.5px;color:var(--n-600)}
.ez-or{display:flex;align-items:center;gap:var(--s3);
  margin:var(--s4) 0;color:var(--n-500);font-size:11.5px}
.ez-or::before,.ez-or::after{content:'';flex:1;height:1px;background:var(--n-200)}

@media (max-width:760px){
  .ez-ev{flex-wrap:wrap;gap:var(--s3)}
  .ez-ev-e{flex-direction:row;width:100%;justify-content:flex-start;
    padding-inline-start:74px}
  .ez-ev-seats{max-width:none}
  .ez-qr-svg{width:150px;height:150px}
}

/* ─── ㉖ الطباعة — رمز العضو وحده ──────────────────────────────── */
@media print{
  .pv,.ztop,.zdrawer,.ez-crumb,.ez-hero,.ez-sec,.ez-list,
  .ez-scan,.ez-or,.ez-qr-acts,.ez-qr-hint,form{display:none!important}
  .ez-grid2{display:block}
  .ez-panel{border:0;box-shadow:none}
  .ez-panel-h{display:none}
  .ez-qr{border:0;padding:0}
  .ez-qr-svg{width:260px;height:260px}
  .ez-qr-code{font-size:28px;margin-top:16px}
}

/* ─── ㉗ عناصر الفعاليّات الإضافية ──────────────────────────────── */

/* رمز الحضور في قائمة الإدارة — يطبعه المشرف على لافتة الباب */
.ez-evcode{display:inline-flex;align-items:center;gap:var(--s2);
  margin-top:var(--s3);padding:5px var(--s3);border-radius:var(--r-pill);
  background:var(--n-50);border:1px solid var(--n-200)}
.ez-evcode > i{font-size:15px;color:var(--n-500)}
.ez-evcode code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11.5px;color:var(--n-800);letter-spacing:.4px}
/* 26px كان دون حدّ اللمس. نرفعه إلى 32 ونُبقيه أصغر بصرياً بالحشو. */
.ez-btn-xs{min-height:32px;padding:0 11px;font-size:11px}

/* أسباب الانسحاب */
.ez-wd{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:var(--s3)}
.ez-wd-t{display:inline-flex;align-items:center;gap:5px;
  font-size:11.5px;font-weight:600;color:var(--n-600)}
.ez-wd-t i{font-size:14px;color:var(--dang-fg)}

/* أقسام مطويّة في النماذج الطويلة */
.ez-more{margin-top:var(--s2);border:1px solid var(--n-200);
  border-radius:var(--r-md);overflow:hidden;background:var(--n-50)}
.ez-more > summary{display:flex;align-items:center;gap:var(--s2);
  padding:var(--s3) var(--s4);cursor:pointer;
  font-size:12.5px;font-weight:600;color:var(--n-800);list-style:none}
.ez-more > summary::-webkit-details-marker{display:none}
.ez-more > summary::after{content:'\203A';margin-inline-start:auto;
  font-size:18px;color:var(--n-500);transition:transform var(--t)}
.ez-more[open] > summary::after{transform:rotate(90deg)}
.ez-more > summary:hover{background:var(--n-100)}
.ez-more-b{padding:var(--s4);background:var(--white);
  border-top:1px solid var(--n-200);
  display:flex;flex-direction:column;gap:var(--s4)}
.ez-opt{font-weight:400;font-size:11px;color:var(--n-500)}

/* نافذة حوارية */
.ez-modal{position:fixed;inset:0;z-index:140;display:flex;
  align-items:center;justify-content:center;padding:var(--s4);
  background:rgba(6,48,30,.45);backdrop-filter:blur(3px)}
.ez-modal[hidden]{display:none}
.ez-modal-box{background:var(--white);border-radius:var(--r-xl);
  box-shadow:var(--e-hero);width:100%;max-width:460px;
  max-height:88vh;overflow:auto}
.ez-modal-h{display:flex;align-items:center;gap:var(--s3);
  padding:var(--s5) var(--s6);border-bottom:1px solid var(--n-100)}
.ez-modal-h b{font-size:15px;font-weight:600;color:var(--n-900)}
.ez-modal-x{margin-inline-start:auto;width:32px;height:32px;
  border:0;border-radius:var(--r-pill);background:transparent;
  color:var(--n-600);font-size:17px;cursor:pointer;
  display:grid;place-items:center;transition:var(--t)}
.ez-modal-x:hover{background:var(--n-100);color:var(--n-900)}
.ez-modal-b{padding:var(--s5) var(--s6);
  display:flex;flex-direction:column;gap:var(--s4)}
.ez-modal-t{margin:0;font-size:13px;color:var(--n-700);line-height:1.7}
.ez-modal-f{display:flex;gap:var(--s2);padding:var(--s4) var(--s6);
  background:var(--n-50);border-top:1px solid var(--n-100);flex-wrap:wrap}
.ez-btn-dg{background:var(--dang);border-color:var(--dang);color:#fff}
.ez-btn-dg:hover{background:#8F1F17;border-color:#8F1F17}

/* حقول إضافية */
.ez-fld input[type="datetime-local"],.ez-fld input[type="color"],
.ez-fld select[multiple]{
  width:100%;border:1px solid var(--n-200);border-radius:var(--r-md);
  padding:10px var(--s4);font-family:inherit;font-size:13px;
  color:var(--n-900);background:var(--white);transition:var(--t)}
.ez-fld input[type="color"]{padding:4px;height:42px;cursor:pointer}
.ez-fld select[multiple]{padding:var(--s2)}
.ez-sel input[type="datetime-local"],.ez-sel input[type="url"]{padding-inline-start:38px}

@media (max-width:560px){
  .ez-modal-f .ez-btn{flex:1;justify-content:center}
}

/* ─── ㉘ الدورات ────────────────────────────────────────────────── */
.ez-trs{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s4)}
.ez-tr{display:flex;gap:var(--s4);padding:var(--s4) var(--s5);
  background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  box-shadow:var(--e1);transition:var(--t)}
.ez-tr:hover{border-color:var(--n-300);box-shadow:var(--e2)}
.ez-tr.is-past{opacity:.6}
.ez-tr-date{flex:0 0 auto;width:58px;text-align:center;padding:var(--s2) 0;
  border-radius:var(--r-md);background:var(--info-50);color:var(--info-fg);line-height:1.2}
.ez-tr.is-past .ez-tr-date{background:var(--n-100);color:var(--n-600)}
.ez-tr-date b{display:block;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}
.ez-tr-date span{display:block;font-size:11px}
.ez-tr-b{flex:1;min-width:0}
.ez-tr-t{margin:0;font-size:14.5px;font-weight:600;color:var(--n-900);line-height:1.5}
.ez-tr-instr{display:flex;align-items:center;gap:5px;margin-top:4px;
  font-size:12px;font-weight:600;color:var(--em-fg)}
.ez-tr-instr i{font-size:14px}
.ez-tr-b .ez-meta{margin-top:8px}
.ez-tr-seats{margin-top:var(--s3);max-width:300px}
.ez-tr-seats-x{display:block;font-size:11px;color:var(--n-500);margin-top:4px}
.ez-tr-e{flex:0 0 auto;display:flex;flex-direction:column;
  align-items:flex-end;gap:var(--s2);justify-content:center}
.ez-tr-done{display:inline-flex;align-items:center;gap:5px;
  font-size:12px;font-weight:600;color:var(--em-fg)}
.ez-tr-done i{font-size:15px}

/* قسم الدورات السابقة — مطويّ */
.ez-past{margin-top:var(--s5);border:1px solid var(--n-200);
  border-radius:var(--r-lg);overflow:hidden;background:var(--n-50)}
.ez-past > summary{display:flex;align-items:center;gap:var(--s2);
  padding:var(--s4) var(--s5);cursor:pointer;list-style:none;
  font-size:13px;font-weight:600;color:var(--n-700)}
.ez-past > summary::-webkit-details-marker{display:none}
.ez-past > summary > i{font-size:17px;color:var(--n-500)}
.ez-past > summary::after{content:'\203A';margin-inline-start:auto;
  font-size:20px;color:var(--n-500);transition:transform var(--t)}
.ez-past[open] > summary::after{transform:rotate(90deg)}
.ez-past > summary:hover{background:var(--n-100)}
.ez-past-n{display:inline-grid;place-items:center;min-width:22px;height:22px;
  padding:0 7px;border-radius:var(--r-pill);
  background:var(--n-200);color:var(--n-700);
  font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.ez-past-b{padding:0 var(--s5) var(--s5);background:var(--white);
  border-top:1px solid var(--n-200)}
.ez-past-note{display:flex;align-items:flex-start;gap:7px;
  margin:var(--s4) 0 0;padding:var(--s3) var(--s4);
  border-radius:var(--r-md);background:var(--n-50);
  font-size:12px;color:var(--n-600);line-height:1.7}
.ez-past-note i{font-size:15px;flex:0 0 auto;margin-top:1px}
.ez-past-b .ez-trs{margin-top:var(--s3)}

@media (max-width:760px){
  .ez-tr{flex-wrap:wrap;gap:var(--s3)}
  .ez-tr-e{flex-direction:row;width:100%;justify-content:flex-start;
    padding-inline-start:74px}
  .ez-tr-seats{max-width:none}
}

/* ─── ㉙ الملفّ الشخصي ──────────────────────────────────────────── */
.ez-hero-profile .ez-hero-in{align-items:center;gap:var(--s5)}
.ez-avatar{flex:0 0 auto;width:76px;height:76px;border-radius:50%;
  display:grid;place-items:center;font-size:30px;font-weight:600;
  background:rgba(255,255,255,.16);color:#fff;
  border:2px solid rgba(255,255,255,.3)}
.ez-avatar.sm{width:56px;height:56px;font-size:22px;
  background:var(--em-50);color:var(--em-fg);border-color:var(--em-100)}
/* v29-fix: `.ez-avatar-img` مستعمَلة في profile.html وprofile_edit.html
   وكانت **غير معرَّفة** — فالصورة تُعرض بأبعادها الطبيعية وتملأ الصفحة.
   والحرف البديل (`.ez-avatar`) معرَّفٌ، فمن لا صورة له يراها سليمة
   ومن رفع صورةً يراها عملاقة. `object-fit:cover` يقتصّها من الوسط
   فلا تتشوّه مهما كانت نسبتها. */
.ez-avatar-img{flex:0 0 auto;width:76px;height:76px;border-radius:50%;
  object-fit:cover;display:block;
  border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.16)}
.ez-avatar-img.sm{width:56px;height:56px;border-color:var(--em-100)}
.ez-prof-id{flex:1;min-width:0}
.ez-prof-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--s3)}
.ez-pill.wh{background:rgba(255,255,255,.16);color:#fff;
  border-color:rgba(255,255,255,.24)}

.ez-dl{margin:0;display:flex;flex-direction:column;gap:var(--s3)}
.ez-dl > div{display:flex;align-items:baseline;gap:var(--s3)}
.ez-dl dt{flex:0 0 auto;min-width:104px;display:flex;align-items:center;gap:6px;
  font-size:12px;color:var(--n-600)}
.ez-dl dt i{font-size:14px;color:var(--n-500)}
.ez-dl dd{margin:0;font-size:13px;font-weight:600;color:var(--n-900);
  word-break:break-word}

.ez-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--s4);
  padding-top:var(--s4);border-top:1px solid var(--n-100)}
.ez-tag{display:inline-flex;padding:5px 12px;border-radius:var(--r-pill);
  background:var(--em-50);color:var(--em-fg);font-size:11.5px;font-weight:600}
.ez-bio{margin:0;font-size:13px;line-height:1.9;color:var(--n-700)}

/* رفع الصورة */
.ez-photo{display:flex;align-items:center;gap:var(--s4)}
.ez-photo-b{display:flex;flex-direction:column;gap:6px}

/* ─── ㉚ كلمة المرور ────────────────────────────────────────────── */
.ez-form-narrow{max-width:520px}
.ez-pw{position:relative;display:block}
.ez-pw > i{position:absolute;inset-inline-start:var(--s3);top:50%;
  transform:translateY(-50%);font-size:16px;color:var(--n-500);
  pointer-events:none;z-index:1}
.ez-pw input{width:100%;border:1px solid var(--n-200);border-radius:var(--r-md);
  padding:10px 44px 10px 38px;font-family:inherit;font-size:13px;
  color:var(--n-900);background:var(--white);transition:var(--t)}
.ez-pw input:focus{outline:none;border-color:var(--em-600);
  box-shadow:0 0 0 3px rgba(12,100,64,.12)}
.ez-pw-eye{position:absolute;inset-inline-end:5px;top:50%;
  transform:translateY(-50%);width:34px;height:34px;border:0;
  border-radius:var(--r-pill);background:transparent;color:var(--n-500);
  cursor:pointer;display:grid;place-items:center;font-size:16px;
  transition:var(--t)}
.ez-pw-eye:hover{background:var(--n-100);color:var(--n-800)}
.ez-pw-eye:focus-visible{outline:2px solid var(--em-600);outline-offset:1px}

.ez-strength{display:block;margin-top:8px}
.ez-strength-t{display:flex;gap:4px}
.ez-strength-t i{flex:1;height:4px;border-radius:2px;background:var(--n-200);
  transition:background var(--t)}
.ez-strength.s1 .ez-strength-t i:nth-child(1){background:var(--dang)}
.ez-strength.s2 .ez-strength-t i:nth-child(-n+2){background:#B8860B}
.ez-strength.s3 .ez-strength-t i:nth-child(-n+3){background:var(--gd-500)}
.ez-strength.s4 .ez-strength-t i{background:var(--em-600)}
.ez-strength-x{display:block;font-size:11.5px;margin-top:5px;color:var(--n-600)}
.ez-strength.s1 .ez-strength-x{color:var(--dang-fg)}
.ez-strength.s4 .ez-strength-x{color:var(--em-fg);font-weight:600}

.ez-rules{list-style:none;margin:var(--s3) 0 0;padding:0;
  display:flex;flex-direction:column;gap:5px}
.ez-rules li{display:flex;align-items:center;gap:7px;
  font-size:11.5px;color:var(--n-600);transition:var(--t)}
.ez-rules li i{font-size:14px;color:var(--n-400)}
.ez-rules li.ok{color:var(--em-fg)}
.ez-rules li.ok i{color:var(--em-600)}
.ez-hint.is-ok{color:var(--em-fg);font-weight:600}

.ez-note{display:flex;align-items:flex-start;gap:8px;margin:var(--s2) 0 0;
  padding:var(--s3) var(--s4);border-radius:var(--r-md);
  background:var(--info-50);color:var(--info-fg);
  font-size:12px;line-height:1.7}
.ez-note i{font-size:16px;flex:0 0 auto;margin-top:1px}

/* ─── ㉛ غرف النقاش ─────────────────────────────────────────────── */
.ez-rooms{background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1);
  margin-top:var(--s3)}
.ez-room{display:flex;align-items:center;gap:var(--s4);
  padding:var(--s4) var(--s5);text-decoration:none;transition:var(--t)}
.ez-room + .ez-room{border-top:1px solid var(--n-100)}
.ez-room:hover{background:var(--n-50)}
.ez-room-ic{flex:0 0 auto;width:44px;height:44px;border-radius:var(--r-md);
  display:grid;place-items:center;font-size:20px;color:#fff}
.ez-room-b{flex:1;min-width:0}
.ez-room-t{display:block;font-size:13.5px;font-weight:600;color:var(--n-900)}
.ez-room-s{display:block;font-size:12px;color:var(--n-600);margin-top:2px}
.ez-room-b .ez-meta{margin-top:6px}
.ez-room-e{flex:0 0 auto;display:grid;place-items:center;
  color:var(--n-400);font-size:16px}
.ez-room-n{display:inline-grid;place-items:center;min-width:22px;height:22px;
  padding:0 7px;border-radius:var(--r-pill);background:var(--em-600);
  color:#fff;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}

/* ─── ㉜ منتقي الأعضاء ──────────────────────────────────────────── */
.ez-picker{border:1px solid var(--n-200);border-radius:var(--r-md);
  overflow:hidden;background:var(--white)}
.ez-picker-h{display:flex;align-items:center;gap:var(--s3);
  padding:var(--s3);background:var(--n-50);border-bottom:1px solid var(--n-200)}
.ez-picker-h .ez-field{flex:1;margin:0}
.ez-picker-n{flex:0 0 auto;font-size:11.5px;color:var(--n-600);
  white-space:nowrap}
.ez-picker-n b{color:var(--em-fg)}
.ez-picker-b{max-height:260px;overflow-y:auto}
.ez-pick{display:flex;align-items:center;gap:var(--s3);
  padding:10px var(--s4);cursor:pointer;transition:var(--t)}
.ez-pick + .ez-pick{border-top:1px solid var(--n-100)}
.ez-pick:hover{background:var(--n-50)}
.ez-pick input{position:absolute;opacity:0;width:0;height:0}
.ez-pick-av{flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;background:var(--n-100);
  color:var(--n-700);font-size:13px;font-weight:600}
.ez-pick-b{flex:1;min-width:0;display:flex;flex-direction:column}
.ez-pick-b b{font-size:12.5px;font-weight:600;color:var(--n-900)}
.ez-pick-b small{font-size:11px;color:var(--n-600)}
.ez-pick > i{flex:0 0 auto;width:22px;height:22px;border-radius:50%;
  border:1.5px solid var(--n-300);display:grid;place-items:center;
  font-size:12px;color:transparent;transition:var(--t)}
.ez-pick input:checked ~ i{background:var(--em-600);border-color:var(--em-600);
  color:#fff}
.ez-pick input:checked ~ .ez-pick-av{background:var(--em-50);color:var(--em-fg)}
.ez-pick input:focus-visible ~ i{outline:2px solid var(--gd-500);outline-offset:2px}

/* منتقي الأيقونة واللون */
.ez-iconpick{display:flex;align-items:center;gap:var(--s2)}
.ez-iconpick-p{flex:0 0 auto;width:42px;height:42px;border-radius:var(--r-md);
  display:grid;place-items:center;font-size:19px;color:#fff}
.ez-iconpick select{flex:1;min-width:0;border:1px solid var(--n-200);
  border-radius:var(--r-md);padding:10px var(--s3);font-family:inherit;
  font-size:13px;background:var(--white);color:var(--n-900)}
.ez-iconpick input[type="color"]{flex:0 0 auto;width:46px;height:42px;
  padding:4px;border:1px solid var(--n-200);border-radius:var(--r-md);
  background:var(--white);cursor:pointer}

@media (max-width:760px){
  .ez-hero-profile .ez-hero-in{flex-direction:column;text-align:center}
  .ez-prof-badges{justify-content:center}
  .ez-dl > div{flex-direction:column;gap:2px}
  .ez-dl dt{min-width:0}
  .ez-room{gap:var(--s3)}
  .ez-photo{flex-direction:column;align-items:flex-start}
}

/* ─── ㉝ شريط اكتمال الملفّ ─────────────────────────────────────── */
.ez-complete{background:var(--white);border:1px solid var(--gd-300);
  border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--e1);
  margin-top:var(--s5)}
.ez-complete-h{display:flex;align-items:center;gap:var(--s3);
  margin-bottom:var(--s3);flex-wrap:wrap}
.ez-complete-h > i{font-size:20px;color:var(--gd-600)}
.ez-complete-h b{font-size:14px;font-weight:600;color:var(--n-900)}
.ez-complete-h .ez-btn{margin-inline-start:auto}
.ez-complete-m{display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin-top:var(--s3);font-size:11.5px;color:var(--n-600)}
.ez-complete-x{display:flex;align-items:flex-start;gap:7px;
  margin:var(--s3) 0 0;font-size:11.5px;color:var(--n-600);line-height:1.7}
.ez-complete-x i{font-size:14px;flex:0 0 auto;margin-top:1px}

/* ─── ㉞ خطوات سير العمل ────────────────────────────────────────── */
.ez-steps{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;
  margin-top:var(--s5)}
.ez-step{display:inline-flex;align-items:center;gap:7px;
  padding:8px 14px;border-radius:var(--r-pill);
  background:var(--white);border:1px solid var(--n-200);
  font-size:12px;color:var(--n-600)}
.ez-step b{display:grid;place-items:center;width:20px;height:20px;
  border-radius:50%;background:var(--n-200);color:var(--n-700);
  font-size:11px;font-weight:600}
.ez-step.on{background:var(--em-50);border-color:var(--em-100);
  color:var(--em-fg);font-weight:600}
.ez-step.on b{background:var(--em-600);color:#fff}
.ez-steps::after{content:'';flex:1}

/* ─── ㉟ مدى المشاركين ──────────────────────────────────────────── */
.ez-range{display:flex;align-items:flex-end;gap:var(--s3)}
.ez-range-f{flex:1;display:flex;align-items:center;gap:var(--s2);
  border:1px solid var(--n-200);border-radius:var(--r-md);
  padding:0 var(--s3);background:var(--white);transition:var(--t)}
.ez-range-f:focus-within{border-color:var(--em-600);
  box-shadow:0 0 0 3px rgba(12,100,64,.12)}
.ez-range-l{flex:0 0 auto;font-size:11.5px;color:var(--n-600)}
.ez-range input{flex:1;min-width:0;border:0;background:transparent;
  padding:10px 0;font-family:inherit;font-size:13px;color:var(--n-900)}
.ez-range input:focus{outline:none}
/* الشرطة زخرفية: نرفع لونها لتجاوز حدّ التباين، ونُخفيها عن القارئات
   لأنّ العلاقة بين الحقلين يشرحها «من» و«إلى» لا الرمز. */
.ez-range-d{color:var(--n-600);padding-bottom:10px}
.ez-hint.is-bad{color:var(--dang-fg);font-weight:600}

/* ─── ㊱ اقتراحاتي ──────────────────────────────────────────────── */
.ez-sugs{background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1);
  margin-top:var(--s4)}
.ez-sug{display:flex;align-items:flex-start;gap:var(--s4);
  padding:var(--s4) var(--s5);transition:var(--t)}
.ez-sug + .ez-sug{border-top:1px solid var(--n-100)}
.ez-sug:hover{background:var(--n-50)}
.ez-sug-ic{flex:0 0 auto;width:38px;height:38px;border-radius:var(--r-md);
  display:grid;place-items:center;font-size:18px}
.ez-sug-ic.em{background:var(--em-50);color:var(--em-fg)}
.ez-sug-ic.gd{background:var(--gd-50);color:var(--gd-fg)}
.ez-sug-ic.dg{background:var(--dang-50);color:var(--dang-fg)}
.ez-sug-b{flex:1;min-width:0}
.ez-sug-t{display:block;font-size:13.5px;font-weight:600;color:var(--n-900)}
.ez-sug-s{display:block;font-size:12px;color:var(--n-600);margin-top:2px}
.ez-sug-b .ez-meta{margin-top:6px}
.ez-sug-note{display:flex;align-items:flex-start;gap:6px;margin-top:var(--s3);
  padding:8px var(--s3);border-radius:var(--r-md);
  background:var(--dang-50);color:var(--dang-fg);
  font-size:11.5px;line-height:1.7}
.ez-sug-note i{font-size:14px;flex:0 0 auto;margin-top:1px}
.ez-sug-e{flex:0 0 auto}

/* شريط النسب المجزّأ */
.ez-split{display:flex;height:8px;border-radius:4px;overflow:hidden;
  background:var(--n-200);margin-top:var(--s3)}
.ez-split-s{height:100%}
.ez-split-s.em{background:var(--em-600)}
.ez-split-s.gd{background:var(--gd-500)}
.ez-split-s.dg{background:var(--dang)}
.ez-split-k{display:flex;gap:var(--s4);flex-wrap:wrap;margin-top:8px;
  font-size:11px;color:var(--n-600)}
.ez-split-k span{display:inline-flex;align-items:center;gap:5px}
.ez-split-k .k{width:9px;height:9px;border-radius:2px;display:inline-block}
.ez-split-k .k.em{background:var(--em-600)}
.ez-split-k .k.gd{background:var(--gd-500)}
.ez-split-k .k.dg{background:var(--dang)}

/* ─── ㊲ طابور الاعتماد ─────────────────────────────────────────── */
.ez-queue{display:flex;flex-direction:column;gap:var(--s4);margin-top:var(--s5)}
.ez-qcard{background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e1)}
.ez-qcard-h{display:flex;align-items:center;gap:var(--s3);
  padding:var(--s4) var(--s5);border-bottom:1px solid var(--n-100)}
.ez-qcard-av{flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;background:var(--n-100);
  color:var(--n-700);font-size:15px;font-weight:600}
.ez-qcard-who{flex:1;min-width:0;display:flex;flex-direction:column}
.ez-qcard-who b{font-size:14px;font-weight:600;color:var(--n-900)}
.ez-qcard-who small{font-size:11.5px;color:var(--n-600);margin-top:1px}
.ez-qcard-b{padding:var(--s5)}
.ez-qcard-b .ez-meta{margin-top:var(--s4);padding-top:var(--s4);
  border-top:1px solid var(--n-100)}
.ez-qcard-f{display:flex;gap:var(--s2);padding:var(--s4) var(--s5);
  background:var(--n-50);border-top:1px solid var(--n-100);flex-wrap:wrap}

.ez-reject{padding:var(--s5);background:var(--dang-50);
  border-top:1px solid var(--n-100)}
.ez-reject[hidden]{display:none}
.ez-reject > label{display:block;font-size:12.5px;font-weight:600;
  color:var(--dang-fg);margin-bottom:6px}
.ez-reject textarea{width:100%;border:1px solid var(--n-200);
  border-radius:var(--r-md);padding:10px var(--s4);
  font-family:inherit;font-size:13px;background:var(--white);
  color:var(--n-900);resize:vertical}
.ez-reject textarea:focus{outline:none;border-color:var(--dang);
  box-shadow:0 0 0 3px rgba(168,40,31,.12)}
.ez-reject-f{display:flex;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap}

@media (max-width:760px){
  .ez-range{flex-direction:column;align-items:stretch;gap:var(--s2)}
  .ez-range-d{display:none}
  .ez-sug{flex-wrap:wrap}
  .ez-sug-e{width:100%;padding-inline-start:54px}
  .ez-qcard-f .ez-btn{flex:1;justify-content:center}
}

/* ─── ㊳ بطاقات الأنشطة ─────────────────────────────────────────── */
.ez-acts{display:grid;gap:var(--s4);margin-top:var(--s4);
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.ez-act{display:flex;flex-direction:column;gap:var(--s2);
  padding:var(--s5);background:var(--white);border:1px solid var(--n-200);
  border-radius:var(--r-lg);box-shadow:var(--e1);transition:var(--t)}
.ez-act:hover{border-color:var(--n-300);box-shadow:var(--e2);
  transform:translateY(-1px)}
.ez-act-h{display:flex;align-items:flex-start;gap:var(--s2)}
.ez-act-t{margin:0;flex:1;font-size:14.5px;font-weight:600;
  color:var(--n-900);line-height:1.5}
.ez-act-goal{margin:0;font-size:12.5px;color:var(--n-600);line-height:1.7}
.ez-act .ez-meta{margin-top:var(--s2)}
.ez-act-f{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;
  margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--n-100)}
.ez-stars{display:inline-flex;align-items:center;gap:5px}
.ez-stars-v{color:var(--gd-600);font-size:13px;letter-spacing:1px}
.ez-stars small{font-size:11px;color:var(--n-600);
  font-variant-numeric:tabular-nums}
.ez-act-used{display:inline-flex;align-items:center;gap:5px;
  font-size:11px;color:var(--n-600)}
.ez-act-used i{font-size:13px}
.ez-act.is-picked{border-color:var(--em-600);
  box-shadow:0 0 0 2px rgba(12,100,64,.12)}

/* ─── ㊴ الفلاتر ────────────────────────────────────────────────── */
.ez-filters{display:flex;flex-direction:column;gap:var(--s3);
  margin-top:var(--s5);padding:var(--s5);background:var(--white);
  border:1px solid var(--n-200);border-radius:var(--r-lg);box-shadow:var(--e1)}
.ez-filters-row{display:flex;gap:var(--s2);flex-wrap:wrap}
.ez-filters-row .ez-field{flex:1;min-width:140px;margin:0}

.ez-durfilter{padding-top:var(--s3);border-top:1px solid var(--n-100)}
.ez-durfilter > label{display:flex;align-items:center;gap:7px;
  font-size:12.5px;color:var(--n-700);margin-bottom:var(--s2)}
.ez-durfilter > label i{font-size:15px;color:var(--n-500)}
.ez-durfilter > label b{color:var(--em-fg);font-variant-numeric:tabular-nums;
  min-width:26px;text-align:center}
.ez-durfilter input[type="range"]{width:100%;accent-color:var(--em-600);
  height:22px;cursor:pointer}
.ez-durfilter input[type="range"]:focus-visible{outline:2px solid var(--em-600);
  outline-offset:3px;border-radius:var(--r-pill)}
.ez-durfilter-x{display:flex;justify-content:space-between;
  font-size:10.5px;color:var(--n-500);font-variant-numeric:tabular-nums}

/* ─── ㊵ لوح الخطّة العائم ──────────────────────────────────────── */
.ez-planbar{position:sticky;bottom:var(--s4);z-index:60;margin-top:var(--s5)}
.ez-planbar[hidden]{display:none}
.ez-planbar-in{display:flex;align-items:center;gap:var(--s3);
  padding:var(--s3) var(--s5);background:var(--n-900);color:#fff;
  border-radius:var(--r-lg);box-shadow:var(--e-hero);flex-wrap:wrap}
.ez-planbar-ic{flex:0 0 auto;width:36px;height:36px;border-radius:var(--r-md);
  display:grid;place-items:center;font-size:18px;
  background:rgba(255,255,255,.14)}
.ez-planbar-b{display:flex;flex-direction:column;line-height:1.4}
.ez-planbar-b b{font-size:13px;font-weight:600}
.ez-planbar-b small{font-size:11px;color:rgba(255,255,255,.72);
  font-variant-numeric:tabular-nums}
.ez-planbar-list{display:flex;gap:5px;flex-wrap:wrap;max-width:44%}
.ez-planbar-list span{padding:4px 10px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.14);font-size:11px;white-space:nowrap}
.ez-planbar .ez-btn-out{background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.24);color:#fff}
.ez-planbar .ez-btn-out:hover{background:rgba(255,255,255,.2)}

/* ─── ㊶ خطّ الجلسة الزمنيّ ─────────────────────────────────────── */
.ez-timeline{display:flex;flex-direction:column;gap:var(--s2);
  margin-top:var(--s2)}
.ez-tl{display:flex;align-items:center;gap:var(--s3);
  padding:var(--s3) var(--s4);background:var(--white);
  border:1px solid var(--n-200);border-radius:var(--r-md);transition:var(--t)}
.ez-tl:hover{border-color:var(--n-300);box-shadow:var(--e1)}
.ez-tl-grip{flex:0 0 auto;width:26px;height:26px;border-radius:var(--r-sm);
  display:grid;place-items:center;color:var(--n-500);cursor:pointer;
  font-size:14px;transition:var(--t)}
.ez-tl-grip:hover{background:var(--n-100);color:var(--n-800)}
.ez-tl-n{flex:0 0 auto;width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;background:var(--em-50);
  color:var(--em-fg);font-size:11.5px;font-weight:600;
  font-variant-numeric:tabular-nums}
.ez-tl-b{flex:1;min-width:0}
.ez-tl-t{display:block;font-size:13px;font-weight:600;color:var(--n-900)}
.ez-tl-b .ez-meta{margin-top:4px}
.ez-tl-at{flex:0 0 auto;font-size:12px;color:var(--n-600);
  font-variant-numeric:tabular-nums;direction:ltr}
.ez-tl-acts{flex:0 0 auto;display:flex;gap:4px}
.ez-tl-btn{width:28px;height:28px;border:1px solid var(--n-200);
  border-radius:var(--r-sm);background:var(--white);color:var(--n-600);
  cursor:pointer;display:grid;place-items:center;font-size:13px;
  transition:var(--t)}
.ez-tl-btn:hover{background:var(--n-100);color:var(--n-900)}
.ez-tl-btn.dg:hover{background:var(--dang);border-color:var(--dang);color:#fff}
.ez-tl-btn:focus-visible{outline:2px solid var(--em-600);outline-offset:1px}

.ez-tl-sum{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;
  margin-top:var(--s3);padding:var(--s3) var(--s4);
  border-radius:var(--r-md);background:var(--n-50);
  font-size:12px;color:var(--n-700)}
.ez-tl-sum b{color:var(--em-fg);font-variant-numeric:tabular-nums}
.ez-tl-sum > span{display:inline-flex;align-items:center;gap:6px}
.ez-tl-sum i{font-size:14px;color:var(--n-500)}

/* ─── ㊷ أشرطة أفقيّة للإحصاءات ─────────────────────────────────── */
.ez-bars-h{display:flex;flex-direction:column;gap:var(--s3)}
.ez-barh{display:grid;grid-template-columns:1fr 2fr auto;
  align-items:center;gap:var(--s3)}
.ez-barh-t{font-size:12.5px;color:var(--n-700);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ez-barh-b{height:8px;border-radius:4px;background:var(--n-200);overflow:hidden}
.ez-barh-b > span{display:block;height:100%;border-radius:4px;
  background:var(--em-600);width:0;transition:width .6s var(--ease)}
.ez-barh b{font-size:12px;color:var(--n-800);
  font-variant-numeric:tabular-nums;min-width:24px;text-align:end}
.ez-panel-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 var(--s4);
  padding:var(--s3) var(--s4);border-radius:var(--r-md);
  background:var(--n-50);font-size:12px;color:var(--n-600);line-height:1.8}
.ez-panel-note i{font-size:15px;flex:0 0 auto;margin-top:2px}
.ez-panel-b .ez-tags{margin-top:0;padding-top:0;border-top:0}

@media (max-width:760px){
  .ez-acts{grid-template-columns:1fr}
  .ez-filters-row .ez-field{min-width:calc(50% - var(--s2))}
  .ez-planbar-list{display:none}
  .ez-planbar-in{gap:var(--s2)}
  .ez-tl{flex-wrap:wrap}
  .ez-tl-b{flex:1 1 100%;order:3;padding-inline-start:56px}
  .ez-barh{grid-template-columns:1fr auto;gap:var(--s2)}
  .ez-barh-b{grid-column:1/-1}
}

/* ─── ㊸ حالة الخطّ الزمنيّ الفارغة ─────────────────────────────── */
.ez-tl-empty{display:flex;align-items:center;gap:var(--s3);
  padding:var(--s5);border:1px dashed var(--n-300);
  border-radius:var(--r-md);background:var(--n-50);
  font-size:12.5px;color:var(--n-600)}
.ez-tl-empty[hidden]{display:none}
.ez-tl-empty i{font-size:20px;color:var(--n-400)}
.ez-pick-av i{font-size:15px}
a.ez-tag{text-decoration:none;transition:var(--t)}
a.ez-tag:hover{background:var(--em-100)}

/* ═══════════════════════════════════════════════════════════════════
   v36 — صفحات النقاط والألعاب
   ═══════════════════════════════════════════════════════════════════
   لم يُنشأ ملفّ منفصل عمداً: المشروع فيه خمس طبقات تصميم (v29 · v32 ·
   v33 · v34 · v35)، وإضافة سادسة تُعيد ما وقع في الشريط العلويّ —
   كتلتان تتغلّبان على بعضهما بصمت. المكوّنات أدناه هي **الناقص فقط**؛
   البطاقات والصفوف والرتب والشارات موجودة أعلاه وتُستعمل كما هي.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── خطوات نموذج الطلب ─────────────────────────────────────────── */
.ez-steps{display:flex;align-items:center;gap:var(--s2);margin:var(--s5) 0}
.ez-step{display:flex;align-items:center;gap:var(--s2);font-size:12px;color:var(--n-500);
  white-space:nowrap}
.ez-step .n{width:26px;height:26px;border-radius:var(--r-pill);display:grid;place-items:center;
  font-size:11.5px;font-weight:600;background:var(--n-100);color:var(--n-500);
  transition:background-color var(--t),color var(--t)}
.ez-step.on{color:var(--n-900);font-weight:600}
.ez-step.on .n{background:var(--em-600);color:#fff}
.ez-step.done .n{background:var(--em-50);color:var(--em-fg)}
.ez-steps .ln{flex:1;height:1px;background:var(--n-200);min-width:18px}
@media(max-width:560px){.ez-step .lbl{display:none}}

/* ─── شبكة اختيار (قسم / نشاط) ──────────────────────────────────── */
.ez-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--s3)}
.ez-opt{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);
  border:1.5px solid var(--n-200);border-radius:var(--r-md);background:var(--white);
  cursor:pointer;transition:var(--t);text-align:start}
.ez-opt:hover{border-color:var(--n-300)}
.ez-opt.on{border-color:var(--em-600);background:var(--em-50)}
.ez-opt .ic{width:38px;height:38px;border-radius:var(--r-md);display:grid;place-items:center;
  font-size:18px;flex:0 0 auto;background:var(--em-50);color:var(--em-fg)}
.ez-opt.on .ic{background:var(--em-600);color:#fff}
.ez-opt b{display:block;font-size:12.5px;font-weight:600;color:var(--n-900)}
.ez-opt small{display:block;font-size:11px;color:var(--n-500);margin-top:2px}
.ez-opt input{position:absolute;opacity:0;pointer-events:none}
.ez-opt:focus-within{outline:2px solid var(--gd-500);outline-offset:2px}

/* ─── تنبيه أحمر (حارس التكرار · سبب الرفض) ─────────────────────── */
.ez-alert{display:flex;gap:9px;padding:var(--s3) var(--s4);border-radius:var(--r-md);
  background:var(--dang-50);color:#8B1A12;font-size:11.5px;line-height:1.7;
  margin-bottom:var(--s4);border:1px solid rgba(180,35,24,.18)}
.ez-alert i{font-size:16px;flex:0 0 auto;margin-top:1px}
.ez-alert a{color:inherit;font-weight:600}
html.dark-mode .ez-alert{color:#F5958B}

/* ─── الاستحقاق ─────────────────────────────────────────────────── */
.ez-due{font-size:11px;font-weight:600}
.ez-due.late{color:var(--dang-fg)}
.ez-due.soon{color:var(--warn-fg)}
.ez-due.ok{color:var(--n-500)}

/* ─── تاريخ فتح الشارة ──────────────────────────────────────────── */
.ez-badge-d{font-size:10.5px;color:var(--gd-fg);font-weight:600}
.ez-badge-p{width:100%;margin-top:2px}

/* ─── حقل رقميّ خارج المدى ──────────────────────────────────────── */
.ez-fld input:out-of-range{border-color:var(--dang);background:var(--dang-50)}

/* ─── حالة فارغة داخل لوحة (بلا حدّ ولا ظلّ مزدوج) ──────────────── */
.ez-empty.is-inset{border:0;box-shadow:none;background:transparent}
.ez-empty.is-sm{padding:var(--s8) var(--s3)}

/* ─── صفّ قسم في صدارة الأقسام ──────────────────────────────────── */
.ez-dept + .ez-dept{margin-top:var(--s4)}
.ez-bar-x.is-top{margin:0 0 5px}
.ez-bar-x.is-top b{color:var(--n-800);font-weight:600}
.ez-bar-x.is-top span{color:var(--gd-fg);font-weight:600}

/* ─── مسافة بين لوحات النموذج ───────────────────────────────────── */
.ez-panel.ez-mt{margin-top:var(--s4)}
/* قائمة داخل لوحة — بلا حدّ ولا ظلّ مزدوج */
.ez-list.is-flat{border:0;box-shadow:none;border-radius:0}
.ez-list.is-flat .ez-row{border-radius:var(--r-md);cursor:pointer;transition:var(--t)}
.ez-list.is-flat .ez-row:hover{background:var(--n-50)}
.ez-list.is-flat .ez-row.on{background:var(--em-50);box-shadow:inset 0 0 0 1.5px var(--em-600)}
.ez-list.is-flat .ez-row:focus-visible{outline:2px solid var(--gd-500);outline-offset:-2px}
/* ملاحظة الرفض داخل صفّ الطلب */
.ez-note-rej{color:var(--dang-fg)}

/* ═══ v37 — لوحات الإشراف على الألعاب ═══════════════════════════ */

/* صفّ بلا حشوة جانبية — داخل لوحة لها حشوتها أصلاً */
.ez-row.is-bare{padding-inline:0}

/* مجموعة مكرّرات محتملة */
.ez-dup{border:1px dashed var(--warn);background:var(--warn-50);border-radius:var(--r-md);
  padding:var(--s3) var(--s4);font-size:11.5px;line-height:1.9;color:#7A4A08}
.ez-dup + .ez-dup{margin-top:var(--s3)}
.ez-dup-i{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}
.ez-dup-i b{color:#5E3906;font-weight:600}
.ez-dup-i .ez-pill{background:rgba(180,83,9,.12);color:#7A4A08;text-decoration:none}
html.dark-mode .ez-dup{color:#E9C77E}
html.dark-mode .ez-dup-i b{color:#F3DEB0}

/* ═══ v37 — محادثة المساعد الذكيّ ═══════════════════════════════ */
.ai-chat{background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  box-shadow:var(--e1);overflow:hidden;margin-top:var(--s4)}
.ai-msgs{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4);
  min-height:240px;max-height:58vh;overflow-y:auto;overscroll-behavior:contain}
.ai-msg{display:flex;gap:10px;max-width:82%}
.ai-msg.is-me{margin-inline-start:auto;flex-direction:row-reverse}
.ai-msg-av{width:30px;height:30px;border-radius:var(--r-pill);display:grid;place-items:center;
  font-size:15px;background:var(--plum-50);color:var(--plum-fg);flex:0 0 auto}
.ai-msg.is-me .ai-msg-av{background:var(--em-50);color:var(--em-fg)}
.ai-msg-b{background:var(--n-50);border:1px solid var(--n-200);border-radius:var(--r-lg);
  padding:10px 14px;font-size:12.5px;line-height:1.9;color:var(--n-800);min-width:0}
.ai-msg.is-me .ai-msg-b{background:var(--em-600);border-color:var(--em-600);color:#fff}
/* الآية تُبرَز بالذهبيّ — تمييز المقتبَس عن كلام النموذج */
.ai-ayah{color:var(--gd-fg);font-weight:600}
.ai-tools{display:flex;gap:var(--s1);flex-wrap:wrap;margin-top:var(--s2);
  padding-top:var(--s2);border-top:1px solid var(--n-200)}
.ai-tool{display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:10.5px;
  padding:4px 9px;border-radius:var(--r-pill);border:1px solid var(--n-200);
  background:var(--white);color:var(--n-600);cursor:pointer;transition:var(--t)}
.ai-tool:hover{border-color:var(--n-300);color:var(--n-800)}
.ai-tool.is-rated{background:var(--em-50);border-color:var(--em-100);color:var(--em-fg)}
.ai-followups{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--s2)}
.ai-followup{font-family:inherit;font-size:11px;padding:5px 11px;border-radius:var(--r-pill);
  border:1px solid var(--n-200);background:var(--white);color:var(--n-600);cursor:pointer}
.ai-followup:hover{border-color:var(--em-400);color:var(--em-fg)}
.ai-typing{display:inline-flex;gap:4px;align-items:center;padding:2px 0}
.ai-typing span{width:6px;height:6px;border-radius:50%;background:var(--n-300);
  animation:aiDot 1.2s infinite ease-in-out}
.ai-typing span:nth-child(2){animation-delay:.15s}
.ai-typing span:nth-child(3){animation-delay:.3s}
@keyframes aiDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.ai-typing span{animation:none;opacity:.6}}
.ai-sugg{display:flex;gap:7px;flex-wrap:wrap;padding:0 var(--s5) var(--s3)}
.ai-sugg button{font-family:inherit;font-size:11px;padding:6px 12px;border-radius:var(--r-pill);
  border:1px solid var(--n-200);background:var(--white);color:var(--n-600);cursor:pointer}
.ai-sugg button:hover{border-color:var(--em-400);color:var(--em-fg)}
.ai-form{border-top:1px solid var(--n-100);padding:var(--s3) var(--s4);display:flex;
  gap:var(--s2);align-items:center;background:var(--n-50)}
.ai-form input{flex:1;min-width:0;border:1px solid var(--n-200);border-radius:var(--r-pill);
  padding:9px 15px;font-family:inherit;font-size:12.5px;background:var(--white);color:var(--n-900)}
.ai-form input:focus{outline:2px solid var(--em-400);outline-offset:1px}
.ai-mic{width:36px;height:36px;flex:0 0 auto;border-radius:var(--r-pill);border:1px solid var(--n-200);
  background:var(--white);color:var(--n-600);font-size:17px;cursor:pointer;display:grid;place-items:center}
.ai-mic.is-rec{background:var(--dang-50);border-color:var(--dang);color:var(--dang-fg)}
html.dark-mode .ai-msg-b{background:rgba(255,255,255,.04)}
html.dark-mode .ai-tool,html.dark-mode .ai-followup,
html.dark-mode .ai-sugg button,html.dark-mode .ai-form input,
html.dark-mode .ai-mic{background:rgba(255,255,255,.04)}

/* ═══ v37 — أدوات إدارة الألعاب ═══════════════════════════════ */

/* قائمة قابلة للطيّ — <details> بلا سهم المتصفّح الافتراضيّ */
.ez-acc{border-bottom:1px solid var(--n-100)}
.ez-acc:last-child{border-bottom:0}
.ez-acc > summary{cursor:pointer;list-style:none}
.ez-acc > summary::-webkit-details-marker{display:none}
.ez-acc > summary:focus-visible{outline:2px solid var(--gd-500);outline-offset:-2px}
.ez-acc-caret{transition:transform var(--t);color:var(--n-400);font-size:14px}
.ez-acc[open] > summary .ez-acc-caret{transform:rotate(180deg)}
.ez-acc-body{padding:0 var(--s5) var(--s5);background:var(--n-50)}
@media (prefers-reduced-motion:reduce){.ez-acc-caret{transition:none}}

/* محرّر JSON — عرض ثابت العرض وأرقام لاتينية */
.ez-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;
  line-height:1.8;direction:ltr;text-align:left;white-space:pre;overflow-x:auto;
  background:var(--n-50)}

/* مربّع اختيار موصوف */
.ez-check{display:flex;align-items:center;gap:var(--s2);font-size:12px;
  color:var(--n-700);cursor:pointer;margin:var(--s3) 0}
.ez-check input{width:16px;height:16px;accent-color:var(--em-600);flex:0 0 auto}

/* تنبيه ناجح — نفس الهيكل بلون مختلف */
.ez-alert.is-ok{background:var(--em-50);color:var(--em-700);
  border-color:var(--em-100)}

/* شريط تقدّم التوليد */
.gb-progress{display:flex;align-items:center;gap:var(--s3);
  font-size:12.5px;color:var(--n-600)}

/* عنصر في مراجعة البناء */
.gb-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;
  font-size:12px;color:var(--n-700);line-height:1.7}
.gb-item + .gb-item{border-top:1px solid var(--n-100)}
.gb-item span{flex:1;min-width:0}

/* ─── الطباعة: الورقة للبطاقات وحدها ─────────────────────────── */
@media print{
  .ez-noprint,.ztop,.zdrawer,.zdrawer-overlay,.page-hero{display:none !important}
  .ez{background:#fff}
  .ez-wrap{max-width:none;padding:0}
  .ez-print{grid-template-columns:repeat(3,1fr);gap:6mm}
  .ez-qcard{break-inside:avoid;page-break-inside:avoid;box-shadow:none;
    border-color:#999}
}

/* ─── فائزو البطولات السابقة (v38) ──────────────────────────── */
.ez-winners{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.ez-win-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;
  padding:3px 10px;border-radius:var(--r-pill);background:var(--n-100);color:var(--n-600)}
.ez-win-chip b{font-weight:600;color:var(--n-800)}
.ez-win-chip.r1{background:var(--gd-50);color:var(--gd-fg)}
.ez-win-chip.r1 b{color:var(--gd-600)}
.ez-win-chip.r2{background:var(--n-100);color:var(--n-700)}
.ez-win-chip.r3{background:var(--warn-50);color:var(--warn-fg)}

/* ─── محادثات محفوظة (v38) ──────────────────────────────────── */
.ez-row.is-open{background:var(--em-50)}
.ez-row .ez-rb{text-decoration:none;color:inherit}
.ez-hint-note{font-size:11px;color:var(--n-500);margin:var(--s2) 0 0;
  padding-inline-start:var(--s5)}

/* ═══════════════════════════════════════════════════════════════════
   v39 — تدقيق بصريّ مقيس
   ═══════════════════════════════════════════════════════════════════
   قِيس على عشر صفحات بعرضَي 1280 و390: لا تجاوز أفقيّ ولا قطع نصّ،
   وارتفاع الترويسة موحَّد 104px في العشر. والتباين يمرّ فعلاً — بين
   4.51 و5.01 على كلّ الأسطح. ثلاث ملاحظات حقيقية عولجت أدناه.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── ① هامش أمان للتباين ────────────────────────────────────────
   `--n-500` عند 4.51 على الأسطح الملوّنة — يمرّ بفارق 0.01. أي تعديل
   لاحق على تدرّج خفيف يُسقطه دون أن ينتبه أحد. التغميق درجةً واحدة
   يرفعه إلى 5.37+ بفرق بصريّ لا يكاد يُرى، فيصير المعيار محفوظاً لا
   محظوظاً. */
.ez{--n-500:#54685D}

/* ② الحدّ الأدنى لحجم الخطّ: عُدِّلت القواعد الأصلية إلى 10.5px مباشرةً
   (أسطر 102 · 159 · 417 · 470) بدل مراكمة تجاوز على الملفّ نفسه —
   التجاوز على ملفٍّ تملكه دَينٌ لا إصلاح. */

/* ─── ③ أهداف اللمس على الشاشات الصغيرة ──────────────────────────
   الحبّات وزرّ الرجوع بين 26 و32px ارتفاعاً. يتجاوز حدّ WCAG الأدنى
   (24px) لكنّه دون المريح على الهاتف — وأغلب متطوّعينا على الهاتف.
   نرفعها في نطاق الشاشة الصغيرة وحدها كي لا يثقل المكتب. */
@media (max-width:640px){
  .ez-chip{min-height:40px;padding-block:9px}
  .ez-crumb .back{min-height:40px;padding-block:9px}
  .ez-btn,.ez-btn-sm,.ez-go{min-height:40px}
  .ez-select{height:40px}
  /* الثانويّة (أدوات الردّ · الاقتراحات · الحبّات الرابطة) عند 32px:
     دون الأساسية عمداً كي يبقى الترتيب البصريّ واضحاً، وفوق حدّ WCAG. */
  .ez-tool,.ai-tool,.ai-followup,.ai-sugg button,
  a.ez-pill,button.ez-pill{min-height:32px;display:inline-flex;
    align-items:center;justify-content:center}
  .ez-field{height:46px}
}

/* ═══ v41 — صفحات الإدارة ══════════════════════════════════════ */

.ez-mt{margin-top:var(--s5)}

/* إجراء سريع — بطاقة صغيرة بأيقونة ونصّين */
.ez-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
@media(max-width:860px){.ez-quick{grid-template-columns:repeat(2,1fr)}}
.ez-qa{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);
  background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-lg);
  box-shadow:var(--e1);text-decoration:none;color:inherit;transition:var(--t)}
.ez-qa:hover{box-shadow:var(--e2);transform:translateY(-2px)}
.ez-qa b{display:block;font-size:12.5px;font-weight:600;color:var(--n-900)}
.ez-qa small{display:block;font-size:11px;color:var(--n-500);margin-top:2px}

/* الحرف الأول بدل صورة — أرخص من طلب صورة لكلّ صفّ */
.ez-av{width:38px;height:38px;flex:0 0 auto;border-radius:var(--r-pill);
  display:grid;place-items:center;font-size:15px;font-weight:600;
  background:var(--em-600);color:#fff}
.ez-av.is-idle{background:var(--n-400)}

/* فرق الشهر: الاتّجاه لا الرقم وحده */
.ez-delta{display:block;font-size:11px;font-weight:600;color:var(--n-500);margin-top:5px}
.ez-delta small{display:block;font-size:10.5px;font-weight:400;color:var(--n-400);margin-top:2px}
.ez-delta.up{color:var(--em-fg)}
.ez-delta.up::before{content:'▲ '}
.ez-delta.down{color:var(--dang-fg)}
.ez-delta.down::before{content:'▼ '}

/* شريط الإجراءات الجماعية — يظهر عند التحديد فقط */
.ez-bulk{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;
  padding:var(--s3) var(--s4);background:var(--em-50);border:1px solid var(--em-100);
  border-radius:var(--r-md);margin-bottom:var(--s3);font-size:12px;color:var(--em-700)}
.ez-bulk[hidden]{display:none}
.ez-bulk b{font-weight:600}
.ez-bulk .spacer{margin-inline-start:auto}
.ez-check-cell{flex:0 0 auto;display:grid;place-items:center;width:22px}
.ez-check-cell input{width:16px;height:16px;accent-color:var(--em-600);cursor:pointer}

/* بحث محفوظ */
.ez-saved{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ez-saved .ez-chip{gap:8px}
.ez-saved form{display:inline-flex}
.ez-saved button{border:0;background:transparent;color:inherit;cursor:pointer;
  padding:0;font-size:12px;line-height:1;display:inline-flex;align-items:center}

html.dark-mode .ez-bulk{background:rgba(42,148,105,.10);border-color:rgba(42,148,105,.25);
  color:var(--em-100)}
.ez-inline-form{display:inline-flex;gap:var(--s2);align-items:center}
.ez-danger{color:var(--dang-fg)}
.ez-bar-tight{margin:0}
.ez-fld-narrow{max-width:420px}

/* ═══ v45 — أصناف استُعملت في القوالب بلا قاعدة ═════════════════ */
/* الدرس: صنفٌ في قالب بلا قاعدة في CSS ليس خطأً يُرى — العنصر يُعرض
   بلا تنسيق فيبدو «تصميماً مختلفاً» لا عيباً. أربعة منها عاشت جولات. */

/* شبكة خمسة أعمدة — كانت تنهار إلى ثلاثة */
.ez-stats3.s5{grid-template-columns:repeat(5,1fr)}
@media(max-width:960px){.ez-stats3.s5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.ez-stats3.s5{grid-template-columns:repeat(2,1fr)}}

/* صفّ ترويسة في القوائم — يشرح ما تفعله المربّعات تحته */
.ez-row-head{background:var(--n-50,#f7faf8);border-style:dashed;
  padding-block:9px;min-height:0}
.ez-row-head .ez-rs{font-size:11.5px}

/* حقل بحث داخل شريط أفقيّ — لا يملأ العرض كاملاً */
.ez-field.is-inline{max-width:290px;margin:0}
@media(max-width:640px){.ez-field.is-inline{max-width:none;width:100%}}

/* وسم «اختياري» بجوار عنوان الحقل */
.ez-fld label .opt,
label .opt{font-size:10.5px;font-weight:400;color:var(--n-400);margin-inline-start:4px}

/* ═══ v27.1: الرفض الفرديّ — حقل السبب يُكشَف مكانه بلا JS ═══
   الخادم يفرض سبباً للرفض، فزرٌّ يقود إلى مسارٍ بلا حقلٍ للسبب كان
   سيُنتج خطأً دائماً. النمط نفسه المستعمَل في طلبات النقاط، نُقل إلى
   طبقة `ez` المشتركة ليخدم صفحة طلبات الانضمام أيضاً. */
.ez-why-d{display:inline-block;position:relative}
.ez-why-d summary{list-style:none;cursor:pointer}
.ez-why-d summary::-webkit-details-marker{display:none}
.ez-why-f{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:20;
  background:var(--white);border:1px solid var(--n-200);border-radius:var(--r-md);
  box-shadow:var(--e2);padding:var(--s3);display:flex;gap:var(--s2);
  align-items:center;min-width:308px}
@media(max-width:640px){.ez-why-f{position:static;min-width:0;flex-wrap:wrap;
  margin-top:6px}}
html.dark-mode .ez-why-f{background:var(--n-100)}


/* ═══════════════════════════════════════════════════════════════════
   ㉗ v28 — صفحات التفاصيل (الدرس · الصدارة · الحضور · التقرير)
   لا متغيّر جديد ولا لون جديد: كلّ ما دونه يبني على رموز `.ez` أعلاه.
   وما وُجد له نظيرٌ في الطبقة لم يُكرَّر — الشبكة `ez-grid2`،
   وحالة الفراغ `ez-empty`، والصفوف `ez-row`، والأعمدة `ez-col`.
   ═══════════════════════════════════════════════════════════════════ */
/* ══ الإضافة الوحيدة الباقية — مقترحة لـedu_section_v35.css ══
   كلّ ما عداها استُبدل بأصنافٍ قائمة في الطبقة:
   ez-grid2 · ez-empty · ez-row · ez-list · ez-panel · ez-sec
   · ez-stats3 · ez-streak · ez-chip · ez-btn · ez-note · ez-check. */

/* شريط تقدّم داخل الترويسة — لا نظير له في الطبقة */
.ez-hprog{position:relative;margin-top:var(--s5)}
.ez-hprog-t{display:flex;justify-content:space-between;font-size:11.5px;
  opacity:.88;margin-bottom:5px}
.ez-hprog-track{height:6px;border-radius:4px;background:rgba(255,255,255,.2);
  overflow:hidden}
.ez-hprog-track span{display:block;height:100%;border-radius:4px;
  background:linear-gradient(90deg,var(--gd-400),var(--gd-300))}

/* تعليق — ez-streak في الطبقة للأشخاص لا للتعليقات */
.ez-cmt{display:flex;gap:var(--s3);padding:var(--s3) 0;
  border-bottom:1px solid var(--n-100)}
.ez-cmt:last-child{border-bottom:0}
.ez-cmt-b{flex:1;min-width:0}
.ez-cmt-h{display:flex;gap:var(--s2);align-items:baseline;margin-bottom:2px}
.ez-cmt-h b{font-size:12.5px;color:var(--n-900)}
.ez-cmt-h span{font-size:11px;color:var(--n-500)}
.ez-cmt-x{font-size:13px;color:var(--n-700);line-height:1.75}
.ez-ta{width:100%;border:1px solid var(--n-200);border-radius:var(--r-md);
  padding:11px;font-family:inherit;font-size:13px;resize:vertical;
  color:var(--n-800);background:var(--white);transition:var(--t)}
.ez-ta:focus{outline:0;border-color:var(--em-600);
  box-shadow:0 0 0 3px rgba(12,100,64,.12)}

/* شريط تقدّم المشاهدة داخل الدرس */
.ez-watch{margin-top:var(--s4)}
.ez-watch-t{display:flex;justify-content:space-between;font-size:12px;
  color:var(--n-600);margin-bottom:6px}
.ez-watch-track{height:7px;border-radius:5px;background:var(--n-100);overflow:hidden}
.ez-watch-track span{display:block;height:100%;border-radius:5px;
  background:linear-gradient(90deg,var(--em-500),var(--em-300));transition:width .4s}
html.dark-mode .ez-watch-track{background:var(--n-100)}

/* v28: `.ez-pill` موجودة أعلاه (سطر 195) بمتغيّراتها em/gd/in/dg/wn/wh.
   لا نُعيد تعريفها — نُضيف حالةً واحدة ينقصها المشروع: البثّ المباشر. */
/* v28-fix: حلقة النبض في `.ez-livedot::after` تتمدّد إلى 2.4× —
   وكانت تتجاوز حدّ الشارة. حشوةٌ أوسع قليلاً تمنحها مكانها. */
.ez-pill.live{background:rgba(255,255,255,.93);color:var(--dang);
  padding:4px 13px;font-weight:600}
.ez-pill.live .ez-livedot{width:7px;height:7px}

/* جدول — لا وجود لأيّ صنف جدول في الطبقة، وثلاث صفحاتٍ تحتاجه */
.ez-table{width:100%;border-collapse:collapse;font-size:12.5px}
.ez-table th{background:var(--n-50);color:var(--n-600);font-weight:600;
  font-size:11.5px;text-align:start;padding:11px var(--s4);
  border-bottom:1px solid var(--n-200);white-space:nowrap}
.ez-table td{padding:11px var(--s4);border-bottom:1px solid var(--n-100);
  color:var(--n-800);font-variant-numeric:tabular-nums}
.ez-table tbody tr:last-child td{border-bottom:0}
.ez-table tbody tr:hover td{background:var(--n-50)}
.ez-table tr.is-me td{background:var(--em-50);font-weight:600}
@media(max-width:720px){.ez-table th,.ez-table td{padding:9px var(--s3)}}

.ez-row-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.ez-nav{display:flex;justify-content:space-between;gap:var(--s2);flex-wrap:wrap}

html.dark-mode .ez-ta{background:var(--n-50);color:var(--n-800)}
html.dark-mode .ez-pill{background:var(--n-100);color:var(--n-600)}
html.dark-mode .ez-table th{background:var(--n-50)}

/* v28: جدولٌ يتمرّر أفقياً على الجوّال بدل أن يكسر الصفحة */
.ez-tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ez-panel-flush{padding:0}
/* صفّ إجراءٍ داخل خليّة — حقلٌ وزرّ في سطر */
.ez-inline{display:flex;gap:var(--s2);align-items:center}

/* v28 — صفحة الدرس */
/* شبكة محتوى + جانب: ez-grid2 عمودان متساويان، وهذه تُضيّق الجانب */
.ez-grid2-side{grid-template-columns:minmax(0,1fr) 320px}
@media(max-width:860px){.ez-grid2-side{grid-template-columns:minmax(0,1fr)}}

.ez-audio{background:var(--n-50);border-radius:var(--r-md);padding:var(--s5)}
.ez-audio audio{width:100%}

.ez-article{line-height:2.05;font-size:13.5px;color:var(--n-800)}
.ez-article-soft{background:var(--n-50);border-radius:var(--r-md);
  padding:var(--s4) var(--s5)}

/* لوحةٌ صفوفها متلاصقة (قوائم لا فقرات) */
.ez-panel-tight{gap:2px}

.ez-btn-wide{width:100%;justify-content:center}
.ez-btn.is-dis{opacity:.45;pointer-events:none}

html.dark-mode .ez-audio,html.dark-mode .ez-article-soft{background:var(--n-100)}

/* v28 — تقرير الحضور */
/* رأس عمودٍ قابل للفرز: زرٌّ حقيقيّ لا <th onclick> — يبلغه لوح المفاتيح */
.ez-th{background:none;border:0;padding:0;font:inherit;color:inherit;
  cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.ez-th i{font-size:12px;opacity:.45}
.ez-th:hover i{opacity:.9}
.ez-th:focus-visible{outline:2px solid var(--em-400);outline-offset:2px;
  border-radius:var(--r-sm)}

/* شريط نسبةٍ مصغّر داخل خليّة جدول */
.ez-mini{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.ez-mini-t{width:54px;height:6px;flex:0 0 auto;border-radius:var(--r-pill);
  background:var(--n-100);overflow:hidden}
.ez-mini-t span{display:block;height:100%;border-radius:var(--r-pill);width:0}
.ez-mini-t .hi{background:linear-gradient(90deg,var(--em-400),var(--em-600))}
.ez-mini-t .lo{background:linear-gradient(90deg,var(--gd-400),var(--dang))}

html.dark-mode .ez-mini-t{background:var(--n-100)}

/* v28 — قارئ الكتب */
.ez-reader{display:flex;flex-direction:column;height:calc(100vh - 200px);
  min-height:480px;margin-top:var(--s4)}
.ez-reader-bar{display:flex;align-items:center;justify-content:space-between;
  gap:var(--s2);padding:10px var(--s4);background:var(--white);
  border:1px solid var(--n-200);border-radius:var(--r-lg) var(--r-lg) 0 0;
  flex-wrap:wrap}
.ez-reader-g{display:flex;align-items:center;gap:6px}
.ez-reader-i{font-size:12.5px;font-weight:600;color:var(--n-600);
  font-variant-numeric:tabular-nums}
.ez-reader-i b{color:var(--n-900)}
.ez-rbtn{width:36px;height:36px;border-radius:var(--r-sm);
  border:1px solid var(--n-200);background:transparent;color:var(--n-700);
  cursor:pointer;display:grid;place-items:center;font-size:16px;
  transition:var(--t)}
.ez-rbtn:hover{background:var(--em-600);color:#fff;border-color:var(--em-600)}
.ez-rbtn:focus-visible{outline:2px solid var(--em-400);outline-offset:2px}
.ez-reader-stage{flex:1;background:var(--em-900);border:1px solid var(--n-200);
  border-top:0;border-radius:0 0 var(--r-lg) var(--r-lg);overflow:auto;
  display:flex;justify-content:center;padding:var(--s4)}
.ez-reader-stage canvas{box-shadow:var(--e2);background:#fff;
  align-self:flex-start;max-width:100%}
html.dark-mode .ez-reader-bar{background:var(--n-100)}
html.dark-mode .ez-reader-stage{background:#0A0F0C}

/* v28 — لوحة الأستاذ */
.ez-sync{display:flex;align-items:center;gap:7px;justify-content:flex-end;
  margin-top:var(--s3)}
.ez-scrolly{max-height:300px;overflow-y:auto}
.ez-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;
  background:var(--n-300)}
.ez-dot.on{background:var(--em-500)}

/* سؤال طالب */
.ez-qrow{background:var(--n-50);border:1px solid var(--n-200);
  border-radius:var(--r-md);padding:var(--s3) var(--s4);margin-bottom:var(--s2)}
.ez-qrow.done{opacity:.6}
.ez-qrow-t{font-size:13px;color:var(--n-800);margin-bottom:var(--s2);
  line-height:1.75}
.ez-qrow-f{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}

/* إشعارٌ عابر */
.ez-toast{position:fixed;bottom:20px;left:50%;z-index:9999;
  transform:translateX(-50%) translateY(20px);opacity:0;
  background:var(--em-700);color:#fff;padding:11px 22px;
  border-radius:var(--r-pill);font-size:13px;font-weight:600;
  box-shadow:var(--e2);transition:var(--t);pointer-events:none}
.ez-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

html.dark-mode .ez-qrow{background:var(--n-100)}

/* v28-fix: `.ez-kv` مستعمَلة في lesson.html بثمانية مواضع وكانت غير
   معرَّفة — صفوف «معلومات الدرس» و«اختبار الدرس» تُعرض بلا تنسيق.
   عُرّفت في المسوّدة ثمّ حُذفت حين استُبدلت بـ`.ez-row` في المعاينة،
   والقالب المُطبَّق بقي عليها. */
.ez-kv{display:flex;justify-content:space-between;gap:var(--s3);
  font-size:12.5px;padding:7px 0;border-bottom:1px dashed var(--n-200)}
.ez-kv:last-child{border-bottom:0}
.ez-kv b{color:var(--n-500);font-weight:600}
.ez-kv span{color:var(--n-800);font-variant-numeric:tabular-nums}

/* v28-fix: `.ez-lsn` و`.ez-player` مستعمَلتان في lesson.html وكانتا غير
   معرَّفتين — نفس سبب `.ez-kv`: عُرِّفتا في مسوّدةٍ ثمّ استُبدلتا في
   نسخة المعاينة، والقالب المُطبَّق بقي عليهما. فقائمة دروس الدورة
   ومشغّل الفيديو يُعرضان بلا تنسيق. */
.ez-lsn{display:flex;align-items:center;gap:var(--s3);padding:9px 10px;
  border-radius:var(--r-md);font-size:12.5px;color:var(--n-700);
  text-decoration:none;border:1px solid transparent;transition:var(--t)}
.ez-lsn:hover{background:var(--em-50)}
.ez-lsn.on{background:var(--em-50);border-color:var(--em-200);font-weight:600;
  color:var(--n-900)}
.ez-lsn.off{opacity:.5;pointer-events:none}
.ez-lsn-n{width:25px;height:25px;flex:0 0 auto;border-radius:var(--r-sm);
  display:grid;place-items:center;font-size:11.5px;font-weight:600;
  background:var(--n-100);color:var(--n-500);font-variant-numeric:tabular-nums}
.ez-lsn.done .ez-lsn-n{background:var(--em-500);color:#fff}
.ez-lsn.on .ez-lsn-n{background:var(--gd-400);color:var(--em-900)}
.ez-lsn-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}

.ez-player{position:relative;padding-bottom:56.25%;height:0;
  border-radius:var(--r-md);overflow:hidden;background:var(--em-900);
  margin-top:var(--s4)}
.ez-player iframe,.ez-player video{position:absolute;inset:0;
  width:100%;height:100%;border:0}
.ez-player > i{position:absolute;inset:0;display:grid;place-items:center;
  font-size:54px;color:rgba(255,255,255,.45)}

html.dark-mode .ez-lsn{color:var(--n-700)}
html.dark-mode .ez-lsn-n{background:var(--n-100);color:var(--n-500)}

/* v29 — إجراءات المهام
   `.ez-task-ck` صارت نموذجاً بدل <span> — نُبقي أبعادها ونُلبِس الزرّ
   داخلها هيئةَ الأيقونة، فلا يتغيّر المظهر ويصير قابلاً للنقر. */
.ez-ckbtn{width:26px;height:26px;display:grid;place-items:center;
  background:none;border:0;padding:0;cursor:pointer;
  font-size:19px;color:inherit;border-radius:50%;transition:var(--t)}
.ez-ckbtn:hover{background:var(--em-50);color:var(--em-600)}
.ez-ckbtn:focus-visible{outline:2px solid var(--em-400);outline-offset:2px}
.ez-task-acts{display:flex;gap:5px;align-items:center}
.ez-btn-dgo{color:var(--dang-fg)}
.ez-btn-dgo:hover{background:var(--dang-50);border-color:var(--dang)}
html.dark-mode .ez-ckbtn:hover{background:var(--n-100)}

/* v29: عارض المتصفّح المدمج — يملأ المسرح حين تتعذّر PDF.js */
.ez-reader-stage iframe[data-r-fallback]{width:100%;height:100%;border:0;
  background:#fff;border-radius:var(--r-sm)}
.ez-reader.is-native .ez-reader-stage{padding:0}
.ez-reader.is-native .ez-reader-bar{opacity:.45;pointer-events:none}

/* v29: صفّ مفتاح/قيمة يحمل شريط نسبة بدل رقمٍ مجرّد */
.ez-kv.as-bar{align-items:center}
.ez-kv.as-bar .ez-mini-t{width:90px}

/* v30: عمود اختيارٍ ضيّق في رأس الجدول */
.ez-w1{width:34px}

/* v30 — المحادثة */
.ez-msg-subj{font-size:14px;font-weight:600;color:var(--n-900);margin:4px 0 6px}
.ez-cmt.is-mine{flex-direction:row-reverse}
.ez-cmt.is-mine .ez-cmt-h{justify-content:flex-end}
.ez-cmt.is-mine .ez-cmt-x{background:var(--em-50);border-radius:var(--r-md);
  padding:10px 14px;color:var(--n-800)}
.ez-btn.is-done{color:var(--em-fg);border-color:var(--em-200);background:var(--em-50)}

/* v30 — رفع الصور (partials/image_upload.html) */
.ez-upl{margin-top:6px}
.ez-upl-lb{display:block;font-size:12.5px;font-weight:600;color:var(--n-700);
  margin-bottom:6px}
.ez-upl-box{display:flex;align-items:flex-start;gap:var(--s4);flex-wrap:wrap;
  border:1px dashed var(--n-300);border-radius:var(--r-lg);
  padding:var(--s4);background:var(--n-50);transition:var(--t)}
.ez-upl-box:hover{border-color:var(--em-400);background:var(--em-50)}
.ez-upl-cur,.ez-upl-prev{width:128px;height:80px;flex:0 0 auto;
  object-fit:cover;border-radius:var(--r-md)}
.ez-upl-cur{border:1px solid var(--n-200)}
.ez-upl-prev{border:2px solid var(--em-600)}
.ez-upl-b{flex:1;min-width:200px}
.ez-upl-b input[type=file]{width:100%;font-size:12.5px;font-family:inherit;
  color:var(--n-700)}
.ez-upl-hint{font-size:10.5px;color:var(--n-500);margin:6px 0 0}
.ez-upl-name{font-size:10.5px;color:var(--em-fg);margin:4px 0 0;font-weight:600}
html.dark-mode .ez-upl-box{background:var(--n-100)}

/* v30: صفّ طالبٍ قابل للاختيار في نموذج المجموعة */
.ez-stu{cursor:pointer}
.ez-stu input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;
  accent-color:var(--em-600)}
.ez-stu:hover{background:var(--em-50)}
.ez-stu[hidden]{display:none}
.ez-av.sm{width:30px;height:30px;font-size:12px}

/* v30: خليّتا النقاط وسلسلة الأيام في جدول المتعلّمين */
.ez-gold{color:var(--gd-600);font-weight:700;font-variant-numeric:tabular-nums}
.ez-fire{color:var(--dang-fg)}

/* v30 — الأرشيف: مبدّل العرض وبطاقة المجلّد */
.ez-viewsw{display:inline-flex;gap:3px;background:var(--n-100);
  border-radius:var(--r-md);padding:3px}
.ez-vt{width:32px;height:30px;border:0;background:none;border-radius:var(--r-sm);
  cursor:pointer;color:var(--n-500);font-size:15px;display:grid;
  place-items:center;transition:var(--t)}
.ez-vt.on{background:var(--white);color:var(--em-fg);box-shadow:var(--e1)}
.ez-vt:focus-visible{outline:2px solid var(--em-400);outline-offset:2px}

.ez-card-l{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  flex:1;min-width:0}
.ez-card-f{display:flex;align-items:center;justify-content:space-between;
  gap:var(--s3);flex-wrap:wrap;padding:var(--s3) var(--s4);
  border-top:1px solid var(--n-100)}
.ez-cover.gd{background:linear-gradient(135deg,var(--gd-50),var(--gd-300));
  color:var(--gd-600)}

/* عرض القائمة: صفٌّ أفقيّ بدل بطاقة */
.ez-grid.as-list{grid-template-columns:1fr;gap:var(--s3)}
.ez-grid.as-list .ez-card{flex-direction:row;align-items:center}
.ez-grid.as-list .ez-card-l{flex-direction:row;align-items:center;
  gap:var(--s4);padding:var(--s3) var(--s4)}
.ez-grid.as-list .ez-cover{width:46px;height:46px;flex:0 0 auto;
  border-radius:var(--r-md)}
.ez-grid.as-list .ez-card-f{border-top:0}
html.dark-mode .ez-vt.on{background:var(--n-50)}

/* v30: استطلاعٌ مغلق — باهتٌ لا مخفيّ */
.ez-card.is-off{opacity:.68}
.ez-mt-s{margin-top:var(--s3)}


/* ═══════════════════════════════════════════════════════════════════
   v30 — الجوّال: تكبير iOS وأهداف اللمس
   ═══════════════════════════════════════════════════════════════════ */

/* ① Safari على iPhone **يُكبّر الصفحة تلقائياً** حين يُلمَس حقلٌ خطّه
   أصغر من 16px — ثمّ لا يعود لحجمه. وحقول الطبقة كلّها 12–13px، فكلّ
   نموذج (الدخول · المحادثة · البحث · إنشاء دورة) يقفز بالشاشة عند
   الكتابة. الحلّ 16px على الجوّال وحده — فلا يتغيّر مظهر الحاسوب.
   ونستعمل `pointer:coarse` مع عرض الشاشة معاً: الجوّال بلمسٍ خشن،
   والحاسوب اللمسيّ ذو الشاشة الكبيرة لا يعاني هذا السلوك. */
@media (max-width:760px){
  .ez-fld input, .ez-fld select, .ez-fld textarea,
  .ez-field input, .ez-ta, .ez-select,
  .ez input[type=text], .ez input[type=search], .ez input[type=number],
  .ez input[type=date], .ez input[type=password], .ez input[type=email],
  .ez input[type=tel], .ez input[type=file]{font-size:16px}
  /* الحشوة تصغر قليلاً كي لا يكبر الحقل بارتفاعه مع الخطّ */
  .ez-fld input, .ez-field input, .ez-select{padding-block:9px}
}

/* ② أهداف اللمس: توصية Apple وGoogle 44×44، وأصغر أزرارنا 26px —
   أقلّ من ثلثه. أزرار الحذف والتعديل في الجداول من هذا النوع فيصعب
   إصابتها بإبهام. نوسّع منطقة اللمس على الجوّال وحده، والمظهر ثابت:
   `min-height` مع حشوةٍ رأسية بدل تكبير الأيقونة. */
@media (max-width:760px) and (pointer:coarse){
  .ez-btn-xs, .ez-btn-sm{min-height:44px;padding-inline:14px}
  .ez-ckbtn, .ez-vt, .ez-rbtn, .tk-build-x,
  .ez-btn-xs:has(> i:only-child){min-width:44px;min-height:44px}
  /* صفوفٌ كاملة تُلمَس: مربّع الاختيار يأخذ ارتفاع صفّه */
  .ez-check input[type=checkbox]{width:20px;height:20px}
  .ez-stu, .ez-check{min-height:44px}
  /* مسافةٌ بين الأزرار المتجاورة تمنع الضغط الخاطئ */
  .ez-inline{gap:8px}
  .ez-card-f{gap:10px}
}
