/* ============================================================================
   Domains-Dashboard — الهوية المعتمدة (الحزمة 4 — قرارات الجولتين 4 و5 · الحزمة 7 — قرارات الجولة 6، 2026-09-07)
   الفاتح = «الأفق الزجاجي» (1-أ) · الداكن = «الليل الملكي» (2-ج)
   الجولة 6: الشفافية لا تُرى على أرضية مسطّحة ⇒ طبقة هالات لونية (--bg-img) خلف الزجاج في الوضعين،
   زجاج في الهيكل (الشريط والترويسة) والصينية والبطاقات بمقادير متدرّجة؛ الحلقات بلا فلتر SVG (3-أ)؛
   أيقونات الشريط: الرئيسي 22 والفرعي 15 محايد يتلوّن عند التفعيل (4-ب)؛ ترويسة الداكن زجاج غامق (طلب المالك).
   القواعد الثابتة: كل لون من رموز :root · أرقام غربية · أيقونات SVG خطّية متوهّجة بلا إطار
   بطابع 3D «النقش المضيء» (بروز + هالة) · الترويسة ورأس الجدول بلون معكوس (كاشف في الداكن، غامق في الفاتح)
   · الصينية الزجاجية للمحتوى والبطاقات معتمة (عزل النصّ عن الزجاج) · النيون الناعم للأزرار والشارات
   · مقياس الطباعة 15 (نصّ 15 · تسمية 12.5 · عنوان بطاقة 16 · عنوان صفحة 22 · رقم 28).
   ============================================================================ */
/* (الحزمة 88 — الجولة 40: خ-د) خطّ واحد للعربي واللاتيني والأرقام: Readex Pro متغيّر الوزن 200–700 (woff2 مقسَّم بنطاقات يونيكود — يُحمَّل ما يلزم فقط) */
@font-face{font-family:'Readex Pro';src:url(assets/fonts/ReadexPro-arabic.woff2) format('woff2');font-weight:200 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Readex Pro';src:url(assets/fonts/ReadexPro-latin.woff2) format('woff2');font-weight:200 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Readex Pro';src:url(assets/fonts/ReadexPro-latin-ext.woff2) format('woff2');font-weight:200 700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ==================== الرموز (الحزمة 19 — قرارات الجولات 10/11/12: الغرافيت الزجاجي · الأفق المصفّى · برنامج الجودة) ====================
   مقياس الطباعة: 5 أحجام (--t-xl 28 · --t-lg 20 · --t-md 15 · --t-sm 13 · --t-xs 12) + --t-2xs 10.5 للشارات الدقيقة فقط.
   الزوايا: --r 14 (بطاقات) · --r-sm 10 (حقول وأزرار) · --r-xs 6 (شارات وأكواد) · --r-lg 18 (نوافذ) · 999 (رقاقات).
   الارتفاع: 3 درجات فقط — --sh-1 مسطّح (حدّ) · --sh-2 مرفوع (بطاقة) · --sh-3 عائم (نافذة/قائمة/توست). لا ظلال ملوّنة ولا توهّج نصّي.
   مقاسات التحكّم: --h-ctl 36 (حقل/زرّ) · --h-sm 30 · شبكة المسافات 4/8.
   الحركة (الحزمة 20 — الرافعة 5): ثلاث مدد فقط --d1 120 (ضغط/تحويم) · --d2 200 (فتح/إغلاق) · --d3 320 (انتقال/بناء البيانات)
   بمنحنى واحد --ease؛ لا حركة دائمة؛ الضغط يصغّر 3%؛ النوافذ والقوائم تنبثق من مصدرها (--ox/--oy)؛ التحميل شريط رفيع أسفل الترويسة.
   (الحزمة 80) مقياس الطباعة الجديد: --t-3xl 40 · 2xl 30 · xl 24 · lg 19 · md 16 · sm 14 · xs 13 · 2xs 12 — لا عربي تحت 12؛ --t-md 16 يمنع تكبير iOS للحقول. التحكّم 40 (هدف اللمس). */
/* ==================== (الحزمة 80 — عودة التصميم §3-أ + الجولة 38 ج) السلّم الأوّلي: لا يقرؤه محدِّد مباشرةً — الرموز الدلالية وحدها تشير إليه ====================
   الطبقات --z-*: بدل الأرقام الحرفية (قاعدة الفاحص «layer») · الأوزان --w-*: بدل 400/500/600/700 (قاعدة «weight») · --sp-* اختيارية للجديد. */
:root{--navy-50:#EEF1F9;--navy-100:#D9E0F1;--navy-200:#B3C0E2;--navy-300:#8497CB;--navy-400:#5670B0;--navy-500:#2F4C93;--navy-600:#1A3478;--navy-700:#0D2468;--navy-800:#061C60;--navy-900:#00175A;--navy-950:#000D38;
  --blue-50:#EEF0FF;--blue-100:#DDE1FF;--blue-200:#BCC3FF;--blue-300:#97A1FF;--blue-400:#6C78F5;--blue-500:#3A48E0;--blue-600:#0616C4;--blue-700:#0512A3;--blue-800:#040E80;--blue-900:#030B62;--blue-950:#020741;
  --violet-50:#F5F0FE;--violet-100:#EBE0FD;--violet-200:#D6C2FB;--violet-300:#BC9DF7;--violet-400:#9E6FF2;--violet-500:#8042EB;--violet-600:#6A2BD3;--violet-700:#5621AD;--violet-800:#431A87;--violet-900:#321466;--violet-950:#1F0C42;
  --gray-0:#FFFFFF;--gray-25:#F9FAFC;--gray-50:#F3F4F8;--gray-100:#E8EAF0;--gray-200:#D5D8E2;--gray-300:#B5BAC8;--gray-400:#8C92A4;--gray-500:#656B7F;--gray-600:#535970;--gray-700:#3E4357;--gray-800:#2A2E3E;--gray-850:#1F2230;--gray-900:#171A25;--gray-950:#0E1018;--gray-1000:#11141D;
  --green-50:#EAF7F0;--green-100:#CDEEDC;--green-200:#9EDDBB;--green-300:#62C890;--green-400:#3BB273;--green-500:#1E955A;--green-600:#0B7A43;--green-700:#0A6337;--green-800:#0A4D2C;--green-900:#083A22;
  --amber-50:#FDF6E7;--amber-100:#FBEAC4;--amber-200:#F7D58A;--amber-300:#F5C542;--amber-400:#EDAA2A;--amber-500:#D08A12;--amber-600:#AD6E0B;--amber-700:#8A560A;--amber-800:#6B430C;--amber-900:#4F320C;
  --red-50:#FDEEF1;--red-100:#FAD4DC;--red-200:#F5A8B8;--red-300:#F07C95;--red-400:#E4506F;--red-500:#D42A52;--red-600:#C4153F;--red-700:#A11034;--red-800:#7F0E2A;--red-900:#5E0B20;
  --sky-50:#EBF4FF;--sky-100:#CFE3FF;--sky-200:#A2CBFF;--sky-300:#6BB0FF;--sky-400:#3A90F0;--sky-500:#1575DD;--sky-600:#0060C7;--sky-700:#004FA3;--sky-800:#003E80;--sky-900:#002E5F;
  --tint-blue-d:#262B4D;--tint-violet-d:#2B1F47;--tint-green-d:#173327;--tint-amber-d:#3A2E14;--tint-red-d:#3A1A25;--tint-sky-d:#14283F;
  --data-2-l:#0E8A68;--data-3-l:#B06A0E;--data-7-l:#9A700A;
  --metal-gold:#D4A017;--metal-gold-lo:#A67C0F;--metal-silver:#A3AAB8;--metal-silver-lo:#7C8496;--metal-bronze:#B8702F;--metal-bronze-lo:#8D5421;
  --z-under:-1;--z-base:0;--z-raise:1;--z-raise2:2;--z-raise3:3;--z-sticky:10;--z-nav:20;--z-scrim:29;--z-drawer:30;--z-bnav:40;--z-fab:41;--z-pop:60;--z-modal:100;--z-palette:120;--z-toast:200;--z-tip:300;--z-reveal:300;--z-force:400;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;
  --w-reg:400;--w-med:500;--w-semi:600;--w-bold:700;--lh-body:1.65;--lh-tight:1.3;--font:'Readex Pro',system-ui,sans-serif}
:root{--gate-v1:#5B2FD6;--gate-v2:#8042EB;--gate-v3:#B07BFF;--gate-m1:#00175A;--gate-m2:#0616C4;--gate-m3:#3D6BFF;--gate-glow:rgba(255,255,255,.08);--gate-glow2:rgba(255,255,255,.16);--gate-go:#FFFFFF;--gate-go-ink:#0616C4;--gate-ink:#FFFFFF;--gold-m:#D4A017;--gold-m2:#F2CF7A;--silver-m:#9AA1B0;--silver-m2:#E6E8EE;--bronze-m:#B8702F;--bronze-m2:#E0A878;--r:14px;--r-sm:10px;--r-xs:6px;--r-lg:18px;--ease:cubic-bezier(.2,.7,.2,1);--dur:var(--d3);--d1:120ms;--d2:200ms;--d3:320ms;--side-w:250px;--top-h:60px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);
  --t-xl:24px;--t-lg:19px;--t-md:16px;--t-sm:14px;--t-xs:13px;--t-2xs:12px;--fs:var(--t-md);--fs-sm:var(--t-sm);--h-ctl:40px;--h-sm:32px}
/* ==================== (الحزمة 88 — الجولة 40: م-أ) سلالم Radix Colors 3.0 (MIT): 12 خطوة لكل لون بدور ثابت — 1–2 أرضيات · 3–5 أسطح تفاعلية · 6–8 حدود · 9–10 مصمت · 11 نصّ · 12 نصّ عالي التباين؛
   والنسخة الداكنة مطابقة الدور. تستعملها الكسوة «الخارطة» (وكل ما يُبنى بعدها)؛ سلالم الحزمة 80 أعلاه تبقى للكسوات الثلاث القديمة. ==================== */
:root[data-mode=light]{--gray-1:#fcfcfc;--gray-2:#f9f9f9;--gray-3:#f0f0f0;--gray-4:#e8e8e8;--gray-5:#e0e0e0;--gray-6:#d9d9d9;--gray-7:#cecece;--gray-8:#bbbbbb;--gray-9:#8d8d8d;--gray-10:#838383;--gray-11:#646464;--gray-12:#202020;--slate-1:#fcfcfd;--slate-2:#f9f9fb;--slate-3:#f0f0f3;--slate-4:#e8e8ec;--slate-5:#e0e1e6;--slate-6:#d9d9e0;--slate-7:#cdced6;--slate-8:#b9bbc6;--slate-9:#8b8d98;--slate-10:#80838d;--slate-11:#60646c;--slate-12:#1c2024;--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c;--blue-1:#fbfdff;--blue-2:#f4faff;--blue-3:#e6f4fe;--blue-4:#d5efff;--blue-5:#c2e5ff;--blue-6:#acd8fc;--blue-7:#8ec8f6;--blue-8:#5eb1ef;--blue-9:#0090ff;--blue-10:#0588f0;--blue-11:#0d74ce;--blue-12:#113264;--violet-1:#fdfcfe;--violet-2:#faf8ff;--violet-3:#f4f0fe;--violet-4:#ebe4ff;--violet-5:#e1d9ff;--violet-6:#d4cafe;--violet-7:#c2b5f5;--violet-8:#aa99ec;--violet-9:#6e56cf;--violet-10:#654dc4;--violet-11:#6550b9;--violet-12:#2f265f;--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d;--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422;--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723;--sky-1:#f9feff;--sky-2:#f1fafd;--sky-3:#e1f6fd;--sky-4:#d1f0fa;--sky-5:#bee7f5;--sky-6:#a9daed;--sky-7:#8dcae3;--sky-8:#60b3d7;--sky-9:#7ce2fe;--sky-10:#74daf8;--sky-11:#00749e;--sky-12:#1d3e56}
:root[data-mode=dark]{--gray-1:#111111;--gray-2:#191919;--gray-3:#222222;--gray-4:#2a2a2a;--gray-5:#313131;--gray-6:#3a3a3a;--gray-7:#484848;--gray-8:#606060;--gray-9:#6e6e6e;--gray-10:#7b7b7b;--gray-11:#b4b4b4;--gray-12:#eeeeee;--slate-1:#111113;--slate-2:#18191b;--slate-3:#212225;--slate-4:#272a2d;--slate-5:#2e3135;--slate-6:#363a3f;--slate-7:#43484e;--slate-8:#5a6169;--slate-9:#696e77;--slate-10:#777b84;--slate-11:#b0b4ba;--slate-12:#edeef0;--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff;--blue-1:#0d1520;--blue-2:#111927;--blue-3:#0d2847;--blue-4:#003362;--blue-5:#004074;--blue-6:#104d87;--blue-7:#205d9e;--blue-8:#2870bd;--blue-9:#0090ff;--blue-10:#3b9eff;--blue-11:#70b8ff;--blue-12:#c2e6ff;--violet-1:#14121f;--violet-2:#1b1525;--violet-3:#291f43;--violet-4:#33255b;--violet-5:#3c2e69;--violet-6:#473876;--violet-7:#56468b;--violet-8:#6958ad;--violet-9:#6e56cf;--violet-10:#7d66d9;--violet-11:#baa7ff;--violet-12:#e2ddfe;--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb;--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3;--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9;--sky-1:#0d141f;--sky-2:#111a27;--sky-3:#112840;--sky-4:#113555;--sky-5:#154467;--sky-6:#1b537b;--sky-7:#1f6692;--sky-8:#197cae;--sky-9:#7ce2fe;--sky-10:#a8eeff;--sky-11:#75c7f0;--sky-12:#c2f3ff}
/* ---------- الفاتح (الحزمة 80 — الجولة 38 ج «العمق الزجاجي» + 3-أ ألوان الهوية): أرضية بكرات لونية ضبابية وأرضية منظور، سطحان زجاجيان كبيران (.side/.top — الصينية .tray أُلغيت في الحزمة 88)، بطاقات شفيفة بلا ضبابية، الأزرار والحقول مسطّحة ---------- */
:root[data-mode=light]{color-scheme:light;--stage-a:#0A2266;--stage-b:#2E3FBF;--stage-c:#6E63E6;
  --bg:#EEF0FA;--bg-img:radial-gradient(520px 320px at 12% 10%,rgba(128,66,235,.55),transparent 62%),radial-gradient(620px 360px at 88% 30%,rgba(6,22,196,.5),transparent 62%),radial-gradient(500px 300px at 50% 100%,rgba(21,117,221,.45),transparent 62%);--grid-ln:rgba(0,23,90,.08);
  --surface:var(--gray-0);--surface2:var(--gray-50);--solid:var(--gray-0);--field:var(--gray-50);--line:rgba(17,20,29,.08);--line2:rgba(17,20,29,.05);--line-hi:var(--gray-200);--ink:var(--gray-1000);--ink2:var(--gray-700);--mute:var(--gray-500);--ink-dis:var(--gray-500);
  --pri:var(--blue-600);--pri2:var(--navy-900);--pri-soft:var(--blue-50);--pri-ink:var(--gray-0);--pri-hover:var(--blue-700);--pri-press:var(--blue-800);--field-hover:var(--gray-100);--row-hover:var(--gray-25);--focus:var(--pri);--focus-hero:var(--gray-0);--scrim:rgba(14,16,24,.48);
  --sh-1:none;--sh-2:inset 0 1px 0 #fff,0 1px 3px rgba(17,20,29,.06);--sh-3:0 12px 32px rgba(17,20,29,.14);--shadow:var(--sh-2);--shadow-lg:var(--sh-3);--sh-glass:inset 0 1px 0 #fff,0 24px 50px -24px rgba(0,23,90,.45);
  --glass:rgba(255,255,255,.55);--glass-m:rgba(255,255,255,.86);--glass-blur:blur(18px) saturate(1.3);--tray-blur:var(--glass-blur);--tray-line:rgba(255,255,255,.75);--edge:#fff;--glass-hi:rgba(255,255,255,.92);
  --card-bg:rgba(255,255,255,.62);--card-line:rgba(255,255,255,.8);--card-blur:none;--card-mix:color-mix(in srgb,#fff 62%,color-mix(in srgb,#fff 55%,var(--bg)));--track:var(--gray-100);
  --ibtn-bg:rgba(255,255,255,.7);--ibtn-line:rgba(255,255,255,.8);--bnav-bg:rgba(255,255,255,.7);--bnav-line:rgba(255,255,255,.8);
  --head-bg:rgba(255,255,255,.35);--head-ink:var(--navy-900);--head-line:rgba(17,20,29,.06);--head-accent:linear-gradient(90deg,var(--violet-500),var(--blue-600));
  --top-bg:var(--navy-900);--top-bg2:rgba(0,23,90,.78);--top-blur:var(--glass-blur);--top-ink:var(--navy-50);--top-mute:var(--navy-200);--top-line:rgba(255,255,255,.14);--th-bg:var(--gray-50);--th-ink:var(--gray-500);--th-line:rgba(17,20,29,.08);--zebra:rgba(17,20,29,.025);
  --side-bg:rgba(0,23,90,.78);--side-blur:var(--glass-blur);--side-line:rgba(255,255,255,.14);--side-ink:var(--navy-50);--side-mute:var(--navy-200);--side-on:rgba(255,255,255,.12);--menu:var(--gray-0);--tip-bg:var(--gray-1000);--tip-ink:#fff;--grid:var(--line-hi);--grid2:rgba(6,22,196,.05);--axis:var(--gray-500);--dim:.22;--deep:#28306B;--lite:#fff;
  --ok:var(--green-600);--warn:var(--amber-700);--bad:var(--red-600);--info:var(--sky-600);--vio:var(--violet-600);--gold:#8F6808;
  --ok-soft:var(--green-50);--warn-soft:var(--amber-50);--bad-soft:var(--red-50);--info-soft:var(--sky-50);--vio-soft:var(--violet-50);--sv-yellow:var(--amber-300);--sv-yellow-ink:var(--amber-700);
  --c1:var(--blue-500);--c2:var(--data-2-l);--c3:var(--data-3-l);--c4:var(--violet-500);--c5:#D9506A;--c6:var(--sky-500);--c7:var(--data-7-l);--c8:#2E6B52}
/* ---------- الداكن (الحزمة 80): الكرات نفسها على #070A1C، الزجاج rgba(20,24,40,.5)، البطاقات 6% أبيض، لا أسود خالص ---------- */
:root[data-mode=dark]{color-scheme:dark;--stage-a:#0B1A4A;--stage-b:#2431A0;--stage-c:#5346C8;
  --bg:#070A1C;--bg-img:radial-gradient(520px 320px at 12% 10%,rgba(128,66,235,.5),transparent 62%),radial-gradient(620px 360px at 88% 30%,rgba(6,22,196,.6),transparent 62%),radial-gradient(500px 300px at 50% 100%,rgba(21,117,221,.4),transparent 62%);--grid-ln:rgba(255,255,255,.08);
  --surface:rgba(255,255,255,.06);--surface2:var(--gray-850);--solid:var(--gray-900);--field:var(--gray-850);--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.06);--line-hi:var(--gray-700);--ink:#ECEEF4;--ink2:#C6CAD6;--mute:var(--gray-400);--ink-dis:var(--gray-400);
  --pri:var(--blue-300);--pri2:var(--blue-400);--pri-soft:var(--tint-blue-d);--pri-ink:var(--navy-950);--pri-hover:var(--blue-200);--pri-press:var(--blue-100);--field-hover:var(--gray-800);--row-hover:var(--gray-850);--focus:var(--pri);--focus-hero:var(--gray-0);--scrim:rgba(0,0,0,.64);
  --sh-1:none;--sh-2:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(255,255,255,.06);--sh-3:0 12px 32px rgba(0,0,0,.55);--shadow:var(--sh-2);--shadow-lg:var(--sh-3);--sh-glass:inset 0 1px 0 rgba(255,255,255,.12),0 24px 50px -24px #000;
  --glass:rgba(20,24,40,.5);--glass-m:rgba(20,24,40,.82);--glass-blur:blur(18px) saturate(1.3);--tray-blur:var(--glass-blur);--tray-line:rgba(255,255,255,.14);--edge:rgba(255,255,255,.12);--glass-hi:rgba(31,34,48,.94);
  --card-bg:rgba(255,255,255,.06);--card-line:rgba(255,255,255,.12);--card-blur:none;--card-mix:color-mix(in srgb,#fff 6%,color-mix(in srgb,#141828 50%,var(--bg)));--track:var(--gray-800);
  --ibtn-bg:rgba(255,255,255,.08);--ibtn-line:rgba(255,255,255,.14);--bnav-bg:rgba(255,255,255,.08);--bnav-line:rgba(255,255,255,.14);
  --head-bg:rgba(255,255,255,.04);--head-ink:#ECEEF4;--head-line:rgba(255,255,255,.08);--head-accent:linear-gradient(90deg,var(--blue-300),var(--violet-300));
  --top-bg:#141828;--top-bg2:rgba(20,24,40,.6);--top-blur:var(--glass-blur);--top-ink:#ECEEF4;--top-mute:var(--gray-400);--top-line:rgba(255,255,255,.14);--th-bg:var(--gray-850);--th-ink:var(--gray-400);--th-line:rgba(255,255,255,.08);--zebra:rgba(255,255,255,.03);
  --side-bg:rgba(20,24,40,.6);--side-blur:var(--glass-blur);--side-line:rgba(255,255,255,.14);--side-ink:#C6CAD6;--side-mute:var(--gray-400);--side-on:rgba(255,255,255,.08);--menu:var(--gray-850);--tip-bg:#ECEEF4;--tip-ink:var(--gray-1000);--grid:var(--line-hi);--grid2:rgba(255,255,255,.06);--axis:var(--gray-400);--dim:.18;--deep:#000;--lite:#fff;
  --ok:var(--green-300);--warn:var(--amber-300);--bad:var(--red-300);--info:var(--sky-300);--vio:var(--violet-300);--gold:#F2CF7A;
  --ok-soft:var(--tint-green-d);--warn-soft:var(--tint-amber-d);--bad-soft:var(--tint-red-d);--info-soft:var(--tint-sky-d);--vio-soft:var(--tint-violet-d);--sv-yellow:var(--amber-300);--sv-yellow-ink:var(--amber-300);
  --c1:var(--blue-300);--c2:#4FD1A8;--c3:#E8B45C;--c4:var(--violet-300);--c5:#F595A8;--c6:var(--sky-300);--c7:#F2CF7A;--c8:#7FC7A8}
/* الهاتف ≤820 وبلا دعم للضبابية وتفضيل تقليل الشفافية: السطحان الكبيران بلا ضبابية وبعتامة أعلى (.86 فاتح / .82 داكن) — الأرضية والمنظور يبقيان */
@media (max-width:820px){:root[data-mode]{--glass:var(--glass-m);--tray-blur:none;--side-blur:none;--top-blur:none}:root[data-skin=legacy]{--side-bg:rgba(0,23,90,.94);--top-bg2:rgba(0,23,90,.94)}}
@supports not (backdrop-filter:blur(1px)){:root[data-mode]{--glass:var(--glass-m);--tray-blur:none;--side-blur:none;--top-blur:none}}
@media (prefers-reduced-transparency:reduce){:root[data-mode]{--glass:var(--solid);--card-bg:var(--solid);--tray-blur:none;--side-blur:none;--top-blur:none;--ibtn-bg:var(--solid);--bnav-bg:var(--solid);--bg-img:none}}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);background-image:var(--bg-img);background-attachment:fixed;color:var(--ink);font-family:var(--font);font-variant-numeric:tabular-nums;font-size:var(--fs);line-height:var(--lh-body);overflow-x:hidden;cursor:default}
/* (الحزمة 80 — ج) أرضية المنظور: شبكة كل 48px بمنظور تتلاشى نحو الأعلى، ثابتة خلف المحتوى */
body::before{content:"";position:fixed;inset:0;z-index:var(--z-under);pointer-events:none;background:repeating-linear-gradient(90deg,var(--grid-ln) 0 1px,transparent 1px 48px),repeating-linear-gradient(0deg,var(--grid-ln) 0 1px,transparent 1px 48px);transform:perspective(600px) rotateX(58deg) translateY(120px) scale(1.6);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(to top,#000 0,transparent 70%);mask-image:linear-gradient(to top,#000 0,transparent 70%)}
.num,.latin,input[type=number],input[type=date],input[type=time]{font-family:var(--font);font-variant-numeric:tabular-nums}
a{color:var(--pri)}
button{font:inherit;color:inherit;cursor:pointer}
a[href],button:not(:disabled),.row,.chip,.pill,.lg,[data-id],.tcard{cursor:pointer}
.tcard{cursor:grab}.tcard.drag{cursor:grabbing}
::selection{background:color-mix(in srgb,var(--pri) 30%,transparent)}
:focus-visible{outline:2px solid var(--pri);outline-offset:2px;}
:focus:not(:focus-visible){outline:none}
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--pri) 38%,transparent) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--pri) 38%,transparent);border-radius:var(--r-sm);border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--pri) 60%,transparent);background-clip:padding-box}
[hidden]{display:none!important}

/* ---------------- الأيقونات: SVG خطّية بلا إطار · «النقش المضيء» = بروز + هالة ----------------
   الداكن: البروز يميل إلى الأسود فيُقرأ عمقاً على الأرضية الغامقة.
   الفاتح (تصحيح المالك 2026-09-07): الأسود يظهر ظلاًّ قبيحاً تحت الأيقونات الكبيرة —
   فصار البروز **بلون الأيقونة نفسها مغمَّقاً نحو كحلي الهوية** (--deep) بطبقة واحدة رفيعة،
   ومعه ظلّ ملوَّن ناعم وهالة خفيفة. النتيجة عمق من لون العنصر لا سواد. */
svg.ic{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block;width:20px;height:20px;flex:none}
.i3,.glow{color:var(--ic,var(--pri));}




/* ---------------- الهيكل ---------------- */
#app{display:grid;grid-template-columns:var(--side-w) 1fr;min-height:100vh;transition:grid-template-columns var(--d2) var(--ease)}
#app.mini{--side-w:78px}
.side{background:var(--side-bg);color:var(--side-ink);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:calc(14px + var(--sat)) 10px 12px;gap:2px;z-index:var(--z-drawer);overflow:hidden;backdrop-filter:var(--side-blur);border-inline-end:1px solid var(--side-line)}
.side::before{content:"";position:absolute;inset:-60px auto auto -60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--vio) 35%,transparent),transparent 70%);pointer-events:none}
.side .brand{display:flex;align-items:center;gap:8px;padding:4px 8px 14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:6px;position:relative;min-height:52px}
.side .brand img{height:26px;filter:invert(1);flex:none}
.side .brand small{display:block;font-size:var(--t-xs);color:var(--side-mute);white-space:nowrap}
.side .brand .live{margin-inline-start:auto;width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}


.nav{display:flex;flex-direction:column;gap:2px;overflow:auto;overflow-x:hidden;flex:1;min-height:0;position:relative}
.nav .gl{font-size:var(--t-xs);color:var(--side-mute);padding:10px 12px 4px;font-weight:var(--w-med);white-space:nowrap}
.nav a{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--r-sm);color:var(--side-ink);text-decoration:none;font-size:var(--t-sm);font-weight:var(--w-med);position:relative;transition:background var(--d1),transform var(--d2) var(--ease);white-space:nowrap}
.nav a svg.ic{width:20px;height:20px;color:var(--ic)}
.nav a:hover{background:var(--side-on)}

.nav a.on{background:var(--side-on);color:#fff;font-weight:var(--w-semi)}
.nav a.on::before{content:"";position:absolute;inset-inline-start:-10px;top:8px;bottom:8px;width:3px;border-radius:3px;background:linear-gradient(180deg,color-mix(in srgb,var(--vio) 70%,#fff),color-mix(in srgb,var(--info) 60%,#fff));}
.nav a .badge{margin-inline-start:auto;font-family:var(--font);font-size:var(--t-2xs);background:var(--bad);color:#fff;border-radius:999px;min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 4px;}
/* الفرعيات (4-ب): أيقونة 15px لكل صفحة بلون النصّ المحايد، تتلوّن بلون القسم وتتوهّج عند التفعيل */
.nav .sub{display:flex;flex-direction:column;gap:1px;padding-inline-start:16px;overflow:hidden;max-height:0;transition:max-height var(--d2) var(--ease)}
/* (الحزمة 37) كان الحدّ 320 يقصّ القوائم الطويلة (المتطوعون 12 صفحة) فتختفي صفحاتها الأخيرة عن المسؤولين */
.nav .grp.open .sub{max-height:1600px}
.nav .sub a{padding:4px 12px;gap:8px;font-size:var(--t-xs);font-weight:var(--w-reg);color:var(--side-mute)}
.nav .sub a svg.ic{width:15px;height:15px;color:currentColor;opacity:.85;filter:none;transition:color var(--d1),opacity var(--d1)}
.nav .sub a.on{color:#fff;background:transparent}
.nav .sub a.on svg.ic{color:var(--ic);opacity:1;}
.nav .sub a.on::before{display:none}
/* الشريط المطويّ: أيقونة رئيسية 24px والفرعيات قائمة عائمة عند المرور (.fly تُبنى من app.js) */
#app.mini .nav a svg.ic{width:24px;height:24px}
.fly{position:fixed;z-index:var(--z-pop);min-width:200px;padding:8px;border-radius:var(--r);background:var(--menu);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:pop var(--d2) var(--ease) backwards}
.fly .t{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--mute);padding:4px 10px 6px;display:flex;align-items:center;gap:8px}
.fly .t svg.ic{width:16px;height:16px;color:var(--ic);}
.fly a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--ink2);text-decoration:none;white-space:nowrap}
.fly a svg.ic{width:15px;height:15px;color:currentColor;opacity:.85}
.fly a:hover{background:var(--field);color:var(--ink)}
.fly a.on{color:var(--ink);font-weight:var(--w-semi);background:color-mix(in srgb,var(--ic) 12%,transparent)}
.fly a.on svg.ic{color:var(--ic);opacity:1;}
.side .uc{margin-top:8px;display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background var(--d1)}
.side .uc:hover{background:rgba(255,255,255,.1)}
.side .uc i{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--vio),var(--pri2));display:inline-grid;place-items:center;font-family:var(--font);font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--pri-ink);font-style:normal;box-shadow:0 0 0 2px rgba(255,255,255,.12);flex:none}
.side .uc b{display:block;font-size:var(--t-xs);color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side .uc small{font-size:var(--t-2xs);color:var(--side-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.side .uc .t{min-width:0;flex:1}
.side .foot{font-size:var(--t-2xs);color:var(--side-mute);padding:8px 6px 0;display:flex;justify-content:space-between;align-items:center;gap:6px}
.side .foot .fold{width:30px;height:30px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--side-mute);display:grid;place-items:center;transition:background var(--d1),transform var(--d2) var(--ease)}
.side .foot .fold:hover{background:rgba(255,255,255,.08);color:#fff}
.side .foot .fold svg.ic{width:15px;height:15px;transition:transform var(--d2) var(--ease)}
#app.mini .side{padding-inline:8px}
#app.mini .side .brand{justify-content:center;padding-inline:0}
#app.mini .side .brand small,#app.mini .side .brand .live,#app.mini .nav .gl,#app.mini .nav a span,#app.mini .nav a .badge,#app.mini .nav .sub,#app.mini .side .uc .t,#app.mini .side .foot .tag{display:none}
#app.mini .nav a{justify-content:center;padding:10px}
#app.mini .nav a.on::before{inset-inline-start:-8px}
#app.mini .side .uc{justify-content:center;padding:6px}
#app.mini .side .foot{justify-content:center}
#app.mini .side .foot .fold svg.ic{transform:scaleX(-1)}
.main{min-width:0;display:flex;flex-direction:column}
/* الترويسة — زجاج غامق في الوضعين (الحزمة 7: كانت كاشفة في الداكن، ورآها المالك غير مناسبة) */
.top{min-height:calc(var(--top-h) + var(--sat));padding:var(--sat) 24px 0;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--top-line);background:var(--top-bg2);color:var(--top-ink);position:sticky;top:0;z-index:var(--z-nav);backdrop-filter:var(--top-blur);box-shadow:var(--sh-2)}
:root[data-mode=dark] .top{box-shadow:var(--sh-2)}
.top .bc{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--t-sm);color:var(--top-mute)}
.top .bc a{color:var(--top-mute);text-decoration:none;white-space:nowrap}
.top .bc a:hover{color:var(--top-ink)}
.top .bc svg.ic{width:13px;height:13px;transform:scaleX(-1);color:var(--top-mute);flex:none}
[dir=ltr] .top .bc svg.ic{transform:none}
.top h1{font-size:var(--t-lg);font-weight:var(--w-semi);margin:0;color:var(--top-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}
.top h1 small{font-size:var(--t-xs);color:var(--top-mute);font-weight:var(--w-reg)}
.top .sp{flex:1}
.top .srch{display:flex;align-items:center;gap:8px;border:1px solid var(--top-line);border-radius:var(--r-sm);padding:8px 12px;background:color-mix(in srgb,var(--top-ink) 6%,transparent);color:var(--top-mute);font-size:var(--t-xs);width:min(280px,32vw);cursor:text;transition:border-color var(--d1),box-shadow var(--d1);white-space:nowrap;overflow:hidden}
.top .srch:hover{border-color:color-mix(in srgb,var(--top-ink) 30%,transparent)}
.top .srch svg.ic{width:15px;height:15px;flex:none}
.top .srch span{flex:1;overflow:hidden;text-overflow:ellipsis}
.top .srch kbd{font-family:var(--font);font-size:var(--t-2xs);border:1px solid var(--top-line);border-radius:var(--r-xs);padding:0 4px;color:var(--top-mute);flex:none}
/* أزرار الترويسة — أقراص ممتلئة هادئة (7-ب · هدوء 2): قرص مصبوغ بلون الزر 22% وأيقونة بلونها متوهّجة */
.ibtn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ic,var(--top-mute)) 35%,transparent);background:color-mix(in srgb,var(--ic,var(--top-mute)) 22%,var(--top-bg));color:var(--ic,var(--top-ink));cursor:pointer;position:relative;transition:background var(--d1),transform var(--d2) var(--ease),box-shadow var(--d2);flex:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.ibtn:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 3px color-mix(in srgb,var(--ic,var(--top-mute)) 14%,transparent)}
.ibtn:active{transform:scale(.97)}
.ibtn svg.ic{width:18px;height:18px;}
.ibtn .dot{position:absolute;top:5px;inset-inline-end:5px;width:8px;height:8px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 2px var(--top-bg)}

/* الأزرار الأيقونية داخل المحتوى (النوافذ والجداول) تبقى مربّعة هادئة */
.md .ibtn,.cb .ibtn,.items-t .ibtn,.ml .ibtn,.frm .ibtn,.tools .ibtn,.ch .ibtn,td .ibtn{--ic:var(--ink2);border-radius:var(--r-sm);background:var(--field);border:1px solid var(--line);color:var(--ink2);box-shadow:none}
.md .ibtn:hover,.cb .ibtn:hover,.ml .ibtn:hover,.ch .ibtn:hover,td .ibtn:hover{background:var(--surface2);box-shadow:var(--shadow)}
.md .ibtn svg.ic,.cb .ibtn svg.ic,.ml .ibtn svg.ic,.ch .ibtn svg.ic,td .ibtn svg.ic{filter:none}
.top .add{--ic:var(--vio);color:#fff;background:radial-gradient(130% 130% at 30% 20%,color-mix(in srgb,var(--vio) 72%,#fff),var(--vio) 55%,var(--pri2));border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),var(--sh-2)}
.top .add svg.ic{filter:none}
.who{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--top-line);background:color-mix(in srgb,var(--top-ink) 6%,transparent);color:var(--top-ink);cursor:pointer;font-size:var(--t-xs);max-width:200px}
.who>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who i{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--vio),var(--pri2));color:var(--pri-ink);display:inline-grid;place-items:center;font-family:var(--font);font-size:var(--t-2xs);font-weight:var(--w-semi);font-style:normal;flex:none}
/* (الحزمة 88 — هـ-أ) الصينية أُلغيت: المحتوى مباشرةً على الأرضية والبطاقة هي الحاوية الوحيدة (مستويان كالخارطة) */
.content{padding:20px 24px 32px;flex:1;min-width:0}
#view{animation:page var(--dur) var(--ease) backwards}
@keyframes page{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hamb{display:none}
/* الترحيب اليومي (2-ج) — في اللوحة فقط */
.greet{display:flex;align-items:center;gap:16px;padding:14px 18px;margin-bottom:14px;border-radius:var(--r);border:1px solid var(--card-line);background:var(--card-bg);box-shadow:var(--shadow);position:relative}
.greet h2{margin:0;font-size:var(--t-lg);font-weight:var(--w-semi)}
.greet p{margin:2px 0 0;font-size:var(--t-sm);color:var(--ink2)}
.greet p b{color:var(--warn);font-weight:var(--w-semi)}
.greet .date{margin-inline-start:auto;text-align:end;font-family:var(--font);font-size:var(--t-xs);color:var(--mute);white-space:nowrap}
.greet .date b{display:block;font-size:var(--t-xl);color:var(--ink);font-weight:var(--w-semi);line-height:1.1}
.greet .ar{font-family:var(--font)}

/* ---------------- البطاقات (5-أ: ترويسة مصبوغة مع أيقونة ملوّنة) ---------------- */
/* الجولة 6: البطاقة زجاج (الفاتح 76% أبيض بضبابية 14 · الداكن تدرّج لمعان 11%→3.5% بضبابية 16)
   وفي الداكن حافة متدرّجة تبدأ بيضاء وتنتهي بلون القسم (::before بقناع) وظلّ ملوَّن بلون القسم */
.card{background:var(--card-bg);border:1px solid var(--card-line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;position:relative}
.card::before,.strip::before,.grid.g4:has(>.kpi)::before,.greet::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:var(--z-raise2);background:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
:root[data-mode=dark] .card::before,:root[data-mode=dark] .strip::before,:root[data-mode=dark] .grid.g4:has(>.kpi)::before,:root[data-mode=dark] .greet::before{background:linear-gradient(160deg,rgba(255,255,255,.3),rgba(255,255,255,.05) 40%,color-mix(in srgb,var(--ic,var(--pri)) 20%,transparent))}
:root[data-mode=dark] .card,:root[data-mode=dark] .strip,:root[data-mode=dark] .grid.g4:has(>.kpi){box-shadow:var(--sh-2)}
:root[data-mode=dark] .ch{background:linear-gradient(90deg,color-mix(in srgb,var(--ic,var(--pri)) 14%,transparent),color-mix(in srgb,var(--ic,var(--pri)) 4%,transparent))}
:root[data-mode=dark] .ch::after{background:linear-gradient(90deg,var(--ic,var(--pri)),transparent)}

@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ch{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--head-bg);color:var(--head-ink);border-bottom:1px solid var(--head-line);position:relative;flex-wrap:wrap}
.ch::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--head-accent);opacity:.9}
.ch h3{font-size:var(--t-md);font-weight:var(--w-semi);margin:0;display:flex;align-items:center;gap:8px}
.ch h3 svg.ic{width:20px;height:20px;color:var(--ic,var(--pri));}
.ch .f{margin-inline-start:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cb{padding:16px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
/* الشريط الموحّد (1-أ): خلايا متلاصقة بفواصل شعرية، أيقونة كبيرة بلا إطار، والحلقة تحمل قيمتها */
.grid.g4:has(>.kpi),.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--card-bg);border:1px solid var(--card-line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);position:relative}
.kpi{display:flex;align-items:center;gap:12px;padding:16px;border-inline-start:1px solid var(--line2);min-width:0;cursor:pointer;transition:background var(--d2);animation:none;position:relative}
.kpi:first-child{border-inline-start:0}
.kpi:hover{background:color-mix(in srgb,var(--ic) 8%,transparent)}
/* (الحزمة 10 — طلب المالك) أيقونة المؤشّر تملأ **60% من ارتفاع البطاقة** (البطاقة 104px ⇒ الأيقونة 62px)
   بنِسَبها الأصلية (viewBox 24 مربّع)، وسماكة الخطّ تُخفَّض كي لا تثقل مع التكبير (1.05 × 62/24 ≈ 2.7px). */
.kpi .ico{width:64px;height:64px;display:grid;place-items:center;flex:none}
.kpi .ico svg.ic{width:62px;height:62px;stroke-width:1.05}
:root[data-mode=light] .kpi .ico svg.ic{stroke-width:1.15}
.kpi .txt{min-width:0;flex:1}
.kpi .lbl{font-size:var(--fs-sm);color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .v{font-family:var(--font);font-size:var(--t-xl);font-weight:var(--w-semi);line-height:1.1;margin-top:2px}
.kpi .sub{font-size:var(--t-xs);color:var(--mute);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .spark{display:block;width:100%;height:22px;margin-top:4px;overflow:visible}
.kpi .spark path{fill:none;stroke:var(--ic);stroke-width:1.6;}
.kpi .spark .a{fill:var(--ic);opacity:.14;stroke:none;filter:none}
/* الحلقة (3-أ الهالة الهندسية): بلا أي فلتر — الهالة دائرتان أعرض بشفافية تتبعان القوس نفسه.
   (فلتر SVG على الدائرة كان يرسم مربّعاً حول الحلقة فوق الطبقات الزجاجية — درس الجولة 6) */
/* الحلقة (الحزمة 10): الهالتان **بنصف قطر أكبر من القوس** فتقعان خارجه تماماً ويبقى جوفُ الحلقة
   فارغاً للنصّ. (قبلها كانت الهالة بعرض 22px على نفس نصف القطر فتزحف إلى الداخل وتبتلع «100%».)
   القياس اتّسع أيضاً: 72px الكبيرة و60px الصغيرة، فنصف القطر الصافي داخلها أوسع من نصف عرض النصّ. */
.ring{position:relative;flex:none;display:grid;place-items:center;width:72px;height:72px}
.ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.ring circle{fill:none;stroke-width:6.5}
.ring .h1{stroke:var(--ic);stroke-width:6;opacity:.18;stroke-linecap:round;transition:stroke-dashoffset var(--d3) var(--ease)}
.ring .h2{stroke:var(--ic);stroke-width:5;opacity:.07;stroke-linecap:round;transition:stroke-dashoffset var(--d3) var(--ease)}
.ring .bgc{stroke:var(--track)}
.ring .fg{stroke:var(--ic);stroke-linecap:round;transition:stroke-dashoffset var(--d3) var(--ease)}
.ring b{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-md);position:relative;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.ring.sm{width:60px;height:60px}
.ring.sm circle{stroke-width:5.5}
.ring.sm .h1{stroke-width:5}
.ring.sm .h2{stroke-width:4}
.ring.sm b{font-size:var(--t-xs)}
/* ⭐ (الحزمة 10) طبقات قياس المؤشّر: الأيقونة تبقى ~60% من ارتفاع البطاقة في كل طبقة، والحلقة معها،
   وتضيق الثلاثة معاً على الشاشات المتوسطة كي لا تُقصّ تسمية المؤشّر (أربعة أعمدة في عرض ضيّق). */
@media (min-width:1600px){
  .kpi{min-height:122px}
  .kpi .ico{width:76px;height:76px}
  .kpi .ico svg.ic{width:74px;height:74px;stroke-width:.95}
  :root[data-mode=light] .kpi .ico svg.ic{stroke-width:1.05}
  .ring:not(.sm){width:88px;height:88px}.ring:not(.sm) b{font-size:var(--t-lg)}
  .ring.sm{width:74px;height:74px}.ring.sm b{font-size:var(--t-md)}
}
@media (min-width:821px) and (max-width:1300px){
  .kpi{gap:8px;padding:12px 12px}
  .kpi .ico{width:58px;height:58px}
  .kpi .ico svg.ic{width:57px;height:57px;stroke-width:1.15}
  :root[data-mode=light] .kpi .ico svg.ic{stroke-width:1.25}
  .ring{width:54px;height:54px}.ring b{font-size:var(--t-xs)}
  .ring.sm{width:46px;height:46px}.ring.sm b{font-size:var(--t-2xs)}
}
/* الأزرار — النيون الناعم (4-ب) */
.btn{font:inherit;font-size:var(--t-sm);font-weight:var(--w-semi);border-radius:var(--r-sm);min-height:var(--h-ctl);padding:6px 14px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;line-height:1.2;transition:transform var(--d2) var(--ease),box-shadow var(--d2),background var(--d1),filter var(--d1);white-space:nowrap;text-decoration:none}
.btn svg.ic{width:15px;height:15px}
.btn:hover{filter:brightness(1.06)}
.btn:active{transform:scale(.97);transition-duration:var(--d1)}
.btn.pri{color:var(--pri);background:color-mix(in srgb,var(--pri) 13%,transparent);border-color:color-mix(in srgb,var(--pri) 50%,transparent)}
.btn.pri:hover{background:color-mix(in srgb,var(--pri) 20%,transparent)}
.btn.ghost{background:transparent;color:var(--ink2);border-color:var(--line)}
.btn.ghost:hover{background:var(--field)}
.btn.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 45%,transparent);}
.btn.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:color-mix(in srgb,var(--bad) 45%,transparent);}
.btn.sm{padding:4px 10px;min-height:var(--h-sm);font-size:var(--t-xs);border-radius:var(--r-sm)}
.btn:disabled{opacity:.62;cursor:not-allowed;transform:none}
.btn.busy{pointer-events:none;position:relative;color:transparent!important;transform:none;filter:none}
.btn.busy svg.ic{opacity:0}
.btn.busy::after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--pri) 30%,transparent);border-top-color:var(--pri);animation:ddspin .7s linear infinite}
.btn.bad.busy::after{border-color:color-mix(in srgb,var(--bad) 30%,transparent);border-top-color:var(--bad)}
.btn.ok.busy::after{border-color:color-mix(in srgb,var(--ok) 30%,transparent);border-top-color:var(--ok)}
@keyframes ddspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.btn.busy::after{animation-duration:1.4s}}
/* (الحزمة 58) فتح المقترح/طلب الحضور في نافذة مستقلة */
.vopen{cursor:pointer}.vopen:hover{text-decoration:underline;text-underline-offset:3px}
.vopenb{flex:none;opacity:.7}.vopenb:hover{opacity:1}
.vsolo>.card,.vsolo>.acard{box-shadow:none;border:0;margin:0}
.chip{font-size:var(--t-xs);border-radius:999px;padding:0 12px;min-height:24px;border:1px solid var(--line);color:var(--ink2);background:var(--surface);white-space:nowrap;cursor:pointer;transition:all var(--d1);display:inline-flex;align-items:center;gap:6px}
.chip:hover{border-color:var(--line-hi)}
.chip.on{color:var(--pri);background:color-mix(in srgb,var(--pri) 14%,transparent);border-color:color-mix(in srgb,var(--pri) 55%,transparent);}
.chip svg.ic{width:13px;height:13px}
.code{font-family:var(--font);font-size:var(--t-xs);letter-spacing:.03em;color:var(--ink2);background:var(--field);border:1px solid var(--line2);border-radius:var(--r-xs);padding:1px 8px;white-space:nowrap;direction:ltr;display:inline-block}
.mh .latin,.mh .code{font-family:var(--font);font-size:var(--t-sm);letter-spacing:.03em;background:var(--field);border:1px solid var(--line);border-radius:var(--r-xs);padding:1px 8px;direction:ltr;display:inline-block}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);padding:4px;background:var(--field);gap:2px;flex-wrap:wrap}
.seg button{border:0;background:transparent;border-radius:var(--r-sm);padding:4px 12px;font-size:var(--t-xs);color:var(--ink2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--d2) var(--ease)}
.seg button svg.ic{width:14px;height:14px}
.seg button.on{background:var(--solid);color:var(--ink);box-shadow:var(--shadow);font-weight:var(--w-semi)}
/* ---------------- الجداول (6-ب: متناوبة، رأس بلون معكوس، أرقام على محور واحد) ---------------- */
table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
th{font-weight:var(--w-med);font-size:var(--t-xs);letter-spacing:.01em;color:var(--th-ink);text-align:start;padding:10px 12px;background:var(--th-bg);border-bottom:1px solid var(--th-line);white-space:nowrap;position:sticky;top:0;z-index:var(--z-sticky)}
td{padding:10px 12px;border-bottom:1px solid var(--line2);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even) td{background:var(--zebra)}
th.n,td.n{text-align:end;font-family:var(--font);font-variant-numeric:tabular-nums;white-space:nowrap}
[dir=rtl] th.n,[dir=rtl] td.n{text-align:left}
tr.row{cursor:pointer;transition:background var(--d1)}
tr.row:hover td{background:color-mix(in srgb,var(--pri) 8%,transparent)}
.tw{overflow:auto;max-height:70vh}
.items-t td{padding:4px 6px}
.items-t input,.items-t select{padding:6px 8px;font-size:var(--t-sm)}
.st{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:var(--w-med);border-radius:var(--r-xs);padding:4px 8px;white-space:nowrap}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.st.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}
.st.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}
.st.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}
.st.info{color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent)}
.st.mute{color:var(--mute);background:var(--field)}.st.mute::before{box-shadow:none}
.st.vio{color:var(--vio);background:color-mix(in srgb,var(--vio) 12%,transparent)}
.pr{width:8px;height:8px;border-radius:50%;display:inline-block;margin-inline-end:6px;vertical-align:middle;}
.pr.hi{background:var(--bad);color:var(--bad)}.pr.md{background:var(--warn);color:var(--warn)}.pr.lo{background:var(--ok);color:var(--ok)}
.av{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.av i{width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--c) 18%,transparent);border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent);display:inline-grid;place-items:center;font-family:var(--font);font-size:var(--t-2xs);font-weight:var(--w-semi);color:color-mix(in srgb,var(--c) 58%,var(--ink));font-style:normal;flex:none}
/* الحالات الفارغة (10-أ): أيقونة كبيرة متوهّجة + عنوان + توجيه + فعل */
.empty{padding:32px 16px;text-align:center;color:var(--mute);font-size:var(--t-sm)}
.empty svg.ic{width:52px;height:52px;margin:0 auto 10px;stroke-width:1.4;color:var(--ic,var(--pri));opacity:.9}
:root[data-mode=light] .empty svg.ic{opacity:1}
.empty b{display:block;color:var(--ink2);font-weight:var(--w-semi);font-size:var(--t-md);margin-bottom:2px}
.empty .btn{margin-top:10px}
.muted{color:var(--mute);font-size:var(--fs-sm)}
.hint{font-size:var(--fs-sm);color:var(--mute);margin-top:4px}
.tools{display:flex;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.tools .sp{flex:1}

/* ---------------- النماذج ---------------- */
.frm{display:grid;gap:12px}
.fr{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.frm>*{min-width:0} /* (الحزمة 22) عناصر النموذج لا تفرض عرضها الجوهري على الشبكة — كان صندوق البحث يوسّع النموذج خارج الشاشة على 375 */
label.f{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--ink2);font-weight:var(--w-med)}
label.f>span .req{color:var(--bad)}
input,select,textarea{font:inherit;font-size:var(--t-md);line-height:1.5;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 12px;min-height:var(--h-ctl);outline:none;transition:border-color var(--d1),box-shadow var(--d1);width:100%;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}
input:focus,select:focus,textarea:focus{border-color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 20%,transparent)}
input[type=checkbox]{box-shadow:none;accent-color:var(--pri)}
textarea{min-height:76px;resize:vertical}
/* القوائم المنسدلة: كروم يرسم قائمة الخيارات بخلفية الحقل المحسوبة (شبه شفافة في الداكن) فتظهر بيضاء بنص أبيض — نلوّن الخيارات صراحةً بلون معتم */
select option,select optgroup{background:var(--menu);color:var(--ink);padding:6px 10px}
select option:checked{background:color-mix(in srgb,var(--pri) 22%,var(--menu));color:var(--ink)}
select option:disabled{color:var(--ink-dis)}
.ml{display:flex;gap:6px}
.ml select{flex:1}
.ml .ibtn{width:38px;height:38px;flex:none}
.att{display:flex;flex-wrap:wrap;gap:8px}
.att a{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface2);font-size:var(--t-xs);color:var(--ink);text-decoration:none;max-width:260px}
.att a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att a svg.ic{width:14px;height:14px;color:var(--pri)}
.att .x{color:var(--bad);cursor:pointer;margin-inline-start:4px}
/* (الحزمة 11) `.drop` وسمُها <label> وهو **سطري**، وداخله أيقونة SVG بـ`display:block` فكانت تكسر السطر
   ويتقلّص الصندوق إلى عرض المحتوى ويبدو الزرّ مقصوصاً. الحلّ: صندوق مرن يملأ العرض ويصفّ الأيقونة مع النصّ. */
.drop{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1.5px dashed var(--line-hi);border-radius:var(--r-sm);padding:12px;text-align:center;color:var(--mute);font-size:var(--t-sm);cursor:pointer;transition:all var(--d1)}
.drop svg.ic{width:17px;height:17px;flex:none}
.note-box{white-space:pre-wrap;word-break:break-word;font-size:var(--t-sm);line-height:1.8;color:var(--ink2)}
.note-box a{color:var(--pri);text-decoration:underline;text-underline-offset:2px}
.note-box a:hover{color:var(--pri2)}
.drop:hover,.drop.over{border-color:var(--pri);background:var(--pri-soft);color:var(--pri)}

/* صندوق الاختيار البحثي (وحدة المهام — الحزمة 8) + شريحة الشخص «متعلق بـ» */
.cbx{position:relative}
.cbx .sel{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:40px;padding:4px 8px;background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:inset 0 1px 2px rgba(0,0,0,.08);cursor:text;transition:border-color var(--d1),box-shadow var(--d1)}
.cbx .sel:focus-within{border-color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 20%,transparent)}
.cbx .sel input{flex:1;min-width:90px;border:0;background:transparent;box-shadow:none;padding:4px 2px;width:90px} /* (الحزمة 22) عرض ابتدائي صغير: العرض الجوهري للحقل (~260) كان يوسّع شبكة النموذج خارج شاشة 375 */
.cbx .sel input:focus{box-shadow:none}
.cbx .sel .chip{padding:2px 8px 2px 4px;gap:4px;cursor:default}
.cbx .sel .chip i{width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--pri) 22%,transparent);color:var(--pri);display:inline-grid;place-items:center;font-family:var(--font);font-size:var(--t-2xs);font-weight:var(--w-semi);font-style:normal}
.cbx .sel .chip .x{display:inline-grid;place-items:center;cursor:pointer;opacity:.7}.cbx .sel .chip .x:hover{opacity:1}
.cbx .sel .chip .x svg.ic{width:11px;height:11px}
.cbx .dd{position:absolute;inset-inline:0;top:calc(100% + 4px);z-index:var(--z-pop);background:var(--menu);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);max-height:230px;overflow:auto;padding:4px;animation:pop var(--d2) var(--ease) backwards}
.cbx .it{padding:8px 12px;border-radius:var(--r-sm);font-size:var(--t-sm);cursor:pointer;display:flex;align-items:center;gap:8px}
.cbx .it b{color:var(--pri);font-weight:var(--w-semi)}
.cbx .it.on,.cbx .it:hover{background:var(--pri-soft)}
.cbx .it.add{color:var(--ok);font-weight:var(--w-semi)}
.cbx .it.add svg.ic{width:14px;height:14px}
/* (الحزمة 50 — §5-ص23) القائمة البحثية لاختيار المتطوع: الحقل نفسه بأيقونة بحث وزرّ مسح، وتأخذ عرض القائمة التي حلّت محلّها في أشرطة التصفية */
.cbx.ssel{display:inline-block;min-width:210px;vertical-align:middle;text-align:start}label.f>.cbx.ssel,.fr .cbx.ssel{display:block;min-width:0}
.cbx.ssel .sel{flex-wrap:nowrap;cursor:text}.cbx.ssel .sel>svg.ic{width:16px;height:16px;flex:none;color:var(--mute)}
.cbx.ssel .sel .x{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:var(--mute);cursor:pointer;padding:0;min-height:0}.cbx.ssel .sel .x:hover{background:var(--pri-soft);color:var(--pri)}.cbx.ssel .sel .x svg.ic{width:12px;height:12px}
/* بحث سلم الترتيب: حقل كامل العرض داخل شريط البطل، وسطر نتيجة بصورة واسم ومستوى ونقاط */
.vbfind{margin:0 0 14px;position:relative;z-index:var(--z-sticky)}.vbfind .cbx.ssel{display:block;max-width:560px}.vbfind .cbx .sel{background:var(--card-bg);box-shadow:var(--sh-2)}.vbfind .cbx .it{gap:10px;padding:6px 10px}.vbfind .cbx .it .t{display:flex;flex-direction:column;min-width:0;flex:1}.vbfind .cbx .it .t b{color:var(--ink);font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vbfind .cbx .it .t small{color:var(--mute);font-size:var(--t-xs)}.vbfind .cbx .it .xp{color:var(--mute);font-size:var(--t-xs);flex:none}.vbfind .cbx .dd{max-height:320px;z-index:var(--z-pop)}
:root[data-skin] .cbx.ssel .sel{padding-block:0;min-height:var(--h-ctl);gap:8px}:root[data-skin] .cbx.ssel .sel input{min-height:0;padding:2px 0;background:transparent;border:0;box-shadow:none;border-radius:0}
.cbx.ssel .it.cur{font-weight:var(--w-semi);color:var(--pri)}.cbx.ssel.dis{opacity:.6;pointer-events:none}.cbx.ssel .dd{min-width:240px}
.cbx .none{padding:10px;text-align:center;color:var(--mute);font-size:var(--t-xs)}
.rel{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);font-weight:var(--w-med);border-radius:999px;padding:1px 8px 1px 2px;margin:1px 2px 1px 0;background:color-mix(in srgb,var(--vio) 12%,transparent);border:1px solid color-mix(in srgb,var(--vio) 35%,transparent);color:var(--ink);white-space:nowrap;vertical-align:middle}
.rel i{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--vio),var(--pri2));color:var(--pri-ink);display:inline-grid;place-items:center;font-family:var(--font);font-size:var(--t-2xs);font-weight:var(--w-semi);font-style:normal;}

/* وحدة المهام (الحزمة 8): المشروع · منبثقة المخرجات · الحالة السريعة · سجلّ الأحداث · مقدار التأخير · مؤشّرات المنحنى · التذكير */
.proj{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--c6);white-space:nowrap}
.proj svg.ic{width:14px;height:14px;}
.proj.sm{font-size:var(--t-xs);display:block;margin-bottom:2px}
.rels{margin-top:4px;display:flex;flex-wrap:wrap;gap:2px}
.qst{padding:4px 24px 4px 8px;font-size:var(--t-xs);font-weight:var(--w-med);border:0;border-radius:var(--r-xs);width:auto;box-shadow:none;cursor:pointer;background-image:none;appearance:auto}
.qst.st::before{display:none}
.dlpop{position:fixed;z-index:var(--z-pop);min-width:280px;max-width:min(420px,92vw);padding:8px;border-radius:var(--r);background:var(--menu);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:pop var(--d2) var(--ease) backwards}
.dlpop .t{display:flex;align-items:center;gap:8px;font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink2);padding:4px 8px 6px}
.dlpop .t svg.ic{width:15px;height:15px;color:var(--ok)}
.dlpop .it{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);font-size:var(--t-sm);cursor:pointer}
.dlpop .it:hover{background:var(--field)}
.dlpop .it input{width:16px;height:16px;flex:none}
.dlpop .it .tx{flex:1;min-width:0}
.dlpop .it.done .tx{text-decoration:line-through;color:var(--mute)}
.dlpop .it .m{display:flex;gap:6px;align-items:center}
.due small{font-size:var(--t-2xs);color:var(--mute);font-weight:var(--w-reg);margin-inline-start:4px}
.due.dlate{color:var(--bad)}.due.dok{color:var(--ok)}
.fu{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto;padding-inline-end:4px}
.fe{display:flex;gap:8px;padding:8px 10px;border-radius:var(--r-sm);background:var(--surface2);border:1px solid var(--line2);border-inline-start:3px solid var(--pri);font-size:var(--t-sm);align-items:flex-start}
.fe.sys{border-inline-start-color:var(--line-hi);background:transparent;padding:4px 10px;font-size:var(--t-xs);color:var(--ink2)}
.fe i{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;flex:none;font-style:normal;font-family:var(--font);font-size:var(--t-2xs);font-weight:var(--w-semi)}
.fe i.av{background:color-mix(in srgb,var(--c) 18%,transparent);border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent);color:var(--c)}
.fe.sys i{background:var(--field);color:var(--mute)}
.fe.sys i svg.ic{width:13px;height:13px}
.fe .t{flex:1;min-width:0}
.fe .t small{display:block;font-size:var(--t-2xs);color:var(--mute);margin-top:2px}
.fe .acts{display:flex;gap:4px;opacity:.55;transition:opacity var(--d1)}.fe:hover .acts{opacity:1}
.fe .acts .ibtn svg.ic{width:12px;height:12px}
.cstats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cstats .cs{display:inline-flex;flex-direction:column;gap:1px;padding:4px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--field);min-width:88px}
.cstats .cs small{font-size:var(--t-2xs);color:var(--mute)}
.cstats .cs b{font-size:var(--t-md);font-weight:var(--w-semi);display:inline-flex;align-items:center;gap:4px}
.cstats .cs b svg.ic{width:13px;height:13px}
.cstats .cs.ok{border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.cstats .cs.ok b{color:var(--ok)}
.cstats .cs.bad{border-color:color-mix(in srgb,var(--bad) 40%,transparent);background:color-mix(in srgb,var(--bad) 10%,transparent)}.cstats .cs.bad b{color:var(--bad)}
.cstats.sm .cs{padding:4px 8px;min-width:0}.cstats.sm .cs b{font-size:var(--t-xs)}
.rem .rt{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:var(--t-xs);color:var(--ink2);margin-top:4px}
.rem .rt input[type=time]{width:110px}.rem .rt input[type=number]{width:62px;padding:6px 8px}
.kan.k5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1300px){.kan.k5{grid-template-columns:repeat(3,1fr)}}
.ibtn.on{background:color-mix(in srgb,var(--c7) 16%,transparent)!important;border-color:color-mix(in srgb,var(--c7) 40%,transparent)!important}

/* ---------------- النوافذ (7-أ: زجاجية بمحتوى صلب + مراحل بدوائر) ---------------- */
.ov{position:fixed;inset:0;background:var(--scrim);display:grid;place-items:center;z-index:var(--z-modal);padding:16px;animation:fade var(--d2) backwards}
@keyframes fade{from{opacity:0}to{opacity:1}}
.md{background:var(--menu);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--edge);width:min(920px,100%);max-height:calc(92vh - var(--sat));display:flex;flex-direction:column;animation:pop var(--d2) var(--ease) backwards;overflow:hidden}
:root[data-mode=light] .md{background:rgba(255,255,255,.7)}
.md.sm{width:min(520px,100%)}.md.lg{width:min(1180px,100%)}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.md .mh{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line2);position:relative;color:var(--ink)}
.md .mh h3{margin:0;font-size:var(--t-md);font-weight:var(--w-semi);display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.md .mh h3 svg.ic{width:20px;height:20px;color:var(--ic,var(--pri));}
.md .mh .ibtn{width:32px;height:32px}
.md .mb{padding:18px;overflow:auto;flex:1;background:var(--solid)}
:root[data-mode=dark] .md .mb{background:color-mix(in srgb,var(--solid) 88%,transparent)}
.md .mf{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line2);flex-wrap:wrap;align-items:center}
.steps{display:flex;align-items:center;gap:6px;margin-bottom:14px;font-size:var(--t-xs);flex-wrap:wrap}
.steps .s{display:flex;align-items:center;gap:6px;color:var(--mute);white-space:nowrap}
.steps .s i{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-hi);display:grid;place-items:center;font-family:var(--font);font-size:var(--t-2xs);font-style:normal;flex:none;transition:all var(--d2) var(--ease)}
.steps .s.done i{background:var(--ok);border-color:var(--ok);color:var(--solid);}
.steps .s.cur{color:var(--ink);font-weight:var(--w-semi)}
.steps .s.cur i{border-color:var(--pri);color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 18%,transparent)}
.steps .s.fail{color:var(--bad);font-weight:var(--w-semi)}
.steps .s.fail i{border-color:var(--bad);color:var(--bad);}
.steps .ln{flex:1;min-width:14px;height:1px;background:var(--line)}
.steps .ln.done{background:var(--ok)}
/* التوست الزجاجي بعدّاد بقاء */
.toast-w{position:fixed;bottom:calc(20px + var(--sab));inset-inline-start:50%;transform:translateX(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
[dir=rtl] .toast-w{transform:translateX(50%)}
.toast{background:var(--glass-hi);border:1px solid var(--line);color:var(--ink);padding:10px 16px 12px;border-radius:var(--r);font-size:var(--t-sm);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--edge);display:flex;align-items:center;gap:8px;animation:tin var(--d2) var(--ease) backwards;max-width:min(520px,92vw);position:relative;overflow:hidden}
:root[data-mode=dark] .toast{background:color-mix(in srgb,var(--menu) 90%,transparent)}
.toast svg.ic{width:16px;height:16px;color:var(--ok);}
.toast.bad svg.ic{color:var(--bad);}
.toast .pb{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ok);transform-origin:right;animation:shrink 3.2s linear forwards}
[dir=ltr] .toast .pb{transform-origin:left}
.toast.bad .pb{background:var(--bad)}
@keyframes shrink{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes tin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* التبويبات (6-ب: أشرطة ملوّنة بلون التبويب وخلفية مصبوغة) */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow:auto;position:relative}
.tabs button{--ic:var(--pri);border:0;background:transparent;padding:10px 14px 12px;font-size:var(--t-sm);color:var(--mute);cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;position:relative;border-radius:var(--r-sm) var(--r-sm) 0 0;transition:color var(--d2),background var(--d2)}
.tabs button:nth-child(8n+1){--ic:var(--c6)}.tabs button:nth-child(8n+2){--ic:var(--c7)}.tabs button:nth-child(8n+3){--ic:var(--c3)}.tabs button:nth-child(8n+4){--ic:var(--c1)}.tabs button:nth-child(8n+5){--ic:var(--c2)}.tabs button:nth-child(8n+6){--ic:var(--c4)}.tabs button:nth-child(8n+7){--ic:var(--c5)}.tabs button:nth-child(8n+8){--ic:var(--c8)}
.tabs button svg.ic{width:16px;height:16px;color:var(--ic);}
.tabs button::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--ic);transform:scaleX(0);transition:transform var(--d3) var(--ease)}
.tabs button.on{color:var(--ink);font-weight:var(--w-semi);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ic) 12%,transparent))}
.tabs button.on::after{transform:scaleX(1)}
.tabs button .n{font-family:var(--font);font-size:var(--t-2xs);background:var(--field);border-radius:999px;padding:0 6px;color:var(--ink2)}
.tl{position:relative;padding-inline-start:18px}
.tl::before{content:"";position:absolute;inset-inline-start:5px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl .ev{position:relative;padding:0 0 12px;font-size:var(--t-sm)}
.tl .ev::before{content:"";position:absolute;inset-inline-start:-17px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--pri);border:2px solid var(--solid);}
.tl .ev small{display:block;font-family:var(--font);font-size:var(--t-2xs);color:var(--mute)}
.dl{display:flex;flex-direction:column;gap:6px}
.dl .it{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface2);font-size:var(--t-sm);transition:background var(--d1)}
.dl .it .bx{width:18px;height:18px;border-radius:var(--r-xs);border:1.5px solid var(--line-hi);flex:none;display:grid;place-items:center;cursor:pointer;transition:all var(--d2) var(--ease)}
.dl .it.done .bx{background:var(--ok);border-color:var(--ok);transform:scale(1.05);}
.dl .it.done .bx svg{width:11px;height:11px;stroke:var(--solid);stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dl .it.done>span{text-decoration:line-through;color:var(--mute)}
.dl .it .m{margin-inline-start:auto;font-size:var(--t-xs);color:var(--mute);display:flex;gap:8px;align-items:center;white-space:nowrap}
.prog{display:flex;align-items:center;gap:8px;min-width:120px}
.prog .bar{flex:1;height:6px;border-radius:var(--r-xs);background:var(--field);border:1px solid var(--line2);overflow:hidden}
.prog .bar i{display:block;height:100%;background:var(--pri);transform-origin:right;animation:growx var(--d3) var(--ease) both}
[dir=ltr] .prog .bar i{transform-origin:left}
.prog .num{font-size:var(--t-xs);color:var(--mute);min-width:34px;text-align:end}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes growy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.due{display:inline-flex;align-items:center;gap:4px;font-family:var(--font);font-size:var(--t-xs);font-weight:var(--w-med);white-space:nowrap}
.due svg.ic{width:13px;height:13px}
.due.late{color:var(--bad)}.due.today{color:var(--warn)}.due.soon{color:var(--info)}.due.far{color:var(--mute)}
/* الإشعارات (11-أ): تجميع باليوم، أيقونة نوع، سكّة مضيئة لغير المقروء */
.notif{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line2);cursor:pointer;transition:background var(--d1);position:relative;font-size:var(--t-sm)}
.notif:hover{background:var(--field)}
.notif svg.ic{width:18px;height:18px;margin-top:2px;color:var(--ic,var(--pri));flex:none}
.notif.unread{background:color-mix(in srgb,var(--pri) 6%,transparent)}
.notif.unread::before{content:"";position:absolute;inset-inline-start:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--pri);}
.notif b{display:block;font-size:var(--t-sm);font-weight:var(--w-semi)}
.notif small{color:var(--mute);font-size:var(--t-xs)}
.notif .dg,.pop .dg,.card .dg{font-size:var(--t-xs);color:var(--mute);padding:8px 14px 2px;font-weight:var(--w-med)}
.pop{position:fixed;top:calc(var(--top-h) + var(--sat) - 6px);inset-inline-end:22px;width:min(400px,92vw);background:var(--menu);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);z-index:var(--z-pop);overflow:hidden;animation:pop var(--d2) var(--ease) backwards;max-height:70vh;display:flex;flex-direction:column}
.pop .list{overflow:auto}
.pop .ch{padding:10px 14px}
/* لوحة الأوامر (2-ج) */
.pal{position:fixed;inset:0;z-index:var(--z-palette);background:var(--scrim);display:grid;place-items:start center;padding:calc(10vh + var(--sat)) 16px 16px;animation:fade var(--d1) backwards}
.pal .box{width:min(620px,100%);background:var(--menu);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop var(--d2) var(--ease) backwards;max-height:70vh;display:flex;flex-direction:column}
.pal .in{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line2)}
.pal .in svg.ic{width:18px;height:18px;color:var(--mute)}
.pal .in input{border:0;background:transparent;box-shadow:none;padding:4px 0;font-size:var(--t-md)}
.pal .in input:focus{box-shadow:none}
.pal .in kbd{font-family:var(--font);font-size:var(--t-2xs);border:1px solid var(--line);border-radius:var(--r-xs);padding:0 6px;color:var(--mute)}
.pal .res{overflow:auto;padding:6px 0}
.pal .grp{font-size:var(--t-xs);color:var(--mute);padding:8px 14px 2px;font-weight:var(--w-med)}
.pal .it{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:var(--t-sm);cursor:pointer}
.pal .it svg.ic{width:16px;height:16px;color:var(--ic,var(--pri));}
.pal .it.on,.pal .it:hover{background:var(--pri-soft)}
.pal .it small{margin-inline-start:auto;font-size:var(--t-xs);color:var(--mute);white-space:nowrap}
.pal .none{padding:20px;text-align:center;color:var(--mute);font-size:var(--t-sm)}
.kb{display:inline-flex;gap:4px;vertical-align:middle}
.kb kbd{font-family:var(--font);font-size:var(--t-2xs);border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--r-xs);padding:1px 6px;background:var(--field);color:var(--ink2)}

/* ---------------- كانبان ---------------- */
.kan{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px;align-items:start}
.kcol{background:var(--field);border:1px solid var(--line2);border-radius:var(--r);padding:8px;min-height:160px;transition:background var(--d1)}
.kcol.over{background:var(--pri-soft)}
.kcol .kh{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:var(--w-semi);padding:6px 8px 10px;color:var(--ink)}
.kcol .kh i{width:8px;height:8px;border-radius:50%;background:var(--c);}
.kcol .kh .cnt{margin-inline-start:auto;font-family:var(--font);font-size:var(--t-xs);background:var(--solid);border:1px solid var(--line);border-radius:999px;padding:0 8px;color:var(--ink2)}
.tcard{background:var(--card-bg);border:1px solid var(--card-line);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:8px;box-shadow:var(--shadow);transition:transform var(--d2) var(--ease),box-shadow var(--d1)}
.tcard:hover{box-shadow:var(--shadow-lg);border-color:var(--line-hi)}
.tcard.drag{opacity:.5}
.tcard b{display:block;font-size:var(--t-sm);font-weight:var(--w-semi);margin-bottom:6px}
.tcard .m{display:flex;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--mute);flex-wrap:wrap}

/* ---------------- التقويم واليوم (9-ج: كتلة الحجز المتدرّجة) ---------------- */
.cal{display:grid;grid-template-columns:repeat(7,1fr);border-inline-start:1px solid var(--line2)}
.cal .dow{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--th-ink);background:var(--th-bg);padding:8px;border-inline-end:1px solid var(--line2);border-bottom:1px solid var(--th-line)}
.cal .day{min-height:112px;border-inline-end:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:6px 8px;position:relative;cursor:pointer;transition:background var(--d1)}
.cal .day:hover{background:var(--field)}
.cal .day .dn{font-family:var(--font);font-size:var(--t-xs);font-weight:var(--w-med);color:var(--mute);display:flex;justify-content:space-between;align-items:center}
.cal .day.out{opacity:.45}
.cal .day.closed{background:repeating-linear-gradient(135deg,transparent 0 7px,var(--grid2) 7px 8px)}
.cal .day.today{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pri) 45%,transparent)}
.cal .day.today .dn b{background:var(--pri);color:var(--pri-ink);border-radius:999px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-weight:var(--w-semi);}
.bk{--c:var(--c1);display:flex;align-items:center;gap:4px;font-size:var(--t-xs);line-height:1.3;border-radius:var(--r-xs);padding:4px 8px 4px 6px;margin-top:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 24%,transparent),color-mix(in srgb,var(--c) 6%,transparent));border:1px solid color-mix(in srgb,var(--c) 38%,transparent);color:var(--ink);cursor:pointer;transition:opacity var(--d1),transform var(--d1),box-shadow var(--d1)}
[dir=ltr] .bk{background:linear-gradient(270deg,color-mix(in srgb,var(--c) 24%,transparent),color-mix(in srgb,var(--c) 6%,transparent))}
.bk svg.ic{width:13px;height:13px;color:var(--c);}
.bk .t{font-family:var(--font);font-size:var(--t-2xs);color:var(--mute);margin-inline-start:auto;white-space:nowrap}
.bk .ttl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk.pending{border-style:dashed;opacity:.8}
.bk:hover{filter:brightness(1.06)}
.more{font-size:var(--t-2xs);color:var(--pri);margin-top:4px;font-weight:var(--w-semi)}
.agenda{display:grid;grid-template-columns:290px 1fr}
.mini{padding:14px;border-inline-end:1px solid var(--line2)}
.mini .g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-family:var(--font);font-size:var(--t-xs)}
.mini .g span{padding:4px 0 8px;border-radius:var(--r-xs);color:var(--ink2);position:relative;cursor:pointer;transition:background var(--d1)}
.mini .g span:hover{background:var(--field)}
.mini .g span.h{font-size:var(--t-2xs);color:var(--mute);font-weight:var(--w-semi);cursor:default}
.mini .g span.sel{background:var(--pri);color:var(--pri-ink);font-weight:var(--w-semi);}
.mini .g span .dots{position:absolute;bottom:2px;left:0;right:0;display:flex;justify-content:center;gap:2px}
.mini .g span .dots i{width:4px;height:4px;border-radius:50%;background:var(--c)}
.agl .dayrow{display:grid;grid-template-columns:78px 1fr;border-bottom:1px solid var(--line2)}
.agl .dayrow .d{padding:10px 12px;border-inline-end:1px solid var(--line2);text-align:center}
.agl .dayrow .d b{font-family:var(--font);font-size:var(--t-lg);font-weight:var(--w-semi);display:block;line-height:1.1}
.agl .dayrow .d small{font-size:var(--t-xs);color:var(--mute)}
.agl .dayrow .l{padding:8px 12px;display:flex;flex-direction:column;gap:4px}
.agl .bk{margin:0;font-size:var(--t-xs);padding:4px 8px}
.hours{display:grid;grid-template-columns:150px 1fr}
.hours .tk{position:relative;height:26px;border-bottom:1px solid var(--line2);background:var(--th-bg)}
.hours .tk span{position:absolute;top:5px;font-family:var(--font);font-size:var(--t-2xs);color:var(--th-ink);transform:translateX(50%)}
[dir=ltr] .hours .tk span{transform:translateX(-50%)}
.hours .tk svg.ic{color:var(--th-ink)}
.lane{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line2);min-height:60px}
.lane .hn{padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:var(--w-semi);border-inline-end:1px solid var(--line2)}
.lane .hn i{width:10px;height:10px;border-radius:3px;background:var(--c);flex:none}
.lane .hn small{font-family:var(--font);font-size:var(--t-2xs);color:var(--mute);font-weight:var(--w-med);display:block}
.lane .tr{position:relative;background:repeating-linear-gradient(90deg,var(--grid2) 0 1px,transparent 1px calc(100%/var(--hrs)));cursor:crosshair}
.lane .tr .closed{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,transparent 0 6px,var(--grid2) 6px 7px);pointer-events:none}
.lane .tr .brk{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,transparent 0 4px,color-mix(in srgb,var(--warn) 20%,transparent) 4px 5px);pointer-events:none}
.hblk{--c:var(--c1);position:absolute;top:9px;bottom:9px;border-radius:var(--r-sm);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 30%,transparent),color-mix(in srgb,var(--c) 8%,transparent));border:1px solid color-mix(in srgb,var(--c) 45%,transparent);border-top:3px solid var(--c);padding:4px 8px;font-size:var(--t-xs);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transform-origin:right;transition:opacity var(--d1),box-shadow var(--d1);}
[dir=ltr] .hblk{transform-origin:left;background:linear-gradient(270deg,color-mix(in srgb,var(--c) 30%,transparent),color-mix(in srgb,var(--c) 8%,transparent))}
.hblk b{font-weight:var(--w-semi)}
.hblk small{font-family:var(--font);font-size:var(--t-2xs);color:var(--ink2);margin-inline-start:6px}
.hblk.pending{border-style:dashed}
.nowline{position:absolute;top:0;bottom:0;border-inline-start:2px solid var(--bad);z-index:var(--z-raise3);pointer-events:none;}
.legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:var(--t-xs);color:var(--ink2)}
.legend .lg{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 6px;border-radius:var(--r-xs);transition:background var(--d1)}
.legend .lg:hover{background:var(--field)}
.legend .lg i{width:12px;height:12px;border-radius:var(--r-xs);display:inline-block;background:var(--c);}
.legend .lg svg.ic{width:15px;height:15px}
.dimmed{opacity:var(--dim)!important;transition:opacity var(--d1)}

/* ---------------- الرسوم (8-ب+ج: خطّ مضيء ومساحة متلاشية وأعمدة متدرّجة) ---------------- */
svg.viz{width:100%;height:auto;display:block;overflow:visible}
svg.viz text{font-family:var(--font);fill:var(--axis);font-size:var(--t-xs)}
svg.viz text.ar{font-family:var(--font)}
svg.viz .grid{stroke:var(--grid);stroke-width:1}
svg.viz .axis{stroke:var(--line-hi);stroke-width:1}
svg.viz rect.bar{transition:opacity var(--d1);animation:growy var(--d3) var(--ease) both;}
svg.viz .ann{opacity:0;transition:opacity var(--d1);pointer-events:none}
/* (الحزمة 10) لون نصّ التلميح: كان `svg.viz text{fill:var(--axis)}` يتغلّب على سمة fill المضمَّنة
   (قاعدة CSS تسبق **سمة العرض**) فيُرسم النصّ بلون المحاور على أرضية التلميح فيختفي في الوضعين. */
svg.viz .ann rect{fill:var(--tip-bg);stroke:color-mix(in srgb,var(--tip-ink) 18%,transparent)}
svg.viz .ann text{fill:var(--tip-ink);font-size:var(--t-xs);font-weight:var(--w-med)}
svg.viz .ann.on{opacity:1}
svg.viz .conn{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3;fill:none}
svg.viz .area{fill:var(--c);opacity:.5;transition:opacity var(--d1);animation:growy var(--d3) var(--ease) both}
svg.viz .cap{fill:none;stroke:var(--bad);stroke-width:1.4;stroke-dasharray:5 4;}
svg.viz .bul{fill:var(--c);animation:growx var(--d3) var(--ease) both;}
svg.viz .tgt{stroke:var(--ink);stroke-width:2.5}
svg.viz .planned{fill:none;stroke:var(--mute);stroke-width:2;stroke-dasharray:6 5}
svg.viz .actual{fill:none;stroke:var(--c,var(--pri));stroke-width:2.6;}
svg.viz .aglow{fill:var(--c,var(--pri));opacity:.16}
svg.viz .band{fill:var(--c,var(--pri));opacity:.10}
svg.viz .draw{stroke-dasharray:3000;stroke-dashoffset:3000;animation:draw var(--d3) var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
svg.viz .today{stroke:var(--bad);stroke-width:1.2;stroke-dasharray:4 3}
svg.viz .dev{font-weight:var(--w-semi);font-size:var(--t-xs)}

.dev-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-sm);border-radius:var(--r-sm);padding:4px 10px}
.dev-badge.pos{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);}
.dev-badge.neg{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent);}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-xs);padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink2);transition:all var(--d1)}
.pill i{width:10px;height:10px;border-radius:50%;background:var(--c);}
.pill.on{border-color:var(--c);color:var(--ink);background:color-mix(in srgb,var(--c) 10%,transparent)}
/* التلميح الزجاجي */
.tip{position:fixed;z-index:var(--z-tip);pointer-events:none;background:var(--tip-bg);color:var(--tip-ink);font-size:var(--t-xs);border-radius:var(--r-sm);padding:8px 12px;box-shadow:var(--sh-2);opacity:0;transform:translateY(4px);transition:opacity var(--d1),transform var(--d1);max-width:280px;line-height:1.5}
.tip.on{opacity:1;transform:none}
.tip b{font-family:var(--font);font-weight:var(--w-semi)}
.smalls{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px}
.sm{border:1px solid var(--line2);border-radius:var(--r);padding:10px 12px;background:var(--surface2)}
.sm h5{margin:0 0 4px;font-size:var(--t-sm);display:flex;align-items:center;gap:8px}
.sm h5 i{width:9px;height:9px;border-radius:50%;background:var(--c);}
.sm h5 .dev-badge{margin-inline-start:auto;font-size:var(--t-xs);padding:2px 8px}
.counter{display:inline-block}
/* «يحتاج قرارك» + خطّ زمن اليوم (3-أ) */
.q{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line2);font-size:var(--t-sm)}
.q:last-child{border-bottom:0}
.q .pd{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.q .t{flex:1;min-width:0}
.q .t b{display:block;font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q .t small{color:var(--mute);font-size:var(--t-xs)}
.tline{padding:10px 14px;display:grid;gap:6px}
.tline .b{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center;font-size:var(--t-xs)}
.tline .b .tm{font-family:var(--font);font-size:var(--t-xs);color:var(--mute)}
.tline .b .bk{margin:0}
.tline .now{height:1px;background:var(--bad);position:relative;grid-column:1/3}
.tline .now::before{content:"";position:absolute;inset-inline-start:-2px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--bad)}

/* ---------------- نافذة تطبيقات الجوال ---------------- */
.inst{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inst .opt{border:1px solid var(--line);border-radius:var(--r);padding:16px;background:var(--surface2);display:flex;flex-direction:column;gap:10px;transition:border-color var(--d1),transform var(--d2) var(--ease)}
.inst .opt:hover{border-color:var(--line-hi)}
.inst .opt.on{border-color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 14%,transparent)}
.inst .opt h4{margin:0;font-size:var(--t-md);font-weight:var(--w-semi);display:flex;align-items:center;gap:10px}
.inst .opt h4 svg.ic{width:28px;height:28px;color:var(--ic);}
.inst .opt h4 .me{margin-inline-start:auto;font-size:var(--t-2xs);font-weight:var(--w-semi);border-radius:999px;padding:2px 8px;background:color-mix(in srgb,var(--pri) 14%,transparent);color:var(--pri)}
.inst .opt>p{margin:0;font-size:var(--t-sm);color:var(--mute)}
.inst ol{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:8px}
.inst ol li{font-size:var(--t-sm);color:var(--ink2)}
.inst ol li b{color:var(--ink)}
.inst .k{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:var(--r-xs);padding:1px 8px;background:var(--surface);font-size:var(--t-xs);white-space:nowrap}
.inst .k svg.ic{width:13px;height:13px;color:var(--pri)}
.inst video{width:100%;border-radius:var(--r-sm);border:1px solid var(--line);background:#000}
.inst .act{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:820px){.inst{grid-template-columns:1fr}}

/* ---------------- الشريط السفلي للجوال (4-ج) + الزرّ العائم ---------------- */
.bnav{display:none}
.fab{display:none}
@media (max-width:820px){
  .bnav{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + var(--sab));height:58px;border-radius:var(--r-lg);background:var(--bnav-bg);border:1px solid var(--bnav-line);box-shadow:var(--shadow-lg);align-items:center;justify-content:space-around;padding:0 6px;z-index:var(--z-bnav);transition:transform var(--d2) var(--ease)}
  .bnav.hide{transform:translateY(calc(100% + 14px + var(--sab)))}
  .bnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--t-2xs);color:var(--mute);text-decoration:none;min-width:52px;padding:4px 0;border-radius:var(--r-sm);transition:color var(--d1)}
  .bnav a svg.ic{width:21px;height:21px;color:var(--ic);opacity:.55;transition:opacity var(--d1),filter var(--d1)}
  .bnav a.on{color:var(--ink);font-weight:var(--w-semi)}
  .bnav a.on svg.ic{opacity:1;}
  .fab{display:grid;position:fixed;inset-inline-end:16px;bottom:calc(80px + var(--sab));width:50px;height:50px;border-radius:50%;background:radial-gradient(130% 130% at 30% 20%,color-mix(in srgb,var(--vio) 72%,#fff),var(--vio) 55%,var(--pri2));color:#fff;place-items:center;box-shadow:var(--sh-2),inset 0 1px 0 rgba(255,255,255,.3);border:0;z-index:var(--z-fab);transition:transform var(--d2) var(--ease)}
  .fab:active{transform:scale(.97)}
  .fab svg.ic{width:22px;height:22px}
  .content{padding:12px 12px calc(84px + var(--sab))}
}

/* ---------------- الدخول (15-ب: مقسومة) ---------------- */
.login{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative;overflow:hidden}
.login::before,.login::after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;pointer-events:none}
.login::before{width:520px;height:520px;background:var(--vio);top:-160px;inset-inline-start:-120px}
.login::after{width:460px;height:460px;background:var(--info);bottom:-160px;inset-inline-end:-100px}

.login .split{position:relative;z-index:var(--z-raise);width:min(880px,100%);display:grid;grid-template-columns:1.1fr 1fr;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:var(--glass);backdrop-filter:blur(22px) saturate(1.4);animation:pop var(--d2) var(--ease) backwards;min-height:480px}
.login .art{position:relative;display:grid;place-items:center;padding:32px;text-align:center;border-inline-end:1px solid var(--line)}
.login .art .stage{position:relative;width:150px;height:150px;margin:0 auto 18px}
.login .art .stage svg.ic{position:absolute;inset:0;width:100%;height:100%;stroke-width:1.1;color:var(--ic);opacity:0;transform:scale(.85) rotate(-6deg);transition:opacity var(--d3) var(--ease),transform var(--d3) var(--ease);}
:root[data-mode=light] .login .art .stage svg.ic{stroke-width:1.25;}
.login .art .stage svg.ic.on{opacity:1;transform:none}
.login .art h3{margin:0 0 6px;font-size:var(--t-lg);font-weight:var(--w-semi);transition:opacity var(--d3)}
.login .art p{margin:0;font-size:var(--t-sm);color:var(--ink2);max-width:320px;line-height:1.7}
.login .art .dots{display:flex;gap:6px;justify-content:center;margin-top:18px}
.login .art .dots i{width:6px;height:6px;border-radius:50%;background:var(--line-hi);transition:all var(--d2) var(--ease)}
.login .art .dots i.on{background:var(--pri);width:18px;}
.login .box{position:relative;z-index:var(--z-raise);width:100%;padding:32px 32px;background:var(--solid);display:flex;flex-direction:column;justify-content:center}
:root[data-mode=dark] .login .box{background:color-mix(in srgb,var(--solid) 90%,transparent)}
.login .box img{height:34px;display:block;margin:0 auto 18px;}

.login h2{font-size:var(--t-lg);text-align:center;margin:0 0 4px}
.login p.sub{text-align:center;color:var(--mute);font-size:var(--t-sm);margin:0 0 20px}
.login .err{color:var(--bad);font-size:var(--t-sm);min-height:18px;margin:6px 0}
.login .apps{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.login .ibtn{--ic:var(--ink2);border-radius:var(--r-sm);background:var(--field);border:1px solid var(--line);color:var(--ink2);box-shadow:none}
.login .ibtn svg.ic{filter:none}
.login .modeTog{position:absolute;top:calc(14px + var(--sat));inset-inline-end:14px;z-index:var(--z-raise2)}

/* ---------------- التجاوب ---------------- */
@media (max-width:1300px){.g4{grid-template-columns:repeat(2,1fr)}.grid.g4:has(>.kpi),.strip{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(odd){border-inline-start:0}.kpi:nth-child(n+3){border-top:1px solid var(--line2)}.g3{grid-template-columns:repeat(2,1fr)}.kan{grid-template-columns:repeat(2,1fr)}.agenda{grid-template-columns:1fr}.smalls{grid-template-columns:1fr}.top .srch{width:auto;flex:0 0 auto}.top .srch span{display:none}.top .srch kbd{display:none}}
@media (max-width:820px){
  #app{grid-template-columns:1fr}
  .side{position:fixed;inset-inline-start:0;top:0;bottom:0;width:min(300px,84vw);transform:translateX(100%);transition:transform var(--d2) var(--ease);box-shadow:var(--shadow-lg);background:var(--side-bg)}
  :root[data-mode=dark] .side{background:var(--side-bg)}
  [dir=ltr] .side{transform:translateX(-100%)}
  .side.open{transform:none}
  .side .foot .fold{display:none}
  .scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:var(--z-scrim);animation:fade var(--d2) backwards}
  .hamb{display:grid;--ic:var(--top-mute)}
  /* (الحزمة 77 — الجولة 37 «5-ج» بتعديل المالك) سطران: القائمة + اسم الصفحة كاملاً، وتحتهما الأزرار كلها كما هي */
  .top{padding-inline:12px;gap:6px;flex-wrap:wrap;padding-bottom:6px;row-gap:4px}
  .top .bc a,.top .bc svg.ic{display:none}
  .top h1{font-size:var(--t-md);flex:1 1 auto;min-width:0;order:1}
  .top .hamb{order:0}.top .sp{order:2;flex:1 1 100%;height:0}
  .top .srch,.top .add,.top #appsBtn,.top #langBtn,.top #modeBtn,.top #bellBtn,.top .who{order:3}
  .top .srch{flex:1 1 auto;min-width:0}
  body.nofab .fab{display:none}
  body:not(.nofab) .content{padding-bottom:calc(140px + var(--sab))}
  .g2,.g3,.g4,.kan,.kan.k5{grid-template-columns:1fr}
  .grid.g4:has(>.kpi),.strip{grid-template-columns:repeat(2,1fr)}
  .kpi{padding:12px;gap:10px}.kpi .v{font-size:var(--t-lg)}.kpi .ico{width:50px;height:50px}.kpi .ico svg.ic{width:48px;height:48px;stroke-width:1.2}
  .ring{width:60px;height:60px}.ring b{font-size:var(--t-xs)}.ring.sm{width:52px;height:52px}.ring.sm b{font-size:var(--t-2xs)}
  .cal .day{min-height:74px;padding:4px}
  .cal .bk .ttl,.cal .bk .t{display:none}
  .cal .bk{padding:2px;height:8px;margin-top:4px}
  .hours,.lane{grid-template-columns:96px 1fr}
  .md{border-radius:var(--r)}
  .who>span{display:none} /* (الحزمة 81) الاسم وحده — كانت تُخفي أفاتار الهالة داخل الحساب فيصير نقطة */
  .fr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} /* (الحزمة 22) minmax(0,…) كي لا يوسّع حقلٌ الشبكةَ خارج الشاشة */
  .greet{flex-direction:column;align-items:flex-start;gap:8px}
  .greet .date{margin:0;text-align:start}
  .login .split{grid-template-columns:1fr;min-height:auto}
  .login .art{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}svg.viz .draw{stroke-dashoffset:0!important}}
@media print{.side,.top,.btn,.tools,.bnav,.fab,.greet{display:none!important}#app{display:block}.content{padding:0}}

/* ===================== (الحزمة 14) الخطط الشهرية والربعية للمسارات ===================== */
.pl-tk{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--tc,var(--pri));white-space:nowrap}
.pl-tk i{width:8px;height:8px;border-radius:2px;background:var(--tc,var(--pri));transform:rotate(45deg);flex:none}
.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.pl-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 12px 12px;cursor:pointer;transition:transform var(--d2) var(--ease),box-shadow var(--d2),border-color var(--d2)}
.pl-card::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--tc,var(--pri))}
.pl-card:hover{box-shadow:var(--shadow);border-color:var(--line-hi)}
.pl-card .pt{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.pl-card .per{font-size:var(--t-sm);font-weight:var(--w-semi);display:flex;align-items:center;gap:6px}
.pl-card .per svg.ic{width:14px;height:14px;color:var(--mute)}
.pl-card .cnt{font-size:var(--t-xs);color:var(--mute);margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pl-card .last{font-size:var(--t-xs);color:var(--mute);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-mr{display:flex;align-items:center;margin:8px 0 4px}
.pl-mr i{width:9px;height:9px;border-radius:50%;background:var(--line-hi);flex:none}
.pl-mr i.d{background:var(--ok)}.pl-mr i.o{background:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 18%,transparent)}.pl-mr i.b{background:var(--bad)}
.pl-mr s{flex:1;height:1.5px;background:var(--line);text-decoration:none;max-width:40px}.pl-mr s.d{background:var(--ok)}
/* شبكة السنة بأرباعها (1-أ) */
.pl-qgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pl-q{border:1px solid var(--line);border-radius:var(--r);padding:8px;background:var(--surface2)}
.pl-q.on{border-color:color-mix(in srgb,var(--pri) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 15%,transparent)}
.pl-q .qh{display:flex;align-items:baseline;gap:6px;font-size:var(--t-xs);color:var(--mute);padding:0 4px 6px}
.pl-q .qh b{color:var(--ink);font-size:var(--t-xs)}.pl-q .qh svg.ic{width:12px;height:12px;color:var(--ok);margin-inline-start:auto;align-self:center}
.pl-q.qsel .qh{cursor:pointer;border-radius:var(--r-sm)}.pl-q.qsel .qh:hover{background:var(--field)}
.pl-m{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 8px;background:var(--surface);font-size:var(--t-xs);margin-top:4px;cursor:pointer;transition:border-color var(--d1),background var(--d1),color var(--d1)}
.pl-m svg.ic{width:13px;height:13px;color:var(--mute);margin-inline-start:auto}
.pl-m:hover{border-color:var(--line-hi)}
.pl-m.on{border-color:var(--pri);background:color-mix(in srgb,var(--pri) 12%,var(--surface));color:var(--pri);font-weight:var(--w-semi)}.pl-m.on svg.ic{color:var(--pri)}
.pl-m.lock{color:var(--mute);background:var(--field);cursor:not-allowed}.pl-m.lock svg.ic{color:var(--ok)}
.pl-m.has{border-inline-start:3px solid var(--warn)}
.pl-yr{display:inline-flex;align-items:center;gap:10px;font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-md)}
.pl-yr button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--mute);display:grid;place-items:center;padding:0}
.pl-yr button svg.ic{width:14px;height:14px}
/* بطاقات الأنشطة (2-أ) */
.pl-act{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:10px;overflow:hidden}
.pl-act .ah{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--field);cursor:pointer;flex-wrap:wrap}
.pl-act .ah .n{width:26px;height:26px;border-radius:var(--r-sm);background:var(--ic,var(--pri));color:#fff;display:grid;place-items:center;font-size:var(--t-xs);font-weight:var(--w-semi);flex:none}
.pl-act .ah b{flex:1;font-weight:var(--w-semi);min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-act .ah .tools{display:flex;gap:2px;margin-inline-start:auto}
.pl-act .ah .tools button{background:none;border:0;color:var(--mute);width:28px;height:28px;border-radius:var(--r-sm);display:grid;place-items:center;cursor:pointer;padding:0}
.pl-act .ah .tools button:hover{background:var(--surface);color:var(--ink)}.pl-act .ah .tools button:disabled{opacity:.3;cursor:default}
.pl-act .ah .tools svg.ic{width:15px;height:15px}
.pl-act .ab{padding:12px}.pl-act.fold .ab{display:none}
.pl-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;font-size:var(--t-xs)}
.pl-fields .k{font-size:var(--t-xs);color:var(--mute);margin-bottom:2px}.pl-fields .w{grid-column:1/-1}
/* (الحزمة 15) النماذج المُنمَّطة: مجموعات الحقول (التعريف · الفئة المستهدفة · التنفيذ · الكلفة) + المحسوب + نعم/لا + الكلفة بعملة */
.pl-grp{border:1px solid var(--line2);border-radius:var(--r);padding:10px 12px 12px;margin-bottom:10px;background:color-mix(in srgb,var(--ic,var(--pri)) 3%,transparent)}
.pl-grp .gt{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ic,var(--pri));margin-bottom:8px;display:flex;align-items:center;gap:8px}
.pl-grp .gt::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--ic,var(--pri)) 22%,transparent)}
.pl-grp.ro{padding:8px 12px 10px;margin-bottom:8px}.pl-grp.ro .pl-fields{gap:6px 14px}
.pl-ro{border:1px dashed var(--line);border-radius:var(--r-sm);padding:8px 12px;min-height:40px;display:flex;align-items:center;gap:6px;color:var(--ink);background:color-mix(in srgb,var(--ic,var(--pri)) 6%,transparent);font-weight:var(--w-semi)}
.pl-money{display:grid;grid-template-columns:1fr 92px;gap:6px}
.seg.yn{padding:2px;gap:2px}.seg.yn button{padding:6px 12px;flex:1;justify-content:center}.seg.yn button.on:first-child{color:var(--ok)}.seg.yn button.on:last-child{color:var(--bad)}
/* (الحزمة 15 — طلب المالك) «تغيير لم يُعاين»: نقطة حمراء نابضة بجانب اسم الصفحة وعلى بطاقة الخطة، تنطفئ بفتح الخطة */
.ndot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 22%,transparent);flex:none;vertical-align:middle}


.nav a .ndot{margin-inline-start:6px}.nav .sub a .ndot{width:7px;height:7px}
#app.mini .nav a .ndot{position:absolute;top:9px;inset-inline-end:12px;margin:0}
.fly a .ndot{margin-inline-start:auto}
.pl-card.unseen{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--bad) 25%,transparent)}
.pl-card .pt .ndot{margin-inline-end:2px}
/* السكّة الثلاثية (4-أ) */
.pl-rail{display:flex;align-items:flex-start;padding:6px 4px 0}
.pl-rail .rs{flex:1;text-align:center;position:relative;font-size:var(--t-xs)}
.pl-rail .rs .d{width:36px;height:36px;border-radius:50%;margin:0 auto 6px;display:grid;place-items:center;border:1.5px solid var(--line-hi);background:var(--surface);color:var(--mute);position:relative;z-index:var(--z-raise)}
.pl-rail .rs .d svg.ic{width:16px;height:16px}
.pl-rail .rs.done .d{background:var(--ok);border-color:var(--ok);color:var(--solid)}
.pl-rail .rs.on .d{border-color:var(--pri);color:var(--pri);box-shadow:0 0 0 5px color-mix(in srgb,var(--pri) 16%,transparent)}
.pl-rail .rs.bad .d{border-color:var(--bad);color:var(--bad)}
.pl-rail .rs b{display:block;font-weight:var(--w-semi);font-size:var(--t-xs)}.pl-rail .rs small{color:var(--mute);font-size:var(--t-2xs);display:block;min-height:14px}
.pl-rail .rs::before{content:"";position:absolute;top:18px;inset-inline-start:-50%;width:100%;height:1.5px;background:var(--line)}
.pl-rail .rs:first-child::before{display:none}.pl-rail .rs.done::before,.pl-rail .rs.on::before{background:var(--ok)}


.pl-reason{padding:8px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--bad) 9%,transparent);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);font-size:var(--t-xs);margin-top:10px}.pl-reason b{color:var(--bad)}
.pl-note{padding:8px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 32%,transparent);font-size:var(--t-xs);margin-top:8px}.pl-note b{color:var(--warn)}
.pl-log{margin-top:10px;font-size:var(--t-xs)}
.pl-log .ev{display:flex;gap:8px;padding:8px 0;border-top:1px solid var(--line2);align-items:flex-start}
.pl-log .ev .t{flex:1;min-width:0}.pl-log .ev .t b{font-weight:var(--w-semi)}.pl-log .ev .t small{display:block;color:var(--mute)}
.pl-log .ev .why{display:block;margin-top:4px;padding:4px 8px;border-radius:var(--r-sm);background:var(--field);color:var(--ink2)}
.pl-two{display:grid;grid-template-columns:1fr 330px;gap:16px;align-items:start}
.pl-foot{display:flex;flex-direction:column;gap:10px;width:100%}
.pl-foot .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pl-foot .row .sp{flex:1}
.pl-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:var(--t-xs);align-items:center}.pl-kv small{color:var(--mute)}
.pl-chk{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);margin-bottom:6px;cursor:pointer}
.pl-chk input{width:auto;margin:0}.pl-chk.off{opacity:.6;cursor:not-allowed}.pl-chk small{color:var(--mute)}
select.chip{appearance:auto;width:auto;min-width:150px;padding:4px 8px;font:inherit;font-size:var(--t-xs)}
@media (max-width:820px){.pl-two{grid-template-columns:1fr}.pl-qgrid{grid-template-columns:1fr 1fr}.pl-fields{grid-template-columns:1fr}}

/* (الحزمة 17) نافذة توليد ملف الخطط — مجموعات الفترات */
.gen-filt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.gen-srch{display:flex;align-items:center;gap:6px;flex:1;min-width:180px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field);padding:0 10px}
.gen-srch svg.ic{width:15px;height:15px;color:var(--mute)}.gen-srch input{border:0;background:transparent;box-shadow:none;padding:8px 0;width:100%}
.gen-filt .chips{display:flex;gap:4px;flex-wrap:wrap}
.gen-list{max-height:min(52vh,460px);overflow:auto;padding-inline-end:2px}
.gen-grp{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:8px;overflow:hidden}
.gen-gh{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--field);font-weight:var(--w-semi);font-size:var(--t-sm);cursor:default}
.gen-gh b{cursor:pointer}.gen-gh small{font-weight:var(--w-reg);color:var(--mute);font-size:var(--t-xs)}
.gen-tg{margin-inline-start:auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:var(--solid);display:grid;place-items:center;color:var(--mute);padding:0}
.gen-tg svg.ic{width:13px;height:13px;transition:transform var(--d2) var(--ease)}.gen-grp.closed .gen-tg svg.ic{transform:rotate(180deg)}.gen-grp.closed .gen-rows{display:none}
.gen-cb{position:relative;width:18px;height:18px;border:1.5px solid var(--line-hi);border-radius:var(--r-xs);background:var(--solid);display:grid;place-items:center;color:#fff;cursor:pointer;flex:none}
.gen-cb input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}.gen-cb svg.ic{width:12px;height:12px;stroke-width:2.6;opacity:0}
.gen-cb.on{background:var(--pri);border-color:var(--pri)}.gen-cb.on svg.ic{opacity:1}.gen-cb.half{background:color-mix(in srgb,var(--pri) 45%,var(--solid));border-color:var(--pri)}.gen-cb.half svg.ic{opacity:1}
.gen-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line2);font-size:var(--t-xs);cursor:pointer;flex-wrap:wrap}
.gen-row input{width:16px;height:16px;margin:0;accent-color:var(--pri)}.gen-row.on{background:color-mix(in srgb,var(--pri) 7%,transparent)}
.gen-row .gen-meta{margin-inline-start:auto;color:var(--mute);font-size:var(--t-xs);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* ==================== (الحزمة 20) الرافعات 5–8: الحركة الهادفة · الجداول · النماذج · الحالات ====================
   5 الحركة: النوافذ والقوائم تنبثق من مصدرها (transform-origin من نقطة الضغط --ox/--oy أو من مرساة القائمة)،
     وشريط تحميل رفيع أسفل الترويسة بدل الدوّارات المتناثرة.
   6 الجداول: صفّ 40px بتحويم خفيف · الأرقام والتواريخ على محور واحد (.n) · الأكواد شارات · الحالة نقطة + كلمة (.st)
     · عمود الأفعال محاذى إلى الطرف (.act) · الأعمدة الفارغة تُخفى (.col-x) · 25 صفاً بصفحات (.pgn) — يضبطها DD.polish.
   7 النماذج: التسمية فوق الحقل بوزن 500 · نصّ مساعد رمادي بوزن 400 · الإلزامي نقطة لا نجمة (.req) · الخطأ بجانب الحقل (.ferr)
     · عرض الحقل بحسب محتواه (التاريخ/الوقت/الرقم قصير، النصّ الطويل يمتدّ) · الزرّ الأساسي واحد في أقصى الطرف.
   8 الحالات: فارغ (أيقونة 56 + جملة + فعل) · تحميل بهياكل رمادية هادئة بلا لمعان (.skel) · خطأ يقول ما حدث وماذا تفعل
     (+ زرّ إعادة المحاولة) · نجاح توست واحد بعدّاد (التوست المكرّر لا يتكدّس). */
/* --- 5 الحركة --- */
.md{transform-origin:var(--ox,50%) var(--oy,50%)}
.pop{transform-origin:top left}[dir=ltr] .pop{transform-origin:top right}
.fly{transform-origin:top right}[dir=ltr] .fly{transform-origin:top left}
.cbx .dd,.dlpop,.pal .box{transform-origin:top center}
.ov{transition:opacity var(--d2)}
.ldbar{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;overflow:hidden;opacity:0;transition:opacity var(--d2)}
.ldbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c4),var(--pri),var(--c6));transition:width var(--d3) var(--ease)}
.ldbar.on{opacity:1}
/* --- 6 الجداول --- */
td{padding:8px 12px;height:40px}
.items-t td{height:auto}
tbody tr:hover td{background:color-mix(in srgb,var(--ink) 4%,transparent)}
tr.row:hover td{background:color-mix(in srgb,var(--pri) 8%,transparent)}
th.n,td.n{direction:ltr;unicode-bidi:isolate}
td.act,th.act{text-align:end;white-space:nowrap}
[dir=rtl] td.act,[dir=rtl] th.act{text-align:left}
td.act .btn,td.act .ibtn{vertical-align:middle}
.col-x{display:none}
.pgn{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid var(--line2);font-size:var(--t-xs);color:var(--mute);font-family:var(--font);font-variant-numeric:tabular-nums}
.pgn .sp{flex:1}
.pgn button{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink2);display:grid;place-items:center;padding:0;transition:background var(--d1)}
.pgn button:hover:not(:disabled){background:var(--field)}
.pgn button:disabled{opacity:.4;cursor:not-allowed}
.pgn button svg.ic{width:14px;height:14px}
.pgn button[data-p="1"] svg.ic{transform:scaleX(-1)}[dir=ltr] .pgn button[data-p="1"] svg.ic{transform:none}
[dir=ltr] .pgn button[data-p="-1"] svg.ic{transform:scaleX(-1)}
/* --- 7 النماذج --- */
.req{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bad);font-size:0;line-height:0;vertical-align:middle;margin-inline-start:1px}
label.f>span .muted,label.f>span small{font-weight:var(--w-reg)}
label.f .help{font-size:var(--t-xs);color:var(--mute);font-weight:var(--w-reg);line-height:1.5}
label.f.err>input,label.f.err>select,label.f.err>textarea,label.f.err .cbx .sel{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 14%,transparent)}
.ferr{display:flex;align-items:center;gap:4px;color:var(--bad);font-size:var(--t-xs);font-weight:var(--w-reg)}
.ferr svg.ic{width:13px;height:13px;flex:none}
label.f:has(>input[type=date])>input,label.f:has(>input[type=time])>input,label.f:has(>input[type=number])>input,label.f:has(>input[type=month])>input{max-width:200px}
label.f:has(>textarea){grid-column:1/-1}
.mf .btn.pri{order:9}
.login .err:not(:empty){display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--bad) 9%,transparent);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent)}
/* --- 8 الحالات --- */
.empty svg.ic{width:56px;height:56px}
.empty .btn{margin-top:12px}
.skel{display:grid;gap:12px}
.skel .row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.skel .box{border:1px solid var(--card-line);border-radius:var(--r);padding:16px;display:grid;gap:10px;background:var(--card-bg);align-content:start}
.skel .sk{display:block;height:14px;border-radius:var(--r-xs);background:var(--field);width:100%}
.skel .sk.t{height:22px;width:42%}.skel .sk.l{width:66%}.skel .sk.s{width:28%;height:11px}
@media (max-width:820px){.skel .row{grid-template-columns:1fr 1fr}}
.toast{pointer-events:auto}
.toast .act{margin-inline-start:4px;color:var(--pri);font-weight:var(--w-semi);cursor:pointer;white-space:nowrap}

/* ==================== (الحزمة 21) واجهة المتطوعين — المستوى · الشارات · البروفايل · سلم الترتيب · المقترحات ==================== */
:root[data-mode=light]{--vdim:#C9CDD8;--vdim2:#E1E4EC}
:root[data-mode=dark]{--vdim:#3A3E48;--vdim2:#2B2F38}
.vtag{position:relative;display:inline-grid;place-items:center;flex:none;vertical-align:middle}
.vtag svg,.vtag img{position:absolute;inset:0;width:100%;height:100%}
.vtag b{position:relative;font-family:var(--font);font-weight:var(--w-semi);color:#fff;line-height:1}
.vbar{height:8px;border-radius:999px;background:var(--field);border:1px solid var(--line2);overflow:hidden;display:block;flex:1;min-width:60px}
.vbar i{display:block;height:100%;background:linear-gradient(90deg,var(--c4),var(--pri));border-radius:999px;transition:width var(--d3) var(--ease)}
.vlvl{display:flex;align-items:center;gap:10px;width:100%;max-width:340px;text-align:start}
.vlvl .t{flex:1;min-width:0}.vlvl .r{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:var(--t-sm)}.vlvl .r .xp{font-family:var(--font);font-weight:var(--w-semi)}
.vlvl .vbar{margin-top:4px}
.vlvl.sm{display:inline-flex;gap:6px;width:auto;max-width:none;vertical-align:middle}
.vbd{position:relative;display:inline-grid;place-items:center;flex:none;vertical-align:middle}
.vbd svg,.vbd img{width:100%;height:100%;display:block;overflow:visible}
.vbd .n{position:absolute;bottom:-4px;inset-inline-end:-6px;font-family:var(--font);font-size:var(--t-2xs);font-weight:var(--w-semi);background:var(--solid);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:0 4px;min-width:18px;text-align:center;line-height:16px}
.vbd.act::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--ok);pointer-events:none}
.vbd.off{opacity:.55;filter:grayscale(.5)}
.vav{border-radius:50%;object-fit:cover;flex:none;display:inline-grid;place-items:center;font-style:normal;font-family:var(--font);font-weight:var(--w-semi)}
img.vav{background:var(--field)}
.vlink{color:inherit;text-decoration:none;display:contents}
/* شريط الأبطال (2-أ) */
.vhero{position:relative;padding:24px 6px 4px}
.vhero .rail{position:absolute;left:8%;right:8%;top:78px;height:2px;background:linear-gradient(90deg,transparent,var(--line),var(--line),transparent)}
.vhero .row{display:flex;justify-content:space-around;align-items:flex-end;gap:6px}
.vhero .h{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;font-size:var(--t-xs);position:relative;text-align:center}
.vhero .h .vlink{display:flex;flex-direction:column;align-items:center;gap:4px}
.vhero .h b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.vhero .avw{position:relative;display:inline-grid;border-radius:50%}
.vhero .top3 .avw{box-shadow:0 0 0 2px var(--solid),0 0 0 3.5px var(--c6)}
.vhero .first .avw{box-shadow:0 0 0 3px var(--solid),0 0 0 5px var(--gold)}
.vhero .rk{position:absolute;bottom:-4px;inset-inline-end:-4px;background:var(--solid);color:var(--ink2);border:1px solid var(--line);border-radius:999px;font-size:var(--t-2xs);font-weight:var(--w-semi);min-width:18px;line-height:17px;text-align:center}
.vhero .first .rk{background:var(--gold);color:var(--solid);border-color:transparent}
.vhero .meta{display:flex;gap:4px;align-items:center}
.vhero .chip.xp{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-2xs)}
.vlist{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.vrow{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);font-size:var(--t-sm);transition:background var(--d1)}
.vrow:hover{background:var(--field)}
.vrow .vlink{display:flex;align-items:center;gap:10px;width:100%}
.vrow .rk{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-md);color:var(--mute);width:26px;text-align:center;flex:none}
.vrow .nm{flex:1;min-width:0}.vrow .nm b{display:block;font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vrow .nm small{color:var(--mute);font-size:var(--t-2xs)}
/* (الحزمة 28 — طلب المالك) صفوف الترتيب: الشارة المثبتة بين الأفاتار والاسم، ووسم المستوى في الطرف الآخر جانب النقاط */
.vrow .vbd{flex:none}
.vrow .nobd{width:26px;flex:none}
.vrow .vtag{flex:none}
.vrow .xp{font-family:var(--font);font-weight:var(--w-semi);white-space:nowrap;min-width:60px;text-align:end}
/* تمييز أرقام الأوائل وحدهم: 1 ذهبي · 2 فضّي · 3 برونزي · 4 و5 درجة هادئة (السلم الشهري) */
.vrow .rk.g1,.vrow .rk.g2,.vrow .rk.g3,.vrow .rk.g4{color:var(--rkink);background:var(--rkbg);border:1px solid var(--rkln);border-radius:999px;width:26px;height:26px;line-height:24px;font-size:var(--t-sm)}
.vrow .rk.g1{--rkbg:color-mix(in srgb,var(--gold-m) 26%,transparent);--rkln:color-mix(in srgb,var(--gold-m) 52%,transparent);--rkink:var(--gold)}
.vrow .rk.g2{--rkbg:color-mix(in srgb,var(--silver-m) 26%,transparent);--rkln:color-mix(in srgb,var(--silver-m) 52%,transparent);--rkink:var(--ink2)}
.vrow .rk.g3{--rkbg:color-mix(in srgb,var(--bronze-m) 26%,transparent);--rkln:color-mix(in srgb,var(--bronze-m) 52%,transparent);--rkink:var(--warn)}
.vrow .rk.g4{--rkbg:var(--pri-soft);--rkln:transparent;--rkink:var(--pri)}
.vstats{display:flex;gap:14px;flex-wrap:wrap;font-size:var(--t-xs);color:var(--mute)}.vstats b{color:var(--ink)}
.vcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
/* (الحزمة 37) direction:ltr — في صفحة RTL ينقلب text-anchor فكانت أرقام المحور الرأسي تمتدّ داخل الرسم وتتداخل مع الأعمدة */
.vchart text{font-family:var(--font);font-size:var(--t-2xs);fill:var(--mute);direction:ltr;unicode-bidi:isolate}.vchart .grid{stroke:var(--line2)}
/* المعرض (6-ب) */
.vfam{border:1px solid var(--line2);border-radius:var(--r);padding:10px 12px;margin-bottom:10px;background:color-mix(in srgb,var(--fc,var(--pri)) 3%,transparent)}
.vfam .ft{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--fc,var(--pri));margin-bottom:8px;display:flex;align-items:center;gap:8px}
.vfam .ft::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--fc,var(--pri)) 25%,transparent)}
.vfam .ft small{font-family:var(--font);color:var(--mute);font-weight:var(--w-med);margin-inline-start:auto}
.vfam .rail{display:flex;align-items:flex-start;gap:6px;overflow:auto;padding:4px 2px}
.vfam .rail s{flex:none;width:18px;height:1.5px;background:var(--line);text-decoration:none;margin-top:28px}.vfam .rail s.d{background:var(--ok)}
.vcell{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:84px;max-width:110px;text-align:center;font-size:var(--t-xs);color:var(--ink2);cursor:pointer;padding:6px 4px;border-radius:var(--r-sm);transition:background var(--d1);flex:none}
.vcell:hover{background:var(--field)}
.vcell small{font-size:var(--t-2xs);color:var(--mute);display:inline-flex;align-items:center;gap:4px}
.vcell small svg.ic{width:10px;height:10px}
.vcell.lock{color:var(--mute)}
.pchip{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-2xs);border-radius:999px;padding:0 8px;line-height:16px;border:1px solid var(--line);color:var(--mute)}
.pchip.on{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}
.pchip i{width:5px;height:5px;border-radius:50%;background:currentColor}
.vhow{margin-top:12px;padding:10px 12px;border-radius:var(--r-sm);background:var(--field);font-size:var(--t-sm)}.vhow b{display:block;margin-bottom:2px}.vhow small{display:block;margin-top:4px}
/* البروفايل (5-ب) */
.vprof{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:14px;align-items:start}.vmain{min-width:0}
.vside .vavw{position:relative;display:inline-block}
.vside .cam{position:absolute;bottom:0;inset-inline-end:0;width:30px;height:30px;border-radius:50%!important;--ic:var(--pri)}
.vthree{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:44px}
.vkv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:var(--t-xs);text-align:start;width:100%;margin-top:6px;padding-top:8px;border-top:1px solid var(--line2)}
.vkv small{color:var(--mute)}.vkv span{min-width:0;overflow-wrap:anywhere}
.vacts{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:6px}
/* (الحزمة 38 — قرار 2-أ) أفعال البروفايل: دوائر 42 بلون الفعل وأيقونته، والاسم تلميح فوق الزرّ عند المرور أو التركيز */
.vacts.ic{gap:10px;margin-top:10px;padding-top:14px;border-top:1px solid var(--line2);width:100%}
.vact{--ac:var(--pri);position:relative;width:42px;height:42px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ac) 30%,transparent);background:color-mix(in srgb,var(--ac) 10%,var(--solid));color:var(--ac);display:grid;place-items:center;cursor:pointer;transition:background var(--d2) var(--ease),transform var(--d1) var(--ease)}
.vact svg.ic{width:20px;height:20px}
.vact:hover,.vact:focus-visible{background:color-mix(in srgb,var(--ac) 18%,var(--solid))}
.vact:active{transform:scale(.97)}
.vact::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);inset-inline-start:50%;transform:translateX(50%);background:var(--ink);color:var(--solid);font-size:var(--t-2xs);line-height:1.6;border-radius:var(--r-xs);padding:2px 8px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--d1) var(--ease);z-index:var(--z-raise3)}
[dir=ltr] .vact::after{transform:translateX(-50%)}
.vact:hover::after,.vact:focus-visible::after{opacity:1}
/* (الحزمة 38 — قرار 4-أ) مدخل المستشار: شاشة كاملة ببوّابتين متجاورتين (تتكدّسان على الهاتف) بلونَي الواجهتين وأرقام حيّة + مبدّل ثابت في الترويسة */
.advg{position:fixed;inset:0;z-index:var(--z-force);background:var(--bg);display:flex;flex-direction:column;padding:16px 24px 24px;gap:16px;overflow:auto}
.advt{display:flex;align-items:center;gap:12px;min-height:48px}
.advt .mk{width:36px;height:36px;border-radius:var(--r-xs);display:grid;place-items:center;background:linear-gradient(135deg,var(--gate-m2),var(--gate-v2));color:var(--gate-ink);flex:none}
.advt .mk svg{width:20px;height:20px}
.advt .wm{display:block;height:16px;color:var(--ink)}
.advt .wm svg{height:16px;width:auto;display:block}
.advt .sp{flex:1}
.advw{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-height:0}
.gate{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:12px;color:var(--gate-ink);text-decoration:none;min-height:340px;box-shadow:var(--sh-3);transition:transform var(--d2) var(--ease)}
.gate:hover{transform:translateY(-2px);text-decoration:none}
.gate:active{transform:scale(.99)}
.gate.v{background:linear-gradient(150deg,var(--gate-v1),var(--gate-v2) 60%,var(--gate-v3))}
.gate.m{background:linear-gradient(150deg,var(--gate-m1),var(--gate-m2) 65%,var(--gate-m3))}
.gate::after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:var(--gate-glow);inset-inline-end:-90px;top:-100px;pointer-events:none}
.gate .gi{width:64px;height:64px;border-radius:var(--r);background:var(--gate-glow2);display:grid;place-items:center}
.gate .gi svg.ic{width:32px;height:32px}
.gate h2{margin:6px 0 0;font-size:var(--t-xl);font-weight:var(--w-bold)}
.gate p{margin:0;font-size:var(--t-sm);opacity:.88;max-width:42ch}
.gate .fg{display:flex;gap:24px;margin-top:auto;flex-wrap:wrap;padding-inline-end:60px}
.gate .fg b{display:block;font-family:var(--font);font-size:var(--t-lg);line-height:1.2}
.gate .fg small{font-size:var(--t-xs);opacity:.82}
.gate .go{position:absolute;inset-inline-end:28px;bottom:28px;width:44px;height:44px;border-radius:50%;background:var(--gate-go);color:var(--gate-go-ink);display:grid;place-items:center}
.gate .go svg.ic{width:20px;height:20px}
[dir=ltr] .gate .go svg.ic{transform:scaleX(-1)}
.advsw{display:inline-flex;background:var(--solid);border-radius:999px;padding:4px;gap:2px;box-shadow:var(--sh-2);margin-inline-end:6px}
.advsw a,.advsw b{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:var(--t-xs);font-weight:var(--w-med);color:var(--mute);text-decoration:none;white-space:nowrap}
.advsw svg.ic{width:15px;height:15px}
.advsw b{background:var(--pri);color:var(--pri-ink);font-weight:var(--w-semi)}
.advsw a:hover{background:var(--field);color:var(--ink);text-decoration:none}
@media (max-width:820px){.advw{grid-template-columns:minmax(0,1fr)}.gate{min-height:0;padding:24px}.gate h2{font-size:var(--t-lg)}.advsw a,.advsw b{padding:6px 10px}.advsw span.t{display:none}}
/* (الحزمة 38 — قرار 3-أ) المنحنى الناعم: نقاط أسبوعية مفرّغة · رقاقة القيمة الأخيرة · المجموع والزيادة في رأس البطاقة */
.vchart circle.wk{fill:var(--solid);stroke-width:2}
.vchart circle.end{stroke:var(--solid);stroke-width:2.5}
.vchart .pill text{fill:var(--pri-ink);font-weight:var(--w-semi);font-size:var(--t-xs)}
.vfold .vbig{font-family:var(--font);font-size:var(--t-lg);font-weight:var(--w-semi);margin-inline-start:6px}
.vfold .vdl{margin-inline-start:2px}
.vledger{display:flex;flex-direction:column;gap:6px}
.le{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);font-size:var(--t-sm)}
.le .st{min-width:64px;justify-content:center;font-family:var(--font)}
.le .t{flex:1;min-width:0}.le .t b{display:block;font-weight:var(--w-semi)}.le .t small{color:var(--mute);font-size:var(--t-2xs);display:block}
/* البنود */
.vitems{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px}
.vitem{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface)}
.vitem.off{opacity:.6}
.vitem .xpv{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-md);color:var(--ok);min-width:96px;text-align:center;border-radius:var(--r-xs);padding:4px 8px;background:color-mix(in srgb,var(--ok) 10%,transparent);white-space:nowrap}
.vitem .xpv.neg{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.vitem .t{min-width:0}.vitem .t b{display:block;font-weight:var(--w-semi);font-size:var(--t-sm)}.vitem .t small{color:var(--mute);font-size:var(--t-2xs)}
/* المقترحات */
.vsug{margin-bottom:10px}.vsug .cb{padding:12px 14px}
/* (الحزمة 73 — §5-ص49 م5) الوصف لا يظهر في البطاقة — يُقرأ في معاينة المقترح (النافذة المستقلة .vsolo) */
.vsug .vdesc{display:none}.vsolo .vsug .vdesc{display:block}
.vdesc-go{display:inline-flex;align-items:center;gap:6px;margin:6px 0 2px;padding:0;border:0;background:none;color:var(--pri);font:inherit;font-size:var(--t-xs);font-weight:var(--w-semi);cursor:pointer}.vdesc-go svg.ic{width:14px;height:14px}.vdesc-go:hover{text-decoration:underline}
.vsh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm)}.vsh .sp{flex:1}
.vsr{padding-top:4px}.vsr .rs .d{width:30px;height:30px}.vsr .rs .d svg.ic{width:14px;height:14px}.vsr .rs::before{top:15px}
/* الإعدادات */
.vtiers{display:flex;gap:10px;flex-wrap:wrap}.vtier{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:var(--t-2xs);color:var(--mute);min-width:64px}
@media (max-width:820px){.vprof{grid-template-columns:1fr}.vhero .row{flex-wrap:wrap;justify-content:center;gap:12px}.vhero .rail{display:none}.vcards{grid-template-columns:1fr}}

/* ---------------- (الحزمة 22 — الرافعة 10) دليل المكوّنات #/styleguide وتبويب «الجودة» — guide.js ----------------
   فهرس جانبي لاصق + أقسام بطاقات؛ كل الأمثلة بأصناف المنصة نفسها. الأنماط هنا تخضع لقواعد lib/ui-lint.js كغيرها. */
.sg{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;align-items:start}
.sg-toc{position:sticky;top:calc(var(--top-h) + var(--sat) + 16px);display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:var(--r);background:var(--card-bg);border:1px solid var(--card-line);box-shadow:var(--sh-1)}
.sg-toc a{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-sm);color:var(--ink2);text-decoration:none;font-size:var(--t-sm);white-space:nowrap;transition:background var(--d1)}
.sg-toc a svg.ic{width:16px;height:16px;color:var(--ic,var(--pri));flex:none}
.sg-toc a:hover{background:var(--field)}
.sg-toc a.on{background:color-mix(in srgb,var(--ic,var(--pri)) 12%,transparent);color:var(--ink);font-weight:var(--w-semi)}
.sg-body{display:grid;gap:16px;min-width:0}
.sg-sec .cb{display:grid;gap:12px}
.sg-sec .cb>*{min-width:0}
.sg-sec .hint .code{white-space:normal;word-break:break-all}
.sg-rule{font-size:var(--t-sm);color:var(--ink2);padding:8px 12px;border-inline-start:3px solid var(--ic,var(--pri));background:var(--surface2);border-radius:var(--r-xs);line-height:1.7}
.sg-h{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--mute);margin-top:4px}
.sg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.sg-sw{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:center;padding:6px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);min-width:0}
.sg-sw i{display:block;width:36px;height:36px;border-radius:var(--r-xs);border:1px solid var(--line);background:var(--sw)}
.sg-sw b{display:block;font-family:var(--font);font-size:var(--t-xs);font-weight:var(--w-med);color:var(--ink);direction:ltr;text-align:start}
.sg-sw small{display:block;font-family:var(--font);font-size:var(--t-2xs);color:var(--ink2);direction:ltr;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-sw .cr{font-family:var(--font);font-size:var(--t-2xs);border-radius:999px;padding:0 6px;background:var(--field);color:var(--ink2);display:inline-block;margin-top:2px}
.sg-sw .cr.ok{color:var(--ok)}.sg-sw .cr.bad{color:var(--bad)}
.sg-type{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line2)}
.sg-type small{font-family:var(--font);font-size:var(--t-xs);color:var(--mute);direction:ltr;text-align:start}
.sg-bars{display:grid;gap:6px}
.sg-bar{display:flex;align-items:center;gap:12px;font-family:var(--font);font-size:var(--t-xs);color:var(--mute)}
.sg-bar i{display:block;height:12px;background:color-mix(in srgb,var(--ic,var(--pri)) 40%,transparent);border-radius:2px}
.sg-tile{display:grid;place-items:center;gap:4px;min-height:80px;padding:12px;background:var(--solid);border:1px solid var(--line2);text-align:center;font-size:var(--t-xs);color:var(--ink2)}
.sg-tile b{font-family:var(--font);color:var(--ink);direction:ltr}
.sg-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}
.sg-ico{display:inline-grid;place-items:center;gap:4px;padding:8px 4px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);color:var(--ic,var(--pri));min-width:0}
.sg-ico small{font-family:var(--font);font-size:var(--t-2xs);color:var(--mute);direction:ltr;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-top{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-sm);background:var(--top-bg2);color:var(--top-ink);flex-wrap:wrap}
.sg-motion{display:grid;gap:8px}
.sg-motion .tr{display:flex;align-items:center;gap:12px;font-size:var(--t-xs);color:var(--mute);flex-wrap:wrap}
.sg-motion .lane{flex:1;min-width:160px;height:24px;border-radius:999px;background:var(--field);position:relative}
.sg-motion .lane i{position:absolute;top:4px;inset-inline-start:4px;width:16px;height:16px;border-radius:50%;background:var(--ic,var(--pri));transition:inset-inline-start var(--dm) var(--ease)}
.sg-motion .lane.go i{inset-inline-start:calc(100% - 20px)}
.sg-audit{display:grid;gap:8px;padding:12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface2)}
.sg-audit .it{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:var(--t-sm)}
.sg-audit .it .st{flex:none}
.sg-audit ul{margin:0;padding-inline-start:20px;color:var(--mute);font-size:var(--t-xs);flex-basis:100%}
.sg-sum{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:var(--t-sm)}
.sg-sum .big{font-size:var(--t-lg);font-weight:var(--w-semi);display:inline-flex;align-items:center;gap:8px}
.sg-sum .big svg.ic{width:24px;height:24px}
.sg-sum .big.ok{color:var(--ok)}.sg-sum .big.bad{color:var(--bad)}
.sg-rules{display:grid;gap:6px}
.sg-rrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:var(--t-sm)}
.sg-rrow .st{flex:none;min-width:56px;justify-content:center}
.sg-items{font-size:var(--t-xs);color:var(--ink2);display:grid;gap:4px;padding:8px 12px;background:var(--surface2);border-radius:var(--r-xs);flex-basis:100%}
.sg-items div{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sg-cs{display:inline-block;width:14px;height:14px;border-radius:var(--r-xs);border:1px solid var(--line);vertical-align:middle;margin-inline-end:4px;background:var(--sw)}
@media (max-width:820px){.sg{grid-template-columns:minmax(0,1fr)}.sg-toc{position:static;flex-direction:row;overflow:auto;gap:4px}.sg-type{grid-template-columns:1fr}.sg-toc a span{display:none}.sg .strip{grid-template-columns:1fr}.sg .kpi{border-inline-start:0;border-top:1px solid var(--line2)}.sg .kpi:first-child{border-top:0}}

/* ==================== (الحزمة 24) الكسوتان لكل مستخدم: «HeroUI» و«Tabler» بالوضعين — قرار المالك بعد الجولة 17 ====================
   html[data-skin=hero|tabler|legacy] × html[data-mode=light|dark]. legacy = الأفق المصفّى/الزجاج الغرافيتي (الأساس أعلاه بلا تغيير).
   المبدأ: الكسوة = كتلة رموز (:root[data-skin=X][data-mode=M]) تُعيد تعريف الرموز نفسها (الأرضية · السطوح · الحدود · الظلال · الزوايا · الترويسة · الشريط)
   + قواعد بنية قليلة (الشريط الجانبي العائم في HeroUI · الترويسة الكحلية والشريط الأفقي في Tabler) — المنطق والمكوّنات نفسها.
   الثوابت (طلب المالك): أيقونات الشريط ملوّنة بلون قسمها في الكسوات كلها · هوية Domains بطريقة الكسوة (HeroUI: تدرّج Horizon Depth على العلامة والزرّ
   الأساسي · Tabler: ترويسة كحلية كاملة) · الشعار الحقيقي (العلامة + كلمة Domains بالرسم الأصلي) في الشريط. */

/* ---------- الشعار الحقيقي (كل الكسوات): العلامة SVG + كلمة Domains SVG بلون currentColor ---------- */
.side .brand{color:#fff}
.side .brand .mk{display:grid;place-items:center;flex:none}
.side .brand .mk svg{height:26px;width:auto;display:block;fill:currentColor}
.side .brand .bt{min-width:0}
.side .brand .wm{display:block;color:inherit}
.side .brand .wm svg{height:16px;width:auto;display:block;fill:currentColor}
#app.mini .side .brand .bt{display:none}

/* ==================== HeroUI — «الناعم المصقول» ==================== */
/* (الحزمة 80) الكسوات الثلاث تتقاسم الأساس ج والألوان والطباعة؛ كلٌّ تحتفظ ببنيتها: hero زوايا 20/14 وشريط جانبي زجاجي عائم · tabler زوايا 4/6 وشريط علوي زجاجي · legacy شريطها الكحلي */
:root[data-skin=hero]{--r:20px;--r-sm:14px;--r-xs:8px;--r-lg:24px;--h-ctl:40px;--h-sm:32px;--side-w:272px;--top-h:64px;--head-accent:none;--head-bg:transparent;--head-line:transparent;--th-line:transparent;--zebra:transparent;--sh-1:none}
:root[data-skin=hero][data-mode=light]{--side-bg:var(--glass);--side-line:var(--tray-line);--side-ink:var(--gray-700);--side-mute:var(--gray-500);--side-on:var(--pri-soft);--top-bg:var(--bg);--top-bg2:var(--glass);--top-ink:var(--ink);--top-mute:var(--mute);--top-line:var(--tray-line);--head-ink:var(--ink)}
:root[data-skin=hero][data-mode=dark]{--side-bg:var(--glass);--side-line:var(--tray-line);--side-ink:#C6CAD6;--side-mute:var(--gray-400);--side-on:var(--pri-soft);--top-bg:var(--bg);--top-bg2:var(--glass);--top-ink:var(--ink);--top-mute:var(--mute);--top-line:var(--tray-line);--head-ink:var(--ink)}
/* الهيكل: شريط عائم كبطاقة · ترويسة بلون الأرضية بلا حدّ · صينية شفافة */
:root[data-skin=hero] #app{padding:16px;gap:16px}
:root[data-skin=hero] .side{top:16px;height:calc(100vh - 32px);border-radius:var(--r);box-shadow:var(--sh-glass);border:1px solid var(--side-line);padding:16px;gap:4px}
:root[data-skin=hero] .side::before{display:none}
:root[data-skin=hero] .side .brand{color:var(--ink);gap:12px;padding:4px 4px 16px;border-bottom:0;margin-bottom:4px}
:root[data-skin=hero] .side .brand .mk{width:40px;height:40px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--pri2) 0%,var(--pri) 55%,var(--vio) 100%);color:#fff;box-shadow:var(--sh-2)}
:root[data-skin=hero] .side .brand .mk svg{height:22px}
:root[data-skin=hero] .side .brand .wm{color:var(--ink)}
:root[data-skin=hero] .side .brand .wm svg{height:15px}
:root[data-skin=hero] .side .brand small{color:var(--mute)}
:root[data-skin=hero] .nav .gl{color:var(--mute);font-weight:var(--w-semi);padding:14px 12px 6px}
:root[data-skin=hero] .nav a{min-height:44px;padding:8px 12px;border-radius:var(--r-sm);color:var(--side-ink);transition:background var(--d1)}
:root[data-skin=hero] .nav a:hover{background:var(--field)}
:root[data-skin=hero] .nav a.on{background:var(--pri-soft);color:var(--pri)}
:root[data-skin=hero] .nav a.on::before{display:none}
:root[data-skin=hero] .nav .sub a{color:var(--mute)}
:root[data-skin=hero] .nav .sub a.on{color:var(--pri)}
:root[data-skin=hero] .nav a .badge{background:var(--c5);color:#fff}
:root[data-skin=hero] .side .uc{background:var(--field);border:0;border-radius:var(--r-sm);padding:12px}
:root[data-skin=hero] .side .uc:hover{background:var(--surface2)}
:root[data-skin=hero] .side .uc b{color:var(--ink)}
:root[data-skin=hero] .side .uc small,:root[data-skin=hero] .side .foot{color:var(--mute)}
:root[data-skin=hero] .side .uc i{background:linear-gradient(135deg,var(--pri2),var(--pri));color:#fff;box-shadow:none}
:root[data-skin=hero] .side .foot .fold{border-color:var(--line);color:var(--mute)}
:root[data-skin=hero] .side .foot .fold:hover{background:var(--field);color:var(--ink)}
:root[data-skin=hero] .top{background:var(--top-bg2);border:0;box-shadow:none;padding:var(--sat) 8px 0;min-height:var(--top-h)}
:root[data-skin=hero] .top h1{color:var(--ink);font-size:var(--t-xl)}
:root[data-skin=hero] .top h1 small,:root[data-skin=hero] .top .bc,:root[data-skin=hero] .top .bc a{color:var(--mute)}
:root[data-skin=hero] .top .srch{background:var(--ibtn-bg);border:1px solid var(--ibtn-line);box-shadow:none;border-radius:var(--r-sm);min-height:var(--h-ctl);color:var(--mute);padding:8px 16px}
:root[data-skin=hero] .top .srch kbd{background:var(--field);border:0;color:var(--mute)}
:root[data-skin=hero] .top .ibtn{width:var(--h-ctl);height:var(--h-ctl);border-radius:var(--r-sm);background:var(--ibtn-bg);border:1px solid var(--ibtn-line);box-shadow:none;color:var(--ic,var(--ink2))}
:root[data-skin=hero] .top .ibtn:hover{box-shadow:var(--sh-2)}
:root[data-skin=hero] .top .ibtn .dot{box-shadow:0 0 0 2px var(--solid)}
:root[data-skin=hero] .top .add{background:linear-gradient(135deg,var(--pri2) 0%,var(--pri) 55%,var(--vio) 100%);color:#fff;box-shadow:var(--sh-2)}
:root[data-skin=hero] .who{background:var(--ibtn-bg);border:1px solid var(--ibtn-line);box-shadow:none;color:var(--ink);min-height:var(--h-ctl);padding:4px 12px 4px 4px}
:root[data-skin=hero] .who i{background:linear-gradient(135deg,var(--pri2),var(--pri));color:#fff}
:root[data-skin=hero] .content{padding:16px 20px 32px}
/* البطاقات والمؤشّرات: سطح أبيض بزوايا 20 وظلّ ناعم، ترويسة بلا خلفية، أيقونة المؤشّر في دائرة مصبوغة (لغة HeroUI) */
:root[data-skin=hero] .card,:root[data-skin=hero] .greet,:root[data-skin=hero] .strip,:root[data-skin=hero] .grid.g4:has(>.kpi){background:var(--card-bg);border:1px solid var(--card-line);box-shadow:var(--sh-2)}
:root[data-skin=hero] .card::before,:root[data-skin=hero] .strip::before,:root[data-skin=hero] .grid.g4:has(>.kpi)::before,:root[data-skin=hero] .greet::before,:root[data-skin=hero] .ch::after{display:none}
:root[data-skin=hero] .ch{background:transparent;border-bottom:0;padding:20px 24px 8px}
:root[data-skin=hero] .ch h3{font-size:var(--t-md)}
:root[data-skin=hero] .cb{padding:12px 24px 20px}
:root[data-skin=hero] .grid{gap:16px}
:root[data-skin=hero] .grid.g4:has(>.kpi),:root[data-skin=hero] .strip{gap:16px;background:transparent;box-shadow:none;overflow:visible}
:root[data-skin=hero] .kpi{background:var(--card-bg);border:1px solid var(--card-line);border-radius:var(--r);box-shadow:var(--sh-2);padding:20px;gap:14px}
:root[data-skin=hero] .kpi:hover{background:var(--card-bg);box-shadow:var(--sh-3)}
:root[data-skin=hero] .kpi .ico{width:40px;height:40px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--ic) 14%,transparent)}
:root[data-skin=hero] .kpi .ico svg.ic{width:20px;height:20px;stroke-width:1.75}
:root[data-skin=hero] .kpi .v{font-size:var(--t-xl)}
:root[data-skin=hero] .greet{padding:20px 24px}
:root[data-skin=hero] .ring .bgc{stroke:var(--track)}
/* الأزرار: أساسي متدرّج ممتلئ · ثانوي معبّأ بلا حدّ · حقول معبّأة بلا حدّ · تبويبات كبسولة · جدول برأس مستدير بلا حدود */
:root[data-skin=hero] .btn{border-radius:var(--r-sm);min-height:var(--h-ctl);padding:8px 18px;border:0;background:var(--field);color:var(--ink)}
:root[data-skin=hero] .btn.pri{background:linear-gradient(135deg,var(--pri2) 0%,var(--pri) 60%,var(--vio) 100%);color:#fff;box-shadow:var(--sh-2)}
:root[data-skin=hero] .btn.pri:hover{background:linear-gradient(135deg,var(--pri2) 0%,var(--pri) 60%,var(--vio) 100%);filter:brightness(1.08)}
:root[data-skin=hero] .btn.ghost{background:var(--field);border:0;color:var(--ink2)}
:root[data-skin=hero] .btn.ghost:hover{background:var(--surface2)}
:root[data-skin=hero] .btn.ok,:root[data-skin=hero] .btn.bad{border:0}
:root[data-skin=hero] .btn.sm{min-height:var(--h-sm);padding:4px 14px;border-radius:var(--r-xs)}
:root[data-skin=hero] input,:root[data-skin=hero] select,:root[data-skin=hero] textarea,:root[data-skin=hero] .cbx .sel{background:var(--field);border-color:transparent;box-shadow:none;border-radius:var(--r-sm);min-height:var(--h-ctl);padding:8px 16px}
:root[data-skin=hero] input:focus,:root[data-skin=hero] select:focus,:root[data-skin=hero] textarea:focus,:root[data-skin=hero] .cbx .sel:focus-within{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft)}
:root[data-skin=hero] .seg{background:var(--field);border:0;border-radius:999px;padding:4px}
:root[data-skin=hero] .seg button{border-radius:999px;padding:6px 14px}
:root[data-skin=hero] .seg button.on{background:var(--solid);box-shadow:var(--sh-2)}
:root[data-skin=hero] .tabs{border-bottom:0;background:var(--field);border-radius:999px;padding:4px;gap:2px;display:inline-flex;max-width:100%}
:root[data-skin=hero] .tabs button{border-radius:999px;padding:8px 16px;background:transparent}
:root[data-skin=hero] .tabs button.on{background:var(--solid);box-shadow:var(--sh-2);color:var(--ink)}
:root[data-skin=hero] .tabs button::after{display:none}
:root[data-skin=hero] th{background:var(--th-bg);color:var(--th-ink);border-bottom:0;font-weight:var(--w-semi);padding:12px 16px}
/* (الحزمة 37 — لقطة المالك) زوايا رأس الجدول فيزيائية لا منطقية: العمود الرقمي (th.n) اتجاهه ltr فكانت زواياه المنطقية تنقلب إلى الجهة الداخلية وتُرسم حدود الترويسة خطأً */
:root[data-skin=hero] th:first-child{border-radius:0 var(--r-sm) var(--r-sm) 0}
:root[data-skin=hero] th:last-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}
:root[data-skin=hero][dir=ltr] th:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}
:root[data-skin=hero][dir=ltr] th:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}
:root[data-skin=hero] th:only-child{border-radius:var(--r-sm)}
:root[data-skin=hero] td{padding:10px 12px;height:52px;border-bottom:1px solid var(--line2)}
:root[data-skin=hero] tbody tr:nth-child(even) td{background:transparent}
:root[data-skin=hero] tbody tr:hover td{background:var(--field)}
:root[data-skin=hero] .st,:root[data-skin=hero] .chip{border-radius:999px;padding:4px 12px}
:root[data-skin=hero] .chip{border:0;background:var(--field)}
:root[data-skin=hero] .code{border-radius:var(--r-xs)}
:root[data-skin=hero] .md{background:var(--menu);border:0;box-shadow:var(--sh-3);border-radius:var(--r-lg)}
:root[data-skin=hero] .md .mh,:root[data-skin=hero] .md .mf{border-color:var(--line2)}
:root[data-skin=hero] .md .mb{background:var(--solid)}
:root[data-skin=hero] .toast{background:var(--glass-hi);border:0;box-shadow:var(--sh-3)}
:root[data-skin=hero] .fly,:root[data-skin=hero] .cbx .dd,:root[data-skin=hero] .dlpop,:root[data-skin=hero] .pop{border:0;box-shadow:var(--sh-3);border-radius:var(--r-sm)}
:root[data-skin=hero] .tools{border-bottom-color:var(--line2)}
:root[data-skin=hero] .empty svg.ic{width:48px;height:48px}
:root[data-skin=hero] .pgn button{border:0;background:var(--field)}
:root[data-skin=hero] .skel .box{border:0;background:var(--solid);box-shadow:var(--sh-2)}
:root[data-skin=hero] .drop{border-radius:var(--r-sm)}
:root[data-skin=hero] .steps .s i{border-color:var(--line-hi)}

/* ==================== Tabler — «لوحة التحكّم الكلاسيكية المتقنة» ==================== */
:root[data-skin=tabler]{--r:4px;--r-sm:4px;--r-xs:4px;--r-lg:6px;--h-ctl:40px;--h-sm:32px;--top-h:56px;--head-accent:none;--zebra:transparent;--sh-1:none}
:root[data-skin=tabler][data-mode=light]{--side-bg:var(--glass);--side-line:var(--tray-line);--side-ink:var(--ink);--side-mute:var(--mute);--side-on:var(--pri-soft);--nav2-bg:transparent;--nav2-ink:var(--ink2);--nav2-line:var(--tray-line);--top-bg:var(--navy-900);--top-bg2:var(--glass);--top-ink:var(--ink);--top-mute:var(--mute);--top-line:var(--tray-line);--head-bg:transparent;--head-ink:var(--ink);--head-line:var(--line);--th-line:var(--line)}
:root[data-skin=tabler][data-mode=dark]{--side-bg:var(--glass);--side-line:var(--tray-line);--side-ink:#C6CAD6;--side-mute:var(--gray-400);--side-on:var(--pri-soft);--nav2-bg:transparent;--nav2-ink:var(--ink2);--nav2-line:var(--tray-line);--top-bg:var(--navy-900);--top-bg2:var(--glass);--top-ink:var(--ink);--top-mute:var(--mute);--top-line:var(--tray-line);--head-bg:transparent;--head-ink:var(--ink);--head-line:var(--line);--th-line:var(--line)}
/* الهيكل: الشريط الجانبي يصير ترويسة كحلية (الشعار + المستخدم) وتحتها شريط تنقّل أفقي أبيض بأيقونات ملوّنة وفرعيات منسدلة؛ ثم ترويسة الصفحة فاتحة */
:root[data-skin=tabler] #app{grid-template-columns:1fr;grid-template-rows:auto 1fr}
:root[data-skin=tabler] .side{position:sticky;top:0;height:auto;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;padding:0;gap:0;overflow:visible;border:0;border-bottom:1px solid var(--side-line);backdrop-filter:var(--side-blur);box-shadow:var(--sh-glass)}
:root[data-skin=tabler] .side::before{display:none}
:root[data-skin=tabler] .side .brand{grid-row:1;grid-column:1;padding:12px 24px;margin:0;border:0;min-height:56px;gap:10px}
:root[data-skin=tabler] .side .brand .mk svg{height:24px}
:root[data-skin=tabler] .side .brand .wm svg{height:18px}
:root[data-skin=tabler] .side .brand small{display:none}
:root[data-skin=tabler] .side .brand .live{margin-inline-start:4px}
:root[data-skin=tabler] .side .foot{grid-row:1;grid-column:2;justify-content:flex-end;padding:0 8px}
:root[data-skin=tabler] .side .foot .fold{display:none}
:root[data-skin=tabler] .side .uc{grid-row:1;grid-column:3;margin:8px 24px;padding:4px 8px;background:transparent;border:0;border-radius:var(--r)}
:root[data-skin=tabler] .side .uc:hover{background:var(--side-on)}
:root[data-skin=tabler] .nav{grid-row:2;grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:0;padding:0 16px;background:var(--nav2-bg);border-top:1px solid var(--nav2-line);border-bottom:1px solid var(--nav2-line);overflow:visible;min-height:52px}
:root[data-skin=tabler] .nav .gl{display:none}
:root[data-skin=tabler] .nav .grp{position:relative;display:flex}
:root[data-skin=tabler] .nav a{min-height:52px;padding:8px 12px;border-radius:0;color:var(--nav2-ink);font-size:var(--t-sm);gap:8px;border-bottom:2px solid transparent}
:root[data-skin=tabler] .nav a:hover{background:transparent;color:var(--ink)}
:root[data-skin=tabler] .nav a.on{background:transparent;color:var(--ink);border-bottom-color:var(--pri)}
:root[data-skin=tabler] .nav a.on::before{display:none}
:root[data-skin=tabler] .nav a .badge{margin-inline-start:2px}
:root[data-skin=tabler] .nav .sub{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-pop);display:none;flex-direction:column;gap:1px;max-height:none;min-width:220px;padding:8px;background:var(--menu);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:visible;transition:none}
:root[data-skin=tabler] .nav .grp:hover .sub,:root[data-skin=tabler] .nav .grp:focus-within .sub{display:flex}
:root[data-skin=tabler] .nav .sub a{min-height:36px;padding:8px 12px;border:0;border-radius:var(--r);color:var(--ink2);font-size:var(--t-sm)}
:root[data-skin=tabler] .nav .sub a:hover{background:var(--field)}
:root[data-skin=tabler] .nav .sub a.on{color:var(--pri);background:var(--pri-soft)}
:root[data-skin=tabler] .main{min-height:0}
:root[data-skin=tabler] .top{position:static;background:var(--top-bg2);border-bottom:1px solid var(--top-line);box-shadow:none;backdrop-filter:var(--top-blur);min-height:var(--top-h);padding:0 24px}
:root[data-skin=tabler] .top .ibtn{width:var(--h-ctl);height:var(--h-ctl);border-radius:var(--r);background:var(--ibtn-bg);border:1px solid var(--ibtn-line);color:var(--ic,var(--ink2));box-shadow:none}
:root[data-skin=tabler] .top .ibtn:hover{background:var(--surface2);box-shadow:none}
:root[data-skin=tabler] .top .ibtn .dot{box-shadow:0 0 0 2px var(--solid)}
:root[data-skin=tabler] .top .add{background:var(--pri);color:var(--pri-ink);border-color:var(--pri)}
:root[data-skin=tabler] .top .srch{background:var(--ibtn-bg);border:1px solid var(--ibtn-line);color:var(--mute);border-radius:var(--r)}
:root[data-skin=tabler] .top .srch kbd{border-color:var(--line);color:var(--mute)}
:root[data-skin=tabler] .who{background:var(--ibtn-bg);border:1px solid var(--ibtn-line);color:var(--ink);border-radius:var(--r)}
:root[data-skin=tabler] .who i{background:var(--pri);color:var(--pri-ink);border-radius:var(--r)}
:root[data-skin=tabler] .content{padding:24px}
/* البطاقات: بيضاء بحدّ 1px وزوايا 4 بلا ظلّ · ترويسة بيضاء بحدّ سفلي · المؤشّر بأيقونة في مربّع ملوّن (توقيع Tabler) */
:root[data-skin=tabler] .card,:root[data-skin=tabler] .greet,:root[data-skin=tabler] .strip,:root[data-skin=tabler] .grid.g4:has(>.kpi){background:var(--card-bg);border:1px solid var(--card-line);box-shadow:none;border-radius:var(--r)}
:root[data-skin=tabler] .card::before,:root[data-skin=tabler] .strip::before,:root[data-skin=tabler] .grid.g4:has(>.kpi)::before,:root[data-skin=tabler] .greet::before,:root[data-skin=tabler] .ch::after{display:none}
:root[data-skin=tabler] .ch{background:var(--head-bg);border-bottom:1px solid var(--line);padding:12px 20px}
:root[data-skin=tabler] .cb{padding:20px}
:root[data-skin=tabler] .grid{gap:24px}
:root[data-skin=tabler] .grid.g4:has(>.kpi),:root[data-skin=tabler] .strip{gap:24px;background:transparent;border:0}
:root[data-skin=tabler] .kpi{background:var(--card-bg);border:1px solid var(--card-line);border-radius:var(--r);padding:16px 20px;gap:14px}
:root[data-skin=tabler] .kpi:hover{background:var(--card-bg)}
:root[data-skin=tabler] .kpi .ico{width:40px;height:40px;border-radius:var(--r);background:var(--ic);color:#fff}
:root[data-skin=tabler] .kpi .ico svg.ic{width:20px;height:20px;stroke-width:1.75;color:#fff}
:root[data-skin=tabler] .kpi .v{font-size:var(--t-xl)}
:root[data-skin=tabler] .kpi .lbl{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--mute)}
:root[data-skin=tabler] .greet{padding:20px 24px;background:var(--card-bg)}
:root[data-skin=tabler] .btn{border-radius:var(--r);border:1px solid var(--line);background:var(--solid);color:var(--ink);font-weight:var(--w-med);padding:6px 14px}
:root[data-skin=tabler] .btn.pri{background:var(--pri);border-color:var(--pri);color:var(--pri-ink)}
:root[data-skin=tabler] .btn.ghost{background:var(--solid);border-color:var(--line);color:var(--ink2)}
:root[data-skin=tabler] .btn.ok{background:color-mix(in srgb,var(--ok) 10%,var(--solid));border-color:color-mix(in srgb,var(--ok) 40%,transparent)}
:root[data-skin=tabler] .btn.bad{background:color-mix(in srgb,var(--bad) 10%,var(--solid));border-color:color-mix(in srgb,var(--bad) 40%,transparent)}
:root[data-skin=tabler] .btn.sm{padding:4px 10px}
:root[data-skin=tabler] input,:root[data-skin=tabler] select,:root[data-skin=tabler] textarea,:root[data-skin=tabler] .cbx .sel{background:var(--field);border:1px solid var(--line);box-shadow:none;border-radius:var(--r)}
:root[data-skin=tabler] .seg{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:2px}
:root[data-skin=tabler] .seg button{border-radius:var(--r)}
:root[data-skin=tabler] .seg button.on{background:var(--pri);color:var(--pri-ink);box-shadow:none}
:root[data-skin=tabler] .tabs{border-bottom:1px solid var(--line)}
:root[data-skin=tabler] .tabs button{border-radius:0;padding:10px 14px}
:root[data-skin=tabler] .tabs button.on{background:transparent}
:root[data-skin=tabler] .tabs button::after{left:0;right:0;height:2px;border-radius:0;background:var(--pri)}
:root[data-skin=tabler] th{background:var(--th-bg);color:var(--th-ink);font-size:var(--t-2xs);font-weight:var(--w-semi);letter-spacing:.04em;text-transform:uppercase;padding:10px 16px;border-bottom:1px solid var(--line)}
:root[data-skin=tabler] td{padding:10px 16px;height:48px;border-bottom:1px solid var(--line2);color:var(--ink2)}
:root[data-skin=tabler] tbody tr:nth-child(even) td{background:transparent}
:root[data-skin=tabler] tbody tr:hover td{background:var(--surface2)}
:root[data-skin=tabler] .st{border-radius:var(--r);font-weight:var(--w-semi)}
:root[data-skin=tabler] .st::before{display:none}
:root[data-skin=tabler] .chip{border-radius:var(--r);border:1px solid var(--line)}
:root[data-skin=tabler] .md{background:var(--menu);border:1px solid var(--line);box-shadow:var(--sh-3);border-radius:var(--r-lg)}
:root[data-skin=tabler] .md .mb{background:var(--solid)}
:root[data-skin=tabler] .toast{background:var(--glass-hi);border:1px solid var(--line);box-shadow:var(--sh-3);border-radius:var(--r)}
:root[data-skin=tabler] .fly,:root[data-skin=tabler] .cbx .dd,:root[data-skin=tabler] .dlpop,:root[data-skin=tabler] .pop{border-radius:var(--r-lg);box-shadow:var(--sh-3)}
:root[data-skin=tabler] .skel .box{border:1px solid var(--line);background:var(--solid)}
:root[data-skin=tabler] .av i{border-radius:var(--r)}
:root[data-skin=tabler] .pgn button{border-radius:var(--r)}

/* (الحزمة 24 — إصلاح عامّ كشفته اللقطات) أيقونة الزرّ داخل الحالة الفارغة كانت ترث 56px من .empty svg.ic */
.empty .btn svg.ic{width:15px;height:15px}
/* ---------- الهاتف (≤820): الكسوتان تعودان إلى الدرج الجانبي المعتاد؛ الشريط الأفقي في Tabler يصير عمودياً داخل الدرج ---------- */
@media (max-width:820px){
  :root[data-skin=hero] #app{padding:0;gap:0}
  :root[data-skin=hero] .side{top:0;height:auto;bottom:0;border-radius:0;box-shadow:var(--shadow-lg)}
  :root[data-skin=hero] .content{padding:12px 12px calc(84px + var(--sab))}
  :root[data-skin=hero] .top{padding-inline:12px;gap:6px}
  :root[data-skin=hero] .top .ibtn{width:36px;height:36px}
  :root[data-skin=hero] .top .srch{padding:8px 10px;min-height:36px}
  :root[data-skin=hero] .who{min-height:36px;padding:2px 8px 2px 2px}
  :root[data-skin=hero] .bnav{background:var(--bnav-bg);border:1px solid var(--bnav-line);box-shadow:var(--sh-3)}
  :root[data-skin=tabler] #app{grid-template-rows:none}
  :root[data-skin=tabler] .side{position:fixed;display:flex;flex-direction:column;height:auto;bottom:0;padding:calc(14px + var(--sat)) 10px 12px;gap:2px;overflow:hidden;box-shadow:var(--shadow-lg)}
  :root[data-skin=tabler] .side .brand{padding:4px 8px 14px;min-height:52px}
  :root[data-skin=tabler] .side .brand small{display:block}
  :root[data-skin=tabler] .side .uc{margin:8px 0 0;padding:8px;background:var(--side-on)}
  :root[data-skin=tabler] .side .foot{justify-content:space-between;padding:8px 6px 0}
  :root[data-skin=tabler] .nav{flex-direction:column;flex-wrap:nowrap;padding:0;background:transparent;border:0;overflow:auto;overflow-x:hidden;min-height:0}
  :root[data-skin=tabler] .nav .gl{display:block}
  :root[data-skin=tabler] .nav .grp{display:block}
  :root[data-skin=tabler] .nav a{min-height:40px;border-radius:var(--r);color:var(--side-ink);border-bottom:0}
  :root[data-skin=tabler] .nav a:hover,:root[data-skin=tabler] .nav a.on{background:var(--side-on);color:#fff}
  :root[data-skin=tabler] .nav .sub{position:static;display:flex;max-height:0;overflow:hidden;padding:0;padding-inline-start:16px;background:transparent;border:0;box-shadow:none;min-width:0}
  :root[data-skin=tabler] .nav .grp.open .sub{max-height:1600px}
  :root[data-skin=tabler] .nav .sub a{color:var(--side-mute)}
  :root[data-skin=tabler] .nav .sub a.on{color:#fff;background:transparent}
  :root[data-skin=tabler] .top{position:sticky;top:0;padding-inline:12px}
  :root[data-skin=tabler] .content{padding:12px 12px calc(84px + var(--sab))}
  :root[data-skin=tabler] .bnav{background:var(--bnav-bg);border:1px solid var(--bnav-line);box-shadow:var(--sh-3);border-radius:var(--r-lg)}
}

/* ==================== (الحزمة 25) منصّة التتويج «المسرح» (الجولة 19: أ) · الرسوم القياسية · ملاحظات المالك (§5-ذ) ==================== */
/* المسرح: منصّة على تدرّج الهوية، الأوائل الثلاثة بمعدنهم (ذهبي · فضّي · برونزي) والرابع والخامس زجاج محايد (اللسان الشهري) */
.vstage{border-radius:var(--r);padding:20px 16px 0;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--stage-a) 0%,var(--stage-b) 55%,var(--stage-c) 100%);margin-top:4px}
.vstage::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold-m2) 38%,transparent),transparent 65%);top:-170px;left:50%;transform:translateX(-50%);pointer-events:none}
.vstage .tiers{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;align-items:end;position:relative}
.vstage.n5 .tiers{grid-template-columns:.9fr 1fr 1.2fr 1fr .9fr}.vstage.n4 .tiers{grid-template-columns:.9fr 1fr 1.2fr 1fr}.vstage.n2 .tiers{grid-template-columns:1fr 1.15fr}.vstage.n1 .tiers{grid-template-columns:1fr}
.vstage .tier{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;min-width:0}
.vstage .tier .vlink{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;max-width:100%}
.vstage .tier b{font-size:var(--t-sm);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#fff}
.vstage .tier small{opacity:.8;font-size:var(--t-2xs);color:#fff}
.vstage .tier .xp{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-lg);color:#fff}
.vstage .avw{display:inline-grid;border-radius:50%;box-shadow:0 0 0 3px var(--rc),0 0 0 6px rgba(255,255,255,.14);--rc:rgba(255,255,255,.45)}
.vstage .first .avw{--rc:var(--gold-m2)}.vstage .second .avw{--rc:var(--silver-m2)}.vstage .third .avw{--rc:var(--bronze-m2)}
.vstage .blk{width:100%;margin-top:10px;border-radius:var(--r-sm) var(--r-sm) 0 0;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.18);border-bottom:0;position:relative;overflow:hidden;height:66px;display:grid;place-items:center}
.vstage .first .blk{height:118px;background:linear-gradient(180deg,color-mix(in srgb,var(--gold-m2) 55%,rgba(255,255,255,.2)),rgba(255,255,255,.08))}
.vstage .second .blk{height:96px;background:linear-gradient(180deg,color-mix(in srgb,var(--silver-m2) 50%,rgba(255,255,255,.2)),rgba(255,255,255,.08))}
.vstage .third .blk{height:80px;background:linear-gradient(180deg,color-mix(in srgb,var(--bronze-m2) 50%,rgba(255,255,255,.2)),rgba(255,255,255,.08))}
/* (الحزمة 27) رقم الترتيب علامةً مائية داخل الدرجة نفسها — يملأ ارتفاعها ويُقصّ بحوافّها */
.vstage .blk .rkw{position:absolute;inset:0;width:100%;height:100%;fill:rgba(255,255,255,.3);pointer-events:none}
.vstage .first .blk .rkw{fill:rgba(255,255,255,.42)}
/* (الحزمة 28 — طلب المالك) المستوى والنقاط داخل الدرجة فوق العلامة المائية، لا فوقها */
.vstage .blk .bin{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.2}
.vstage .blk .lv{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-xs);color:#fff;opacity:.9}
.vstage .blk .xp{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-md);color:#fff}
.vstage .first .blk .xp{font-size:var(--t-lg)}
@media (max-width:820px){.vstage{padding:16px 8px 0}.vstage .tiers,.vstage.n5 .tiers,.vstage.n4 .tiers{grid-template-columns:repeat(3,1fr);gap:6px}.vstage .tier.rest{display:none}.vstage .tier .xp{font-size:var(--t-md)}}
/* الرسوم: خطوط عمودية خفيفة متقطّعة عند علامات المحور الأفقي (قاعدة المالك) */
/* (الحزمة 27) الخطوط الشاقولية بلون الحدّ القويّ وشفافية خفيفة — كانت 4% فلا تكاد تُرى في أي كسوة */
svg.viz .gridv,.vchart .gridv{stroke:var(--line-hi);stroke-width:1;stroke-dasharray:2 4;opacity:.7}
.vchart text.ar{font-family:var(--font)}
/* الشريط الجانبي: عناوين الصفحات 600 وأيقونات أوضح قليلاً (سماكة 1.9) · الصفحة الفرعية الفعّالة بلا إطار ثانٍ: نقطة بلون القسم + نصّ واضح، ومسافة عن إطار القسم */
.nav a{font-weight:var(--w-semi)}
.nav a svg.ic{stroke-width:1.9}
.nav .sub{padding-inline-start:28px;gap:2px;margin-top:2px;padding-bottom:2px}
.nav .sub a{font-weight:var(--w-med);position:relative;padding-inline-start:20px}
.nav .sub a.on{background:transparent}
.nav .sub a.on::before{display:block;content:"";position:absolute;inset-inline-start:7px;top:50%;width:6px;height:6px;transform:translateY(-50%);border-radius:50%;background:var(--ic,var(--pri));inset-inline-end:auto;bottom:auto}
:root[data-skin=hero] .nav .sub a.on{background:transparent;color:var(--ink);font-weight:var(--w-semi)}
:root[data-skin=hero] .nav .sub a.on::before{display:block}
:root[data-skin=tabler] .nav .grp .sub a.on{background:var(--pri-soft)}
:root[data-skin=tabler] .nav .grp .sub a.on::before{display:none}
/* رقاقات التصفية داخل حدود شريطها الشاقولية */
.tabs{align-items:center}
.tabs button{align-self:center;line-height:1.35}
/* (الحزمة 28 — طلب المالك) كانت overflow:visible هنا (الحزمة 25، كي لا تُقصّ الرقاقة) فضاع التمرير الأفقي
   وصار نصف تبويبات الإعدادات بلا وسيلة وصول في HeroUI. الآن: تمرير أفقي بشريط رفيع، وحشو رأسي 6 يحفظ الرقاقة داخل شريطها. */
:root[data-skin=hero] .tabs{padding:6px 4px;overflow-x:auto;overflow-y:hidden}
/* (الحزمة 38 — قرار الجولة 23: 1-أ «المقسَّم الممتدّ») كل شريط تبويبات داخل بطاقة: بعرض البطاقة ومحاذى لحشوها (24)، أقسامه متساوية، والمختار لوح مرفوع
   بأيقونة وعدّاد بلون التبويب؛ وحين تكثر التبويبات (الإعدادات) يأخذ كل قسم عرض محتواه ويُمرَّر الشريط أفقياً */
:root[data-skin=hero] .card>.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(max-content,1fr);gap:4px;margin:8px 24px 4px!important;padding:4px!important;max-width:none;background:var(--field);border-radius:var(--r-sm);overflow-x:auto;overflow-y:hidden}
:root[data-skin=hero] .card>.tabs button{justify-content:center;border-radius:var(--r-xs);padding:8px 14px;min-height:36px;color:var(--mute)}
:root[data-skin=hero] .card>.tabs button.on{background:var(--solid);color:var(--ink);font-weight:var(--w-semi);box-shadow:var(--sh-2)}
:root[data-skin=hero] .card>.tabs button:not(.on) svg.ic{color:var(--mute)}
:root[data-skin=hero] .card>.tabs button .n{background:var(--solid)}
:root[data-skin=hero] .card>.tabs button.on .n{background:color-mix(in srgb,var(--ic) 14%,transparent);color:var(--ic)}
:root[data-skin=hero] .tabs button{padding:6px 14px;min-height:32px}
/* شريط تمرير رفيع بهوية المنصة على كل شرائط التبويبات (بدل شريط النظام السميك أو غيابه) */
.tabs{scrollbar-width:thin;scrollbar-color:var(--line-hi) transparent}
.tabs::-webkit-scrollbar{height:6px}
.tabs::-webkit-scrollbar-track{background:transparent}
.tabs::-webkit-scrollbar-thumb{background:var(--line-hi);border-radius:999px}
.tabs::-webkit-scrollbar-thumb:hover{background:var(--mute)}
:root[data-skin=hero] .seg{align-items:center}
:root[data-skin=hero] .seg button{min-height:28px;padding:4px 14px;line-height:1.35}
/* التقويم الشهري: سبعة أعمدة تتناسب مع أي تكبير — لا يسقط يوم ولا يتّسع عمود بمحتواه */
.cal{grid-template-columns:repeat(7,minmax(0,1fr))}
.cal .dow,.cal .day{min-width:0;overflow:hidden}
.cal .day .bk,.cal .day .bk .ttl,.cal .day .bk .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}

/* ==================== (الحزمة 29) الفرق · رغبات الفرق · الحضور والغياب · حماية الصورة الشخصية ==================== */
/* الصورة الشخصية خلفيةً: تُرى بحجمها ولا تُفتح صورةً كاملة ولا تُحفظ بالنقر الأيمن أو السحب أو الضغط المطوّل */
.vav.vimg{display:inline-block;flex:none;border-radius:50%;background-size:cover;background-position:center;background-color:var(--field);-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.vteam{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,transparent);border:1px solid color-mix(in srgb,var(--tc) 30%,transparent)}
.vteam svg.ic{width:14px;height:14px}
.vteam.none{--tc:var(--mute);font-weight:var(--w-reg)}
/* (الحزمة 40) حقل كلمة السر بزرّ العين */
.pwf{position:relative;display:block}.pwf input{width:100%;padding-inline-end:40px}.pwf .ibtn{position:absolute;top:50%;inset-inline-end:2px;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;color:var(--mute)}.pwf .ibtn:hover{color:var(--ink)}.pwf input:disabled+.ibtn{display:none}
/* (الحزمة 39 — قرار الجولة 24: 2-أ) شارة الفريق زرّاً يفتح «بطاقة فريقي» بملء الشاشة (team.js عند الطلب) */
button.vteam{font-family:inherit;cursor:pointer;min-height:32px;padding:4px 12px;transition:background var(--d1),box-shadow var(--d1)}
.vteam.cta{box-shadow:0 0 0 4px color-mix(in srgb,var(--tc) 14%,transparent)}
.vteam.cta>i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}
.vteam.cta:hover{background:color-mix(in srgb,var(--tc) 20%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--tc) 22%,transparent)}
.vteam.cta:focus-visible{outline:2px solid var(--tc);outline-offset:2px}
@media (pointer:coarse){button.vteam{min-height:40px}}
.aent{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}
.aent+.aent{margin-top:8px}
.aent .aact{display:flex;align-items:center;gap:4px;padding-bottom:2px}
.aent .dur{font-size:var(--t-xs);color:var(--mute);min-width:44px;text-align:center}
.atot{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.atot .sp{flex:1}
.acard{border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);padding:12px 14px}
.acard+.acard{margin-top:10px}
.acard.abs{border-inline-start:3px solid var(--bad)}
.acard .ah{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.acard .ah .sp{flex:1}
.acard .aact-t{margin-top:4px}
.asub{font-size:var(--t-xs);margin-top:6px}
.aper{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.aper .ap{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:var(--t-xs);border:1px solid var(--line);border-radius:var(--r-xs);padding:2px 10px;background:var(--field)}
.aper .ap .d{color:var(--ink2);padding-inline-end:8px;border-inline-end:1px solid var(--line)}
.aper .ap .tm{display:inline-flex;align-items:center;gap:6px;font-weight:var(--w-semi);color:var(--ink)}
.aper .ap .ar{color:var(--pri);font-weight:var(--w-bold)}
.aper .ap.old,.aper .ap.old .tm{text-decoration:line-through;color:var(--mute)} /* (الحزمة 73 — §5-ص49 م6) */
.wpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.wpick button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);cursor:pointer;text-align:start;font:inherit;transition:border-color var(--d1),background var(--d1)}
.wpick button b{font-size:var(--t-sm)}
.wpick button small{font-size:var(--t-2xs);color:var(--mute)}
.wpick button.on1{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 14%,transparent)}
.wpick button.on2{border-color:var(--tc);border-style:dashed;background:color-mix(in srgb,var(--tc) 6%,transparent)}
.wpick button .wrk{color:var(--tc);font-weight:var(--w-semi)}
.wmine{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.wmine>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid color-mix(in srgb,var(--tc) 35%,transparent);background:color-mix(in srgb,var(--tc) 10%,transparent)}
.wmine>div b{font-size:var(--t-md)}
.wmine>div small{font-size:var(--t-2xs);color:var(--mute)}
.wstat{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:8px 12px;align-items:center;font-size:var(--t-sm)}
.wstat .h{color:var(--mute);font-size:var(--t-xs)}
.wstat .wt{font-weight:var(--w-semi);color:var(--tc)}
.wcell{display:flex;align-items:center;gap:8px}
.wcell b{min-width:18px}
.wbar{flex:1;height:6px;border-radius:999px;background:var(--field);overflow:hidden}
.wbar i{display:block;height:100%;background:var(--tc);border-radius:999px}
@media (max-width:640px){.aent{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.aent .aact{grid-column:1/-1}.wstat{grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,64px))}.wcell .wbar{display:none}}

/* ==================== (الحزمة 30) صفحة ساعات المتطوعين ==================== */
/* (الحزمة 37) محرّر ترتيب الشريط الجانبي — الإعدادات ← الشريط الجانبي */
.nve{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start}
.nvg{border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);padding:10px;display:grid;gap:8px}
.nvgh,.nvuh,.nvp{display:flex;align-items:center;gap:8px;min-width:0}
.nvgh b{font-size:var(--t-sm)}
.nvgh .sp,.nvuh .sp,.nvp .sp{flex:1}
.nvu{border:1px solid var(--line2);border-radius:var(--r-sm);padding:8px;display:grid;gap:4px;background:var(--field)}
.nvuh svg.ic{width:18px;height:18px;color:var(--ic);flex:none}
.nvuh b{font-size:var(--t-sm);font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nvp{padding:2px 8px;font-size:var(--t-xs);color:var(--ink2)}
.nvp svg.ic{width:14px;height:14px;color:var(--mute);flex:none}
.nvp>span:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nve select{width:auto;max-width:130px;height:28px;padding:0 8px;font-size:var(--t-2xs)}
.nvm{display:inline-flex;gap:4px;flex:none}
.nvm .ibtn{width:28px;height:28px}
.nvm .ibtn svg.ic{width:14px;height:14px}
.nvm .ibtn:first-child svg.ic{transform:rotate(180deg)}
.nvm .ibtn:disabled{opacity:.35;cursor:default}
/* (الحزمة 37) الخط البياني القابل للطيّ في سلم الترتيب · تعليم فترة الحضور التي لم تحن بعد */
.vfold>.ch{cursor:pointer;user-select:none}
.vfold [data-foldbtn]{width:30px;height:30px}
.vfold [data-foldbtn] svg.ic{width:16px;height:16px;transition:transform var(--d2) var(--ease)}
.vfold.open [data-foldbtn] svg.ic{transform:rotate(180deg)}
.vfold:not(.open)>.ch{border-bottom:0}
.aent .dur.late{color:var(--bad);font-weight:var(--w-semi)}
.hmonth{display:flex;align-items:center;gap:6px}
.hmonth select{width:auto;min-width:150px}
/* (الحزمة 37 — طلب المالك) المؤشّرات التسعة على سطر واحد: بطاقات مضغوطة بأعمدة متساوية، وعلى الشاشات الضيّقة تُمرَّر أفقياً ولا تلتفّ */
.hkpis{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);gap:8px;overflow-x:auto;padding-bottom:2px}
.hk{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);min-width:0}
.hk small{display:block;line-height:1.35}
.hk svg.ic{width:20px;height:20px;color:var(--mute);flex:none}
.hk b{display:block;font-family:var(--font);font-size:var(--t-lg);line-height:1.2}
/* (الحزمة 76 — عودة التصميم س2) مؤشّرات صفحة الساعات خارج البطل: قاعدة البطل اللاحقة `.hk b{color:var(--hero-ink)}` كانت تُبيّض قيمها على السطح الأبيض فتختفي في الفاتح (منذ الحزمة 41) */
.hkpis .hk b{color:var(--ink)}.hkpis .hk.ok b{color:var(--ok)}.hkpis .hk.bad b{color:var(--bad)}.hkpis .hk.warn b{color:var(--warn)}
.hk small{color:var(--mute);font-size:var(--t-xs)}
.hk.ok svg.ic,.hk.ok b{color:var(--ok)}
.hk.bad svg.ic,.hk.bad b{color:var(--bad)}
.hgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}
.hdaily{max-height:320px;overflow:auto}
.hdaily tfoot td{font-weight:var(--w-semi);border-top:1px solid var(--line)}
.hzero{max-height:360px;overflow:auto}
.hrow{display:flex;align-items:center;gap:10px;padding:6px 4px;border-bottom:1px solid var(--line2);color:inherit;text-decoration:none}
.hrow:hover{text-decoration:none;background:var(--field)}
.hrow *{text-decoration:none}
.hrow:last-child{border-bottom:0}
.hrow .nm{flex:1;min-width:0}
.hrow .nm b{display:block;font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hrow .nm small{color:var(--mute);font-size:var(--t-2xs)}
.hrow .hb{width:90px;height:6px;border-radius:999px;background:var(--field);overflow:hidden;flex:none}
.hrow .hb i{display:block;height:100%;background:var(--c2);border-radius:999px}
.hrow .hv{min-width:40px;text-align:end}
.hrow .rk,.htab .rk{display:inline-block;font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-xs);min-width:26px;height:26px;line-height:24px;text-align:center;flex:none;border-radius:999px;border:1px solid transparent;color:var(--mute)}
.hrow .rk.g1,.htab .rk.g1{background:color-mix(in srgb,var(--gold-m) 26%,transparent);border-color:color-mix(in srgb,var(--gold-m) 52%,transparent);color:var(--gold)}
.hrow .rk.g2,.htab .rk.g2{background:color-mix(in srgb,var(--silver-m) 26%,transparent);border-color:color-mix(in srgb,var(--silver-m) 52%,transparent);color:var(--ink2)}
.hrow .rk.g3,.htab .rk.g3{background:color-mix(in srgb,var(--bronze-m) 26%,transparent);border-color:color-mix(in srgb,var(--bronze-m) 52%,transparent);color:var(--warn)}
.hrow .rk.g4,.htab .rk.g4{background:var(--pri-soft);color:var(--pri)}
.htools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.htools input{max-width:260px}
.htools select{width:auto;min-width:170px;max-width:240px}
.htools>svg.ic{width:16px;height:16px;color:var(--mute);flex:none}
.htools .sp{flex:1}
.htab th[data-sort]{cursor:pointer;user-select:none;white-space:nowrap}
.htab th.on{color:var(--pri)}
.htab tr.hz td{background:color-mix(in srgb,var(--bad) 6%,transparent)}
.htab .hwho{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:var(--w-semi)}.htab .hwho:hover span{color:var(--pri)} /* (الحزمة 73 — §5-ص49 م4) صورة + رمز المتطوع وحده (الاسم في التلميح) · صنف خاص بدل .who ترويسة المنصة التي أفسدت الصورة وأخفت النصّ على الهاتف */
@media (max-width:820px){.hgrid{grid-template-columns:minmax(0,1fr)}.htools input{max-width:none;flex:1 1 100%}}
/* (الحزمة 30) الملخص اليومي يتّسع لأعمدته الأربعة داخل بطاقته */
.hdaily th,.hdaily td{padding:8px 10px;white-space:nowrap}
.hdaily table{width:100%}

/* (الحزمة 31) تقويم الأنشطة — التصفية بالمسار والنشاط · ملخّص اليوم · صفّ التزامن · طريقة التوقيت */
.act-f{padding:10px 14px;border-bottom:1px solid var(--line2)}
.act-f .lg{user-select:none}
.act-f .lg.off{opacity:.4}
.act-f .lg.on{background:var(--field);font-weight:var(--w-semi)}
.act-sel{display:inline-flex;align-items:center;gap:6px;color:var(--mute)}
.act-sel select{width:auto;min-width:180px;max-width:100%}
.act-sum{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:10px 14px;font-size:var(--t-xs);color:var(--mute);border-bottom:1px solid var(--line2)}
.act-sum b{color:var(--ink)}
.act-sum .lg{display:inline-flex;align-items:center;gap:6px}
.act-sum .lg i{width:10px;height:10px;border-radius:var(--r-xs);background:var(--c);display:inline-block}
.act-dl{min-height:40px}
.act-dl .tr{cursor:default}
.lane .tr .dens{position:absolute;top:0;bottom:0;display:grid;place-items:center;font-family:var(--font);font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--ink2);background:color-mix(in srgb,var(--c6) var(--p),transparent);border-inline-end:1px solid var(--line2)}
.act-pm{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:820px){.act-sel select{min-width:0;flex:1 1 auto}.act-sel{flex:1 1 100%}}
/* (الحزمة 32) جدول الرغبات: أدوات التصفية والترتيب · صفحة تدقيق الحسابات */
.wtools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}
.wtools .wf{display:inline-flex;align-items:center;gap:6px;color:var(--mute);font-size:var(--t-xs)}
.wtools .wf input{width:200px;max-width:100%}
.wtools .wf select{width:auto;min-width:130px;max-width:100%}
th.wsort{cursor:pointer;user-select:none;white-space:nowrap}
th.wsort.on{color:var(--pri)}
th.wsort .wdir{display:inline-block;margin-inline-start:4px;opacity:0;vertical-align:middle}
th.wsort.on .wdir{opacity:1}
th.wsort .wdir svg{width:12px;height:12px}
th.wsort .wdir.up svg{transform:rotate(180deg)}
.aud-codes{font-family:var(--font);font-size:var(--t-2xs);color:var(--bad)}
.aud-probe{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.aud-probe input{width:260px;max-width:100%}
.aud-notes{margin:10px 0 0;padding-inline-start:18px;font-size:var(--t-sm);color:var(--ink2)}
.aud-notes li{margin-top:4px}
@media (max-width:820px){.wtools .wf{flex:1 1 100%}.wtools .wf input,.wtools .wf select{flex:1 1 auto;width:auto;min-width:0}.aud-probe input{flex:1 1 100%;width:auto}}
/* (الحزمة 35 — قرار المالك 5-أ) تقويم الأنشطة: نقوش خطوط مائلة خلف النصّ للأنشطة المتعدّدة للمسار نفسه في اليوم نفسه — بلون المسار نفسه بشفافية، فلا تمسّ قراءة النصّ (الطبقة تحت المحتوى) */
.bk,.hblk{position:relative}
.bk>*,.hblk>*{position:relative;z-index:var(--z-raise)}
.bk.pat1::before,.bk.pat2::before,.bk.pat3::before,.hblk.pat1::before,.hblk.pat2::before,.hblk.pat3::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:var(--z-base)}
.bk.pat1::before,.hblk.pat1::before{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--c) 30%,transparent) 0 2px,transparent 2px 9px)}
.bk.pat2::before,.hblk.pat2::before{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--c) 45%,transparent) 0 2px,transparent 2px 9px)}
.bk.pat3::before,.hblk.pat3::before{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--c) 30%,transparent) 0 2px,transparent 2px 9px),repeating-linear-gradient(-45deg,color-mix(in srgb,var(--c) 30%,transparent) 0 2px,transparent 2px 9px)}

/* ==================== (الحزمة 41 — الجولة 25: 1-أ · 2-ب · 3-أ · 4-أ · 5-ب) إعادة تأليف شاشات الواجهة الأولى ====================
   · «نطاق البطل»: رموز العرض --t-2xl (34) و--t-3xl (46) وظلّ --sh-4 تُستعمل هنا فقط (قاعدة موثَّقة في lib/ui-lint.js و§5-ص13)
   · الشريط الكحلي بتدرّج الهوية مشترك: .hero (الرئيسية وسلم الترتيب) · .phead (رأس بقية الصفحات) · .login.la .art (الدخول) */
:root{--t-2xl:30px;--t-3xl:40px;
  /* (الحزمة 80 — ج) البطل زجاج كحلي→أزرق بحافة مضيئة؛ --hero-mute مصمت (12.5 على الكحلي)؛ --hero-mix/--hero-mix2 = محطّتا التدرّج للفاحص */
  --hero-bg:var(--navy-900);--hero-a:var(--navy-800);--hero-b:rgba(128,66,235,.35);--hero-ink:#FFFFFF;--hero-mute:var(--navy-100);--hero-grad:linear-gradient(135deg,rgba(0,23,90,.92),rgba(6,22,196,.75));--hero-line:rgba(255,255,255,.25);--hero-mix:color-mix(in srgb,#00175A 92%,var(--bg));--hero-mix2:color-mix(in srgb,#0616C4 75%,var(--bg));
  --hk-1:#A4AEFF;--hk-2:#4FD1A8;--hk-3:#F595A8;--hk-4:#F2C46D;--hk-5:#6FB9F0;--hk-6:#C9A9FF;
  --sh-4:0 18px 40px -18px rgba(0,23,90,.4);
  --gold-m1:#FFF1B8;--gold-m3:#B8861C;--silver-m1:#FFFFFF;--silver-m3:#8C94A6;--bronze-m1:#FFE1C8;--bronze-m3:#9A5A2C;
  --steel-m1:#E3ECF8;--steel-m2:#A8BCD8;--steel-m3:#5E7699;--pewter-m1:#EFE9FB;--pewter-m2:#B9ACD9;--pewter-m3:#6F6396;--metal-ink:#1C1606;
  --pb-a:#1B1466;--pb-b:#0616C4;--pb-c:#8042EB;--xp-hi:#FFE08A}
:root[data-mode=dark]{--hero-bg:var(--navy-900);--sh-4:0 18px 40px -18px rgba(0,0,0,.8)}
@keyframes heroIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- الشريط البطل ---------- */
.hero{position:relative;isolation:isolate;border-radius:var(--r-lg);padding:24px 28px 20px;margin-bottom:14px;color:var(--hero-ink);overflow:hidden;background:var(--hero-grad);border:1px solid var(--hero-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),var(--sh-4);animation:heroIn var(--d3) var(--ease) backwards}
.hero .hh{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.hero .hh .g{flex:1;min-width:240px}
.hero .eb{font-size:var(--t-xs);color:var(--hero-mute)}
.hero h1{margin:2px 0 4px;font-size:var(--t-2xl);font-weight:var(--w-bold);line-height:1.25;color:var(--hero-ink)}
.hero p{margin:0;font-size:var(--t-md);color:var(--hero-mute);max-width:64ch}.hero p b{color:var(--hero-ink);font-weight:var(--w-semi)}
/* (الحزمة 88 — ش-أ) بلاطات البطل .hk أُلغيت: مؤشّرات الرئيسية بطاقات .kpi العادية تحت سطر التحية .greet2 */
/* ألواح الرئيسية تحت الشريط: خطّ علوي بلون القسم */
.card.pn::after{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--ic);pointer-events:none;z-index:var(--z-raise3)} /* شريط لا حدّ: الكسوات تمحو حدود البطاقة */
/* ---------- رأس بقية الصفحات (5-ب) — على الحاسوب يحلّ محلّ عنوان الترويسة؛ وعلى الهاتف يبقى عنوان الترويسة وحده ---------- */
/* (الحزمة 88 — ش-أ) رأس الصفحة مسطّح: أيقونة القسم بلونه + المسار + العنوان، بلا خلفية ولا تدرّج ولا صورة (نقش الفريق .ld-on في pcard.js يبقى اختيارياً) */
.phead{position:relative;display:flex;align-items:center;gap:12px;min-height:0;padding:2px 0 12px;margin-bottom:16px;border-bottom:1px solid var(--line);color:var(--ink);--hero-ink:var(--ink);--hero-mute:var(--mute)}
.phead>svg.ic{width:26px;height:26px;stroke-width:1.75;color:var(--hc,var(--ic,var(--pri)));flex:none}
.phead .t{min-width:0;display:flex;flex-direction:column}
.phead a,.phead small{font-size:var(--t-xs);color:var(--mute);text-decoration:none}.phead a:hover{color:var(--pri)}
.phead h1{margin:0;font-size:var(--t-xl);font-weight:var(--w-bold);line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* (الحزمة 89 — لقطة المالك) نقش الفريق في رأس الصفحة (pcard.js .ld-on يُحقن بعد هذا الملف) يبقى شارةً فقط في كل الكسوات — كان يعيد التدرّج الكحلي تحت النصّ الداكن */
body .phead.ld-on{background:none}
body .phead.ld-on .ld-art,body .phead.ld-on::after{display:none}
body .phead .ld-tag{color:var(--ink2);border-color:var(--line);background:var(--field)}
/* سطر التحية في الرئيسية (ش-أ) */
.greet2{display:flex;flex-direction:column;gap:2px;margin:0 0 16px}
.greet2 .eb{font-size:var(--t-xs);color:var(--mute)}
.greet2 h1{margin:0;font-size:var(--t-xl);font-weight:var(--w-bold);line-height:1.3;color:var(--ink)}
.greet2 p{margin:0;font-size:var(--t-sm);color:var(--ink2);max-width:72ch}.greet2 p b{color:var(--warn);font-weight:var(--w-semi)}
.dhead .grid.g4{margin-bottom:14px}
@media (min-width:821px){body.hashead .top #title,body.hashead .top #crumb{display:none}}
@media (max-width:820px){.phead{display:none}.hero{padding:18px 16px 16px;border-radius:var(--r)}.hero h1{font-size:var(--t-xl)}}

/* ---------- سلم الترتيب (3-أ): المنصّة داخل الشريط · «أين أنا» · أشرطة نسبية ---------- */
.hero.hb{padding-bottom:0}
.hero .pill{display:inline-flex;flex-wrap:wrap;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.hero .pill button{font:inherit;font-size:var(--t-sm);color:var(--hero-mute);background:transparent;border:0;border-radius:999px;padding:6px 14px;cursor:pointer;transition:background var(--d1),color var(--d1)}
.hero .pill button:hover{color:var(--hero-ink)}.hero .pill button.on{background:var(--hero-ink);color:var(--hero-bg);font-weight:var(--w-semi)}
/* (الحزمة 128) اختيار الشهر في سلم الترتيب «الشهري» — بجانب العنوان بلغة حبّة الألسنة */
.hero .vmh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
:root .hero .vmh select.vmsel{font:inherit;font-size:var(--t-sm);color:var(--hero-ink);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 12px;cursor:pointer;max-width:100%;width:auto;box-shadow:none}
:root .hero .vmh select.vmsel:hover{background:rgba(255,255,255,.16)}:root .hero .vmh select.vmsel option{color:var(--ink);background:var(--surface)}
.hero .vstage{background:none;margin-top:16px;padding:0;border-radius:0;overflow:visible}.hero .vstage::before{display:none}
.hero .hint{color:var(--hero-mute)}
/* (طلب المالك) درجات منصّة التتويج بطيف معدنها: ذهبي · فضّي · برونزي · فولاذي · قصديري — تدرّج من فاتح المعدن إلى داكنه وحافة لامعة */
.vstage .first{--m1:var(--gold-m1);--m2:var(--gold-m2);--m3:var(--gold-m3)}
.vstage .second{--m1:var(--silver-m1);--m2:var(--silver-m2);--m3:var(--silver-m3)}
.vstage .third{--m1:var(--bronze-m1);--m2:var(--bronze-m2);--m3:var(--bronze-m3)}
.vstage .r4{--m1:var(--steel-m1);--m2:var(--steel-m2);--m3:var(--steel-m3)}
.vstage .r5{--m1:var(--pewter-m1);--m2:var(--pewter-m2);--m3:var(--pewter-m3)}
.vstage .tier .blk{background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.42) 44%,transparent 58%),linear-gradient(180deg,var(--m1) 0%,var(--m2) 42%,var(--m3) 100%);border:1px solid rgba(255,255,255,.4);border-bottom:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.vstage .tier .blk .rkw{fill:rgba(0,0,0,.13)}
.vstage .tier .blk .lv,.vstage .tier .blk .xp{color:var(--metal-ink)}
.vstage .r4 .avw{--rc:var(--steel-m2)}.vstage .r5 .avw{--rc:var(--pewter-m2)}
.vme{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin:0 0 14px;border-radius:var(--r);background:var(--card-bg);border:1px solid var(--card-line);border-inline-start:4px solid var(--pri);box-shadow:var(--shadow);animation:heroIn var(--d3) var(--ease) backwards}
.vme .rk{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-xl);color:var(--pri);min-width:44px;text-align:center}
.vme .t{flex:1;min-width:200px}.vme .t b{display:block;font-size:var(--t-md)}.vme .t small{color:var(--mute);font-size:var(--t-sm)}
.vrow .vrel{flex:0 0 120px;height:6px;border-radius:999px;background:var(--track);overflow:hidden}
.vrow .vrel i{display:block;height:100%;border-radius:999px;background:linear-gradient(270deg,var(--vio),var(--pri))}
@media (max-width:820px){.vrow .vrel{display:none}.vme .btn{width:100%;justify-content:center}}

/* ---------- بروفايل المتطوع (2-ب): «بطاقة اللاعب» وبلاطات البنتو ---------- */
.vbento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(128px,auto);grid-auto-flow:row dense;gap:12px;margin-bottom:14px}
.vt{position:relative;display:flex;flex-direction:column;min-width:0;padding:16px 18px;border-radius:var(--r-lg);background:var(--card-bg);border:1px solid var(--card-line);box-shadow:var(--shadow);overflow:hidden;animation:heroIn var(--d3) var(--ease) backwards}
.vt.w2{grid-column:span 2}.vt.h2{grid-row:span 2}.vt.h3{grid-row:span 3}
.vt .l{display:flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--mute)}.vt .l svg.ic{width:18px;height:18px;color:var(--tc,var(--pri))}
.vt .v{font-family:var(--font);font-weight:var(--w-semi);font-size:var(--t-3xl);line-height:1.05;letter-spacing:-.02em;margin-top:auto;color:var(--ink)}
.vt .s{font-size:var(--t-xs);color:var(--mute)}
.vt.tint{background:color-mix(in srgb,var(--tc) 10%,var(--card-bg))}.vt.tint .v{color:var(--tc)}
.vt .hd{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:var(--t-md);font-weight:var(--w-bold)}.vt .hd svg.ic{width:18px;height:18px;color:var(--tc,var(--pri))}
.vt .hd .go{margin-inline-start:auto;font:inherit;font-size:var(--t-xs);font-weight:var(--w-med);color:var(--pri);background:none;border:0;cursor:pointer;padding:4px 0}
.vt .vthree{justify-content:flex-start;margin-top:auto}.vt .vkv{margin-top:0;padding-top:0;border-top:0;font-size:var(--t-sm)}
.vplayer{align-items:center;text-align:center;padding:24px 20px 20px;color:var(--hero-ink);border:0;background:linear-gradient(160deg,var(--pb-a) 0%,var(--pb-b) 50%,var(--pb-c) 100%);box-shadow:var(--sh-4)}
.vplayer::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;inset-inline-end:-110px;top:-140px;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);pointer-events:none}
.vplayer>*{position:relative}
.vplayer .lvw{position:absolute;top:14px;inset-inline-start:14px;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font);font-size:var(--t-2xs);color:var(--hero-mute)}
.vplayer .vavw{position:relative;display:inline-block;margin-top:8px}.vplayer .vav{box-shadow:0 0 0 5px rgba(255,255,255,.95)}
.vplayer .cam{position:absolute;bottom:4px;inset-inline-end:4px;width:34px;height:34px;border-radius:50%!important;--ic:var(--pri)}
.vplayer h1{margin:14px 0 0;font-size:var(--t-xl);font-weight:var(--w-bold);line-height:1.25;color:var(--hero-ink)}
.vplayer .pid{font-size:var(--t-sm);color:var(--hero-mute);margin-bottom:10px}
.vplayer .vteam{background:#fff;border-color:transparent;color:color-mix(in srgb,var(--tc) 72%,#000)}
.vplayer .xpb{width:100%;margin-top:auto;padding-top:18px}
.vplayer .xpb .tr{height:12px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.vplayer .xpb .tr i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(270deg,#fff,var(--xp-hi));transition:width var(--d3) var(--ease)}
.vplayer .xpb .x{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-family:var(--font);font-size:var(--t-xs);color:var(--hero-mute)}
.vplayer .vacts.ic{border-top-color:rgba(255,255,255,.18)}
.vplayer .st{background:rgba(255,255,255,.92)}
/* نشاطي في 12 أسبوعاً — الزمن من اليسار إلى اليمين (درس الجولة 2) */
.vheat{direction:ltr;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin-top:auto}
.vheat .wk{display:grid;grid-template-rows:repeat(7,auto);gap:4px}
.vheat i{display:block;height:14px;border-radius:4px;background:var(--field)}
.vheat i.l1{background:color-mix(in srgb,var(--c4) 30%,var(--field))}.vheat i.l2{background:color-mix(in srgb,var(--c4) 55%,var(--field))}.vheat i.l3{background:color-mix(in srgb,var(--c4) 78%,var(--field))}.vheat i.l4{background:var(--c4)}.vheat i.fut{visibility:hidden}
.vheat-lg{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px;font-size:var(--t-2xs);color:var(--mute)}.vheat-lg i{width:10px;height:10px;border-radius:2px;display:inline-block}
@media (max-width:820px){.vbento{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:minmax(112px,auto);gap:10px}.vt.w2,.vplayer{grid-column:span 2}.vt.h2,.vt.h3{grid-row:auto}.vt .v{font-size:var(--t-2xl)}.vplayer{min-height:420px}}

/* ---------- صفحة الدخول (4-أ): لوح الهوية والنموذج ---------- */
.login.la{display:block;padding:0;min-height:100vh}
.login.la::before,.login.la::after{display:none}
.login.la .split{width:100%;min-height:100vh;grid-template-columns:1.1fr 1fr;border-radius:0;border:0;box-shadow:none;background:var(--solid);backdrop-filter:none;animation:none}
.login.la .art{position:relative;display:block;text-align:start;padding:44px 48px;border:0;overflow:hidden;color:var(--hero-ink);background:radial-gradient(70% 70% at 100% 0%,var(--hero-a),transparent 60%),radial-gradient(70% 70% at 0% 100%,var(--hero-b),transparent 60%),var(--hero-bg)}
.login.la .art .in{position:relative;z-index:var(--z-raise);display:flex;flex-direction:column;height:100%;min-height:calc(100vh - 88px)}
.login.la .art .orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14);pointer-events:none;width:420px;height:420px;inset-inline-end:-120px;top:-100px}
.login.la .art .orb.b{width:620px;height:620px;inset-inline-end:-220px;top:-200px;opacity:.6}
.login.la .art .wmk{height:24px;width:auto;align-self:flex-start;filter:brightness(0) invert(1)}
.login.la .art .mk{position:absolute;inset-inline-end:6%;top:14%;width:min(170px,20vw);height:auto;filter:brightness(0) invert(1);opacity:.95}
.login.la .art h1{margin:auto 0 0;font-size:var(--t-3xl);font-weight:var(--w-bold);line-height:1.2;max-width:14ch;color:var(--hero-ink)}
.login.la .art p{margin:10px 0 0;max-width:40ch;font-size:var(--t-md);color:var(--hero-mute);line-height:1.7}
.login.la .tracks{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.login.la .tracks span{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.24);font-size:var(--t-xs)}
.login.la .tracks span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tc)}
.login.la .box{align-items:center;padding:40px}
.login.la .box>*{width:min(380px,100%)}
.login.la .box img{display:none}
.login.la h2{text-align:start;font-size:var(--t-xl);font-weight:var(--w-bold)}
.login.la p.sub{text-align:start}
@media (max-width:820px){
  .login.la .split{grid-template-columns:1fr;min-height:100vh}
  .login.la .art{display:block;padding:calc(24px + var(--sat)) 20px 48px}
  .login.la .art .in{min-height:240px}
  .login.la .art h1{font-size:var(--t-xl);max-width:none;margin-top:28px}
  .login.la .art .mk{display:none} /* على الهاتف كانت تتراكب مع العنوان وزرّ الوضع — كلمة Domains تكفي */
  .login.la .box{position:relative;z-index:var(--z-raise2);margin-top:-24px;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:28px 20px 32px;justify-content:flex-start}
}
@media print{.phead,.hero .pill{display:none!important}}

/* ============================================================================
   (الحزمة 43 — قرار المالك على الجولة 26: 1-أ · 2-أ · 3-ج)
   1-أ «دائرة مصبوغة»: كل زرّ 40px (الصغير 36) بصبغة لون فعله 10% وحلقة داخلية 30%، والأساسي (.pri) دائرة ممتلئة بلونه
   2-أ كل زرّ بلا استثناء — التحويل في DD.iconify (app.js) والخريطة في ib-map.js · الاسم تلميح (#tip) + aria-label
   3-ج أيقونات ثنائية اللون: طبقة تعبئة داخل الشكل بلونه نفسه بشفافية --duo (0.2) + أحجام أكبر في الشريط والرؤوس والبلاطات والشارات
   البادئة :root[data-skin] تساوي خصوصية قواعد الكسوتين فتغلبها بترتيبها (هذا القسم آخر الملف)
   ============================================================================ */
:root{--ic-sm:26px;--ic-md:24px;--ic-lg:28px;--badge-md:64px}
:root[data-skin] .btn.ib, .login .btn.ib{--duo:.2;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;min-height:40px;padding:0;gap:0;font-size:0;line-height:0;border:0;border-radius:50%;color:var(--ac);background:color-mix(in srgb,var(--ac) 10%,var(--solid));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 30%,transparent);filter:none;transition:background var(--d1),transform var(--d1)}
:root[data-skin] .btn.ib.sm, .login .btn.ib.sm{width:36px;height:36px;min-height:36px}
:root[data-skin] .btn.ib svg.ic, .login .btn.ib svg.ic{width:20px;height:20px;stroke-width:1.8;opacity:1}
:root[data-skin] .btn.ib.sm svg.ic, .login .btn.ib.sm svg.ic{width:18px;height:18px}
:root[data-skin] .btn.ib:hover, .login .btn.ib:hover{background:color-mix(in srgb,var(--ac) 18%,var(--solid));filter:none}
:root[data-skin] .btn.ib.p, .login .btn.ib.p{--duo:0;color:var(--solid);background:var(--ac);box-shadow:none}
:root[data-skin] .btn.ib.p:hover, .login .btn.ib.p:hover{background:var(--ac);filter:brightness(1.08)}
:root[data-skin] .btn.ib:focus-visible, .login .btn.ib:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
:root[data-skin] .btn.ib:disabled, .login .btn.ib:disabled{opacity:.45}
:root[data-skin] .btn.ib .n:not([hidden]), .login .btn.ib .n:not([hidden]){position:absolute;top:-4px;inset-inline-end:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;display:grid;place-items:center;font-size:var(--t-2xs);line-height:1;font-weight:var(--w-bold);color:#fff;background:var(--bad)}
:root[data-skin] .btn.ib.busy svg.ic, .login .btn.ib.busy svg.ic{opacity:0}
:root[data-skin] .btn.ib.busy::after, .login .btn.ib.busy::after{border-color:color-mix(in srgb,var(--ac) 30%,transparent);border-top-color:var(--ac)}
:root[data-skin] .btn.ib.p.busy::after, .login .btn.ib.p.busy::after{border-color:color-mix(in srgb,var(--solid) 35%,transparent);border-top-color:var(--solid)}
.tip.ibt{font-weight:var(--w-semi);padding:4px 10px;text-align:center}
.mf .btn.ib{margin-inline-start:2px}
.login .box #go.ib{margin-inline:auto;width:48px;height:48px}
.login .box #go.ib svg.ic{width:24px;height:24px}
/* 3-ج الأحجام والتعبئة الثنائية */
.nav a svg.ic{width:var(--ic-md);height:var(--ic-md);--duo:.2}
.nav .sub a svg.ic{width:18px;height:18px;--duo:.2}
#app.mini .nav a svg.ic{width:var(--ic-sm);height:var(--ic-sm)}
.fly .t svg.ic{width:20px;height:20px;--duo:.2}
.ch h3 svg.ic{width:var(--ic-lg);height:var(--ic-lg);--duo:.2}
.mh h3 svg.ic{--duo:.2}
.vt .l svg.ic,.vt .hd svg.ic{width:var(--ic-sm);height:var(--ic-sm);--duo:.2}
.hk svg.ic{width:24px;height:24px;--duo:.2}
.hk .hi svg.ic{--duo:.2}
.empty>svg.ic{--duo:.2}
.vthree{min-height:68px}

/* (الحزمة 45) فرز صفحة الحضور: مدى تاريخين بعنوان صغير — يلتفّ على الهاتف */
.afilt{padding:8px 12px 0;margin-bottom:4px}
.afilt .afr{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.afilt .afr small{color:var(--mute);font-size:var(--t-xs)}
.htools.afilt input[type=date]{max-width:150px}

/* (الحزمة 47) تقييم المقترح بالنجوم · جلسات التدريب */
.stars{display:flex;gap:6px;flex-wrap:wrap}
.stars .star{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--mute);cursor:pointer}
.stars .star svg{width:20px;height:20px}
.stars .star.on{color:var(--c3);border-color:var(--c3);background:color-mix(in srgb,var(--c3) 12%,transparent)}
.stars .star:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.ents{display:flex;flex-direction:column;gap:8px}
.ents .ent{display:flex;align-items:center;gap:8px}
.ents .ent .num{min-width:18px;text-align:center}
.ents .ent input[type=date]{flex:1;min-width:0}
.ents .ent .btn{flex:none}

/* (الحزمة 48 — §5-ص21) شرح البند تحت اسمه · وسم من منح النقاط في السجلّ */
.vitem .t .vnote{display:block;font-style:normal;font-size:var(--t-2xs);color:var(--ink2);margin:2px 0}
/* (الحزمة 52 — §5-ص25) اختيار عدة متطوعين + أصحاب المقترح المشترك */
.vmulti{display:flex;flex-direction:column;gap:8px}.vmchips{display:flex;flex-wrap:wrap;gap:6px}.vmchips:empty{display:none}
.vmchip{display:inline-flex;align-items:center;gap:6px;cursor:default;padding:2px 4px 2px 12px}.vmchip small{font-size:var(--t-2xs);color:var(--pri);font-weight:var(--w-semi)}
.vmchip .x{display:inline-grid;place-items:center;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--mute);cursor:pointer}.vmchip .x:hover{background:var(--pri-soft);color:var(--pri)}.vmchip .x svg.ic{width:12px;height:12px}
.vco{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:var(--t-xs);color:var(--mute)}.vco svg.ic{width:14px;height:14px;color:var(--c3)}.vco i{font-style:normal;opacity:.6}.vco b{color:var(--ink);font-weight:var(--w-semi)}
/* (الحزمة 54) فاصل بين سلسلة المراحل والشارة المستقلّة في العائلة نفسها */
.vsep{align-self:stretch;width:1px;min-height:48px;margin:0 8px;background:var(--line)}
.le .t .by{margin-inline-start:6px;font-size:var(--t-2xs);vertical-align:middle}
.items-t td small.muted{display:block;font-size:var(--t-2xs);margin-top:2px}

/* (الحزمة 49) خطّ مسار المقترح السابق: خطوات قابلة للنقر */
.pl-rail.pick .rs{background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:0}
.pl-rail.pick .rs:hover .d{border-color:var(--pri)}
.pl-rail.pick .rs:focus-visible{outline:2px solid var(--pri);outline-offset:2px;border-radius:var(--r-sm)}
/* (الحزمة 77 — الجولة 37 «7-أ») عنوان أسبوع في سجلّ النقاط المختصر */
.vledger .lewk{display:flex;align-items:center;justify-content:space-between;padding:10px 4px 4px;font-size:var(--t-xs);color:var(--mute)}.vledger .lewk b{font-weight:var(--w-semi)}.vledger .lewk .ok{color:var(--ok)}.vledger .lewk .bad{color:var(--bad)}

/* ==================== (الحزمة 81 — طلب المالك) الترويسة والشريط السفلي ====================
   · أدوات الترويسة الخمس (جديد · التطبيقات · اللغة · الوضع · الإشعارات) في «كبسولة» واحدة .tdock بدل خمسة أقراص متفرّقة،
     و«جديد» قرص ممتلئ بلون الهوية؛ البحث والحساب بالكبسولة نفسها وارتفاع واحد 44 (هدف لمس)
   · الحاسوب (hero): الترويسة لوح زجاجي مستدير بحافة وظلّ كالشريط الجانبي — كانت شريطاً مستطيلاً ينقطع عند الشريط الجانبي
   · الهاتف: سطران مرتّبان — القائمة والعنوان (19) والحساب · ثم البحث بنصّه والكبسولة؛ خلفية شبه معتمة بلا ضبابية
   · الشريط السفلي: معتم 97% بحدّ وظلّ، والعناصر بلون النصّ والمفعَّل بخلفية الهوية — كانت الشفافية تُضيّع العناصر */
:root{--dock-h:44px}
:root[data-mode=light]{--dock-bg:rgba(255,255,255,.8);--dock-line:rgba(255,255,255,.95);--dock-hover:rgba(6,22,196,.08);--bnav-bg:rgba(255,255,255,.97);--bnav-line:rgba(17,20,29,.08);--top-edge:rgba(17,20,29,.07)}
:root[data-mode=dark]{--dock-bg:rgba(255,255,255,.07);--dock-line:rgba(255,255,255,.14);--dock-hover:rgba(255,255,255,.1);--bnav-bg:rgba(23,26,37,.97);--bnav-line:rgba(255,255,255,.1);--top-edge:rgba(255,255,255,.08)}
:root[data-skin=legacy]{--dock-bg:rgba(255,255,255,.1);--dock-line:rgba(255,255,255,.18);--dock-hover:rgba(255,255,255,.14);--dock-ic:var(--top-ink)}
.tdock{display:flex;align-items:center;gap:2px;padding:2px;border-radius:999px;background:var(--dock-bg);border:1px solid var(--dock-line);box-shadow:var(--sh-2);flex:none}
:root[data-skin] .top .tdock .ibtn{width:38px;height:38px;border-radius:50%;background:transparent;border:0;box-shadow:none;color:var(--dock-ic,var(--ic,var(--top-ink)));transition:background var(--d1),transform var(--d2) var(--ease)}
:root[data-skin] .top .tdock .ibtn:hover{background:var(--dock-hover);box-shadow:none}
:root[data-skin] .top .tdock .ibtn:active{transform:scale(.94)}
:root[data-skin] .top .tdock .ibtn svg.ic{width:19px;height:19px}
:root[data-skin] .top .tdock .add{background:var(--pri);color:var(--pri-ink);box-shadow:var(--sh-2)}
:root[data-skin] .top .tdock .add:hover{background:var(--pri-hover)}
:root[data-skin] .top .tdock .ibtn .dot{top:6px;inset-inline-end:6px;box-shadow:0 0 0 2px var(--menu)}
:root[data-skin] .top .who{min-height:var(--dock-h);background:var(--dock-bg);border:1px solid var(--dock-line);box-shadow:var(--sh-2);color:var(--top-ink);border-radius:999px;padding:2px 14px 2px 2px}
:root[data-skin] .top .who i{width:38px;height:38px}
:root[data-skin] .top .srch{min-height:var(--dock-h);background:var(--dock-bg);border:1px solid var(--dock-line);box-shadow:var(--sh-2);border-radius:999px;color:var(--top-mute);padding:8px 16px}
:root[data-skin] .top .srch kbd{background:var(--dock-hover);border:0;color:var(--top-mute)}
@media (min-width:821px){
  :root[data-skin=hero] .top{border:1px solid var(--top-line);border-radius:var(--r);box-shadow:var(--sh-glass);padding:var(--sat) 12px 0;margin-bottom:12px}
}
@media (max-width:820px){
  :root[data-skin] .top{padding:calc(var(--sat) + 8px) 12px 10px;gap:8px;row-gap:10px;border:0;border-bottom:1px solid var(--top-edge);border-radius:0;box-shadow:var(--sh-2);margin:0;min-height:0}
  :root[data-skin] .top .bc{display:none}
  :root[data-skin] .top h1{font-size:var(--t-lg);line-height:var(--lh-tight);flex:1 1 auto;min-width:0;order:1}
  :root[data-skin] .top .hamb{order:0;width:40px;height:40px;border-radius:50%;background:var(--dock-bg);border:1px solid var(--dock-line);box-shadow:none;color:var(--top-ink)}
  :root[data-skin] .top .who{order:1;padding:2px;min-height:0}
  :root[data-skin] .top .who i{width:36px;height:36px}
  :root[data-skin] .top .advsw{order:5;flex:1 1 100%;justify-content:center;margin:0}
  :root[data-skin] .top .srch{order:3;flex:1 1 0;width:auto;min-width:0;min-height:42px;padding:8px 14px}
  :root[data-skin] .top .srch span{display:block}
  :root[data-skin] .top .tdock{order:4}
  :root[data-skin] .top .tdock .ibtn{width:36px;height:36px}
  :root[data-skin] .bnav{background:var(--bnav-bg);border:1px solid var(--bnav-line);box-shadow:var(--sh-3);backdrop-filter:none;height:64px;padding:0 6px}
  :root[data-skin] .bnav a{color:var(--ink2);font-weight:var(--w-med);min-width:56px;padding:6px 2px;border-radius:var(--r-sm)}
  :root[data-skin] .bnav a svg.ic{opacity:1;color:var(--ic,var(--ink2))}
  :root[data-skin] .bnav a.on{color:var(--pri);background:var(--pri-soft);font-weight:var(--w-semi)}
  :root[data-skin] .bnav a.on svg.ic{color:var(--pri)}
}
/* (الحزمة 81) Tabler: شريطه العلوي صار زجاجاً فاتحاً منذ الحزمة 80 — الشعار والاسم كانا أبيضين فاختفيا، والمفعَّل في درج الهاتف أبيض على صبغة فاتحة */
:root[data-skin=tabler] .side .brand,:root[data-skin=tabler] .side .brand .wm{color:var(--ink)}
:root[data-skin=tabler] .side .brand .mk{color:var(--pri)}
:root[data-skin=tabler] .side .uc b{color:var(--ink)}
:root[data-skin=tabler] .side .uc small,:root[data-skin=tabler] .side .foot{color:var(--mute)}
:root[data-skin=tabler] .side .foot .fold{border-color:var(--line);color:var(--mute)}
@media (max-width:820px){
  :root[data-skin=tabler] .nav a:hover,:root[data-skin=tabler] .nav a.on,:root[data-skin=tabler] .nav .sub a.on{color:var(--pri)}
  :root[data-skin=tabler] .nav .gl{color:var(--mute)}
}
/* (الحزمة 81) درج الهاتف معتم وفوق الشريط السفلي والزرّ العائم — كان زجاجاً يُقرأ من خلفه المحتوى، والشريط السفلي يغطّي بطاقة الحساب أسفله */
:root{--z-mscrim:50;--z-mdrawer:55}
@media (max-width:820px){
  :root[data-skin] .side{background:var(--menu);z-index:var(--z-mdrawer)}
  :root[data-skin=legacy] .side{background:var(--top-bg)}
  :root[data-skin] .scrim{z-index:var(--z-mscrim)}
}
/* (الحزمة 81) Tabler تحتفظ بزواياها المربّعة في كبسولة الأدوات والبحث والحساب */
:root[data-skin=tabler] .tdock,:root[data-skin=tabler] .top .who,:root[data-skin=tabler] .top .srch{border-radius:var(--r-lg)}
:root[data-skin=tabler] .top .tdock .ibtn{border-radius:var(--r)}

/* (الحزمة 82) حاوية كل تنقّل داخل #view لا تغيّر التخطيط */
.vslot{display:contents}

/* ===================== (الحزمة 87 — قرار الجولة 39) الحركة بمكتبة GSAP — طبقة public/motion.js =====================
   html.gs = المكتبة محمّلة وبلا «تقليل الحركة»: تُطفأ حركات CSS التي صارت GSAP تتولّاها (لا تتكرّر الحركة مرتين)،
   وبدونها (مكتبة غائبة أو تقليل الحركة) تبقى حركات CSS السابقة كما هي. الألوان كلها من الرموز. */
:root[data-mode=light]{--amb1:rgba(128,66,235,.55);--amb2:rgba(6,22,196,.5);--amb3:rgba(21,117,221,.45);--m-spot:rgba(6,8,20,.62)}
:root[data-mode=dark]{--amb1:rgba(128,66,235,.5);--amb2:rgba(6,22,196,.6);--amb3:rgba(21,117,221,.4);--m-spot:rgba(0,0,0,.7)}
html.gs #view{animation:none}
html.gs .ov,html.gs .md,html.gs .toast,html.gs .toast .pb,html.gs .fly,html.gs .pop,html.gs .pal,html.gs .pal .box,html.gs .scrim{animation:none}
html.gs .tabs button::after{display:none}
.m-ind{position:absolute;left:0;bottom:0;height:3px;width:0;border-radius:3px 3px 0 0;background:var(--c,var(--pri));pointer-events:none}
html:not(.gs) .m-ind{display:none}
/* رقاقة الفرق (1-أ) */
.dchip{display:inline-block;direction:ltr;unicode-bidi:isolate;font-family:var(--font);font-size:var(--t-2xs);font-weight:var(--w-semi);border-radius:999px;padding:0 8px;margin-inline-start:6px;vertical-align:middle;background:var(--pri-soft);color:var(--pri);white-space:nowrap}
.dchip.up{background:var(--ok-soft);color:var(--ok)}.dchip.down{background:var(--bad-soft);color:var(--bad)}
/* الإمساك بالقديم حتى يصل الجديد (12-أ) */
.m-ghost{z-index:var(--z-raise2)}
/* شريط تقدّم القراءة (5-أ) */
.m-read{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c4),var(--pri),var(--c6));transform-origin:100% 50%;transform:scaleX(0);z-index:var(--z-toast);pointer-events:none}
[dir=ltr] .m-read{transform-origin:0 50%}
/* مبدأ التأشير (2-أ) */
.m-guide{stroke:var(--axis);stroke-width:1;stroke-dasharray:3 3;opacity:0;pointer-events:none;transition:opacity var(--d1)}
.m-guide.on{opacity:.9}
svg.m-pting [data-tip]:not(.m-on){opacity:var(--dim);transition:opacity var(--d1)}
svg.m-pting [data-tip].m-on{opacity:1}
svg.m-ser .m-sd:not(.m-son){opacity:var(--dim);transition:opacity var(--d1)}
[data-series]{cursor:default;border-radius:var(--r-xs);transition:background var(--d1)}
[data-series]:hover{background:var(--field)}
/* النجاح داخل الزرّ (16-أ) */
.btn.m-done{background:var(--ok)!important;color:transparent!important;border-color:transparent!important}
.btn.m-done>*:not(.m-ck){opacity:0}
.btn .m-ck{position:absolute;inset:0;margin:auto;width:18px;height:18px;color:var(--pri-ink)}
.btn .m-ck path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.btn{position:relative}
/* الصفائح السفلية على الهاتف (6-أ) */
.md>.grab{display:none}
@media (max-width:640px){
  .ov.sheet{place-items:end stretch;padding:0}
  .ov.sheet .md{width:100%;max-width:none;border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:calc(92vh - var(--sat));padding-bottom:var(--sab);transform-origin:50% 100%}
  .ov.sheet .md>.grab{display:block;flex:none;width:40px;height:4px;border-radius:999px;background:var(--line-hi);margin:8px auto 0;touch-action:none}
  .ov.sheet .md>.mh{touch-action:none}
}
/* الزرّ العائم يتبع الشريط السفلي حين يختفي (6-أ) */
@media (max-width:820px){.fab{transition:transform var(--d2) var(--ease)}.bnav.hide~.fab{transform:translateY(calc(100% + 30px + var(--sab)))}}
/* ☰ ⇄ ✕ (17-أ) */
.hamb .hb{display:grid;gap:4px;width:18px}
.hamb .hb i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform var(--d2) var(--ease),opacity var(--d2)}
.hamb.x .hb i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamb.x .hb i:nth-child(2){opacity:0;transform:scaleX(0)}
.hamb.x .hb i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* تبديل الوضع بتقاطع الألوان (22-أ) */
html.theme-tx *,html.theme-tx *::before,html.theme-tx *::after{transition:background-color var(--d3),color var(--d3),border-color var(--d3),fill var(--d3),stroke var(--d3)!important}
/* الطبقة الجوّية المتنفّسة (20-أ): الكرات الثلاث نفسها عناصرَ تنساب ببطء وتسكن بعد 60 ث خمول */
.m-amb{position:fixed;inset:0;z-index:var(--z-under);pointer-events:none;overflow:hidden}
.m-amb i{position:absolute;display:block;border-radius:50%}
.m-amb .b1{width:1040px;height:640px;left:12%;top:10%;margin:-320px 0 0 -520px;background:radial-gradient(closest-side,var(--amb1),transparent 62%)}
.m-amb .b2{width:1240px;height:720px;left:88%;top:30%;margin:-360px 0 0 -620px;background:radial-gradient(closest-side,var(--amb2),transparent 62%)}
.m-amb .b3{width:1000px;height:600px;left:50%;top:100%;margin:-300px 0 0 -500px;background:radial-gradient(closest-side,var(--amb3),transparent 62%)}
html.gs body.m-ambon{background-image:none}
html:not(.gs) .m-amb{display:none}
/* السحب والإفلات (18-أ) */
.m-ghost-drag{cursor:grabbing}
.m-over{outline:2px dashed var(--pri);outline-offset:-3px}
/* لحظتا المستوى والشارة (4-أ) */
.m-moment{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;text-align:center;background:radial-gradient(520px 320px at 50% 40%,var(--stage-b),var(--stage-a) 62%,var(--gray-950));color:var(--gray-0);padding:24px;perspective:800px}
.m-moment .in{position:relative;max-width:420px}
.m-moment .art{display:inline-block}
.m-moment .art svg{width:120px;height:132px}
.m-moment .t{font-size:var(--t-xl);font-weight:var(--w-bold);margin-top:8px;line-height:1.35}
.m-moment .s{font-size:var(--t-sm);color:var(--navy-100);margin-top:2px}
.m-moment .xpw{width:240px;height:8px;border-radius:999px;background:rgba(255,255,255,.18);margin:12px auto 0;overflow:hidden}
.m-moment .xpw i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--gold-m2),var(--gold-m));transform-origin:100% 50%;transform:scaleX(0)}
[dir=ltr] .m-moment .xpw i{transform-origin:0 50%}
.m-moment .acts{margin-top:14px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.m-moment .acts .btn.ghost{background:rgba(255,255,255,.08);color:var(--gray-0);border-color:rgba(255,255,255,.3)}
.m-moment .spark{position:absolute;left:50%;top:60px;width:7px;height:7px;border-radius:50%;background:var(--gold-m2);pointer-events:none}
/* الجولة الضوئية (19-أ) */
.m-spot{position:fixed;z-index:var(--z-palette);border-radius:var(--r);box-shadow:0 0 0 200vmax var(--m-spot);pointer-events:none;opacity:0;--m-ring:1}
.m-spot::after{content:"";position:absolute;inset:-4px;border-radius:var(--r);border:2px solid var(--pri);opacity:var(--m-ring)}
.m-tcard{position:fixed;z-index:var(--z-palette);background:var(--menu);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:12px 14px;opacity:0}
.m-tcard p{margin:4px 0 10px;font-size:var(--t-sm);color:var(--ink2)}
.m-tcard .f{display:flex;align-items:center;gap:6px}.m-tcard .f .sp{flex:1}
@media print{.m-amb,.m-read,.m-spot,.m-tcard,.m-ghost{display:none!important}*{animation:none!important;transition:none!important}}
/* (الحزمة 87) ما صار GSAP يتولّاه: بناء المخططات وأشرطة التقدّم والطيّ في الشريط — والإطار يحمل هيكل التحميل فوق الصفحة الداخلة */
html.gs svg.viz rect.bar,html.gs svg.viz .area,html.gs svg.viz .bul,html.gs svg.viz .draw,html.gs .prog .bar i{animation:none}
html.gs svg.viz .draw{stroke-dashoffset:0}
html.gs .nav .sub,html.gs .ov{transition:none}
#view{position:relative}
.m-skel{position:absolute;left:0;right:0;top:0;pointer-events:none;z-index:var(--z-raise2)}
.m-dim{opacity:.55;transition:opacity var(--d1)}
.pl-grip{display:inline-grid;place-items:center;width:22px;height:22px;color:var(--mute);cursor:grab;touch-action:none;flex:none}.pl-grip svg.ic{width:16px;height:16px}
.m-moment .art{position:relative}.m-moment .art .bdg{position:absolute;inset:0;display:grid;place-items:center}.m-moment .art .bdg svg{width:96px;height:96px}


/* ===================== (الحزمة 88 — الجولة 40: ت-أ «امتداد الخارطة» + ي-ب + أزرار ملوّنة) الكسوة الرابعة «الخارطة» — الافتراضية =====================
   لغة الخارطة في الهيكل: شريط جانبي كحلي مصمت والبند الفعّال حبّة بيضاء · أرضية #f4f5fb · بطاقات بيضاء بحدّ معتم 1px وخطّ علوي 3px بلون القسم ·
   مؤشّرات بعمود أيقونة مصبوغ · أزرار حبّية ملوّنة بلون الفعل (أساسي/نجاح/خطر مصمتة) · أيقونات الشريط ملوّنة كما هي.
   طبقة الصقل (تدقيق الحدّة q88): لا زجاج ولا كرات ولا شفافية ولا مرشّح ولا تحويل على أي حاوية نصّ · حدود معتمة (لا rgba) · لا ظلال ·
   الألوان من سلالم Radix (م-أ) ومن رموز الخارطة نفسها؛ الوضعان بأدوار متطابقة. */
:root[data-skin=map]{--r:12px;--r-sm:10px;--r-xs:6px;--r-lg:16px;--h-ctl:40px;--h-sm:32px;--side-w:256px;--top-h:64px;--head-accent:none;--head-bg:transparent;--th-line:var(--line);--zebra:transparent;
  --sh-1:none;--sh-2:none;--sh-glass:none;--shadow:none;--side-blur:none;--top-blur:none;--tray-blur:none;--card-blur:none;--glass-blur:none;--bg-img:none;--grid-ln:transparent;
  --amb1:transparent;--amb2:transparent;--amb3:transparent;--hk-1:var(--pri);--sh-4:none}
:root[data-skin=map][data-mode=light]{--bg:#f4f5fb;--surface:#ffffff;--surface2:#f7f8fc;--solid:#ffffff;--field:#ffffff;--menu:#ffffff;--line:#e3e5f1;--line2:#eceef6;--line-hi:#c9cde0;--ink:#0d1433;--ink2:#2b3352;--mute:#5a6285;--ink-dis:#8a91ad;
  --pri:#0616C4;--pri2:#00175A;--pri-soft:#eceefb;--pri-ink:#ffffff;--pri-hover:#0512A3;--pri-press:#040E80;--field-hover:#f4f5fb;--row-hover:#f7f8fc;--focus:var(--pri);--scrim:rgba(13,20,51,.5);
  --glass:#ffffff;--glass-m:#ffffff;--glass-hi:#ffffff;--tray-line:#e3e5f1;--edge:#ffffff;--card-bg:#ffffff;--card-line:#e3e5f1;--card-mix:#ffffff;--track:#e9ebf4;
  --ibtn-bg:#ffffff;--ibtn-line:#e3e5f1;--bnav-bg:#ffffff;--bnav-line:#e3e5f1;--dock-bg:#f4f5fb;--dock-line:#e3e5f1;--dock-hover:#eceefb;--top-edge:#e3e5f1;
  --head-ink:#0d1433;--head-line:#eceef6;--top-bg:#00175A;--top-bg2:#ffffff;--top-ink:#0d1433;--top-mute:#5a6285;--top-line:#e3e5f1;--th-bg:transparent;--th-ink:#5a6285;
  --side-bg:#00175A;--side-line:#00175A;--side-ink:#ffffff;--side-mute:#b3c0e2;--side-on:#ffffff;--side-on-ink:#00175A;
  --tip-bg:#0d1433;--tip-ink:#ffffff;--grid:#e3e5f1;--grid2:#eceefb;--axis:#5a6285;--dim:.22;--deep:#00175A;--lite:#ffffff;
  --hero-grad:#00175A;--hero-bg:#00175A;--hero-a:#00175A;--hero-b:#00175A;--hero-mix:#00175A;--hero-mix2:#00175A;--hero-ink:#ffffff;--hero-mute:#b3c0e2;--hero-line:#00175A;
  --ok:var(--green-600);--warn:var(--amber-700);--bad:var(--red-600);--info:var(--sky-600);--vio:var(--violet-600);--ok-soft:var(--green-3);--warn-soft:var(--amber-3);--bad-soft:var(--red-3);--info-soft:var(--sky-3);--vio-soft:var(--violet-3);
  --on-ok:#ffffff;--on-bad:#ffffff;--on-warn:#ffffff;--kpi-ico:#eceefb;--m-spot:rgba(13,20,51,.62)}
:root[data-skin=map][data-mode=dark]{--bg:#0e0f12;--surface:#1a1d24;--surface2:#22252d;--solid:#1a1d24;--field:#15171d;--menu:#1a1d24;--line:#2b2f3a;--line2:#23272f;--line-hi:#3a3f4c;--ink:#f2f3f6;--ink2:#d5d8e2;--mute:#9ca3b2;--ink-dis:#6d7383;
  --pri:#8a97ff;--pri2:#4457d9;--pri-soft:#262b4d;--pri-ink:#0e1330;--pri-hover:#a3adff;--pri-press:#b8bfff;--field-hover:#1f222a;--row-hover:#1f222a;--focus:var(--pri);--scrim:rgba(0,0,0,.64);
  --glass:#1a1d24;--glass-m:#1a1d24;--glass-hi:#1f2230;--tray-line:#2b2f3a;--edge:#2b2f3a;--card-bg:#1a1d24;--card-line:#2b2f3a;--card-mix:#1a1d24;--track:#2b2f3a;
  --ibtn-bg:#1a1d24;--ibtn-line:#2b2f3a;--bnav-bg:#15171d;--bnav-line:#2b2f3a;--dock-bg:#15171d;--dock-line:#2b2f3a;--dock-hover:#262b4d;--top-edge:#2b2f3a;
  --head-ink:#f2f3f6;--head-line:#23272f;--top-bg:#0a1440;--top-bg2:#15171d;--top-ink:#f2f3f6;--top-mute:#9ca3b2;--top-line:#2b2f3a;--th-bg:transparent;--th-ink:#9ca3b2;
  --side-bg:#0a1440;--side-line:#0a1440;--side-ink:#ffffff;--side-mute:#aab6da;--side-on:#ffffff;--side-on-ink:#00175A;
  --tip-bg:#f2f3f6;--tip-ink:#0d1433;--grid:#2b2f3a;--grid2:#23272f;--axis:#9ca3b2;--dim:.18;--deep:#000000;--lite:#ffffff;
  --hero-grad:#0a1440;--hero-bg:#0a1440;--hero-a:#0a1440;--hero-b:#0a1440;--hero-mix:#0a1440;--hero-mix2:#0a1440;--hero-ink:#ffffff;--hero-mute:#aab6da;--hero-line:#1c2a66;
  --ok:var(--green-11);--warn:var(--amber-11);--bad:var(--red-11);--info:var(--sky-11);--vio:var(--violet-11);--ok-soft:var(--green-3);--warn-soft:var(--amber-3);--bad-soft:var(--red-3);--info-soft:var(--sky-3);--vio-soft:var(--violet-3);
  --on-ok:#06281f;--on-bad:#3a0a14;--on-warn:#3a2a05;--kpi-ico:#262b4d;--m-spot:rgba(0,0,0,.7)}
/* الأرضية: مسطّحة بلا كرات ولا شبكة منظور */
:root[data-skin=map] body::before,:root[data-skin=neo] body::before{display:none}
/* الشريط الجانبي: كحلي مصمت · البند الفعّال حبّة بيضاء بنصّ كحلي · الأيقونات بلون قسمها (ي-ب) */
:root[data-skin=map] .side,:root[data-skin=neo] .side{border-inline-end:0;padding:calc(16px + var(--sat)) 12px 12px;gap:2px}
:root[data-skin=map] .side::before,:root[data-skin=neo] .side::before{display:none}
:root[data-skin=map] .side .brand,:root[data-skin=neo] .side .brand{border-bottom:1px solid rgba(255,255,255,.12);padding:4px 8px 14px}
:root[data-skin=map] .nav .gl,:root[data-skin=neo] .nav .gl{color:var(--side-mute);font-weight:var(--w-semi);padding:12px 12px 4px}
:root[data-skin=map] .nav a,:root[data-skin=neo] .nav a{min-height:40px;padding:8px 12px;border-radius:999px;color:var(--side-ink);font-weight:var(--w-med)}
:root[data-skin=map] .nav a:hover,:root[data-skin=neo] .nav a:hover{background:rgba(255,255,255,.1)}
:root[data-skin=map] .nav a.on,:root[data-skin=neo] .nav a.on{background:var(--side-on);color:var(--side-on-ink);font-weight:var(--w-semi)}
:root[data-skin=map] .nav a.on::before,:root[data-skin=neo] .nav a.on::before{display:none}
:root[data-skin=map] .nav a .badge,:root[data-skin=neo] .nav a .badge{background:var(--bad);color:#fff}
:root[data-skin=map] .nav .sub a,:root[data-skin=neo] .nav .sub a{color:var(--side-mute);border-radius:999px}
:root[data-skin=map] .nav .sub a.on,:root[data-skin=neo] .nav .sub a.on{color:var(--side-ink);background:rgba(255,255,255,.1)}
:root[data-skin=map] .side .uc,:root[data-skin=neo] .side .uc{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:var(--r)}
:root[data-skin=map] .side .uc:hover,:root[data-skin=neo] .side .uc:hover{background:rgba(255,255,255,.14)}
:root[data-skin=map] .side .uc i,:root[data-skin=neo] .side .uc i{background:var(--side-on);color:var(--side-on-ink);box-shadow:none}
:root[data-skin=map] .side .foot .fold,:root[data-skin=neo] .side .foot .fold{border-color:rgba(255,255,255,.14);color:var(--side-mute)}
:root[data-skin=map] .side .foot .fold:hover,:root[data-skin=neo] .side .foot .fold:hover{background:rgba(255,255,255,.1);color:var(--side-ink)}
/* الترويسة: بيضاء بحدّ سفلي معتم · الأدوات كبسولة (الحزمة 81) بأيقونات ملوّنة */
:root[data-skin=map] .top,:root[data-skin=neo] .top{background:var(--top-bg2);border:0;border-bottom:1px solid var(--top-line);box-shadow:none;padding:var(--sat) 24px 0}
:root[data-skin=map] .top h1,:root[data-skin=neo] .top h1{color:var(--top-ink);font-size:var(--t-lg);font-weight:var(--w-bold)}
:root[data-skin=map] .top h1 small,:root[data-skin=map] .top .bc,:root[data-skin=map] .top .bc a,:root[data-skin=neo] .top h1 small,:root[data-skin=neo] .top .bc,:root[data-skin=neo] .top .bc a{color:var(--top-mute)}
:root[data-skin=map] .tdock,:root[data-skin=map] .top .who,:root[data-skin=map] .top .srch,:root[data-skin=neo] .tdock,:root[data-skin=neo] .top .who,:root[data-skin=neo] .top .srch{box-shadow:none}
:root[data-skin=map] .top .tdock .add,:root[data-skin=neo] .top .tdock .add{box-shadow:none}
:root[data-skin=map] .top .who i,:root[data-skin=neo] .top .who i{background:var(--pri);color:var(--pri-ink)}
:root[data-skin=map] .content,:root[data-skin=neo] .content{padding:20px 24px 32px}
/* البطاقات: بيضاء بحدّ معتم وخطّ علوي 3px بلون القسم — بلا ظلّ ولا حافة متدرّجة */
:root[data-skin=map] .card,:root[data-skin=map] .greet,:root[data-skin=map] .strip,:root[data-skin=neo] .card,:root[data-skin=neo] .greet,:root[data-skin=neo] .strip{background:var(--card-bg);border:1px solid var(--card-line);box-shadow:none;border-radius:var(--r)}
:root[data-skin=map] .card,:root[data-skin=neo] .card{border-top:3px solid var(--ic,var(--pri))}
:root[data-skin=map] .card .card,:root[data-skin=map] .md .card,:root[data-skin=map] .vsolo>.card,:root[data-skin=neo] .card .card,:root[data-skin=neo] .md .card,:root[data-skin=neo] .vsolo>.card{border-top-width:1px}
:root[data-skin=map] .card::before,:root[data-skin=map] .strip::before,:root[data-skin=map] .grid.g4:has(>.kpi)::before,:root[data-skin=map] .greet::before,:root[data-skin=map] .ch::after,:root[data-skin=map] .card.pn::after,:root[data-skin=neo] .card::before,:root[data-skin=neo] .strip::before,:root[data-skin=neo] .grid.g4:has(>.kpi)::before,:root[data-skin=neo] .greet::before,:root[data-skin=neo] .ch::after,:root[data-skin=neo] .card.pn::after{display:none}
:root[data-skin=map] .ch,:root[data-skin=neo] .ch{background:transparent;border-bottom:1px solid var(--line2);padding:12px 16px}
:root[data-skin=map] .ch h3,:root[data-skin=neo] .ch h3{font-weight:var(--w-bold)}
:root[data-skin=map] .cb,:root[data-skin=neo] .cb{padding:16px}
/* المؤشّرات: بطاقات منفصلة بعمود أيقونة مصبوغ كالخارطة (لا أيقونة 62px) */
:root[data-skin=map] .grid.g4:has(>.kpi),:root[data-skin=map] .strip,:root[data-skin=neo] .grid.g4:has(>.kpi),:root[data-skin=neo] .strip{gap:12px;background:transparent;border:0;box-shadow:none;overflow:visible;border-radius:0}
:root[data-skin=map] .kpi,:root[data-skin=map] .kpi:nth-child(odd),:root[data-skin=map] .kpi:nth-child(n+3),:root[data-skin=neo] .kpi,:root[data-skin=neo] .kpi:nth-child(odd),:root[data-skin=neo] .kpi:nth-child(n+3){background:var(--card-bg);border:1px solid var(--card-line);border-radius:var(--r);padding:0;gap:0;min-height:84px;align-items:stretch;overflow:hidden}
:root[data-skin=map] .kpi:hover,:root[data-skin=neo] .kpi:hover{background:var(--card-bg);border-color:var(--line-hi)}
:root[data-skin=map] .kpi .ico,:root[data-skin=neo] .kpi .ico{width:56px;height:auto;align-self:stretch;border-radius:0;background:color-mix(in srgb,var(--ic) 10%,var(--card-bg));border-inline-end:1px solid var(--card-line);display:grid;place-items:center}
:root[data-skin=map] .kpi .ico svg.ic,:root[data-skin=neo] .kpi .ico svg.ic{width:24px;height:24px;stroke-width:1.75}
:root[data-skin=map] .kpi .txt,:root[data-skin=neo] .kpi .txt{padding:12px 14px}
:root[data-skin=map] .kpi .lbl,:root[data-skin=neo] .kpi .lbl{font-size:var(--t-xs);font-weight:var(--w-med);color:var(--mute)}
:root[data-skin=map] .kpi .v,:root[data-skin=neo] .kpi .v{font-size:var(--t-xl);font-weight:var(--w-bold)}
:root[data-skin=map] .kpi .ring,:root[data-skin=neo] .kpi .ring{width:48px;height:48px;margin-inline-end:12px;align-self:center}
:root[data-skin=map] .kpi .ring b,:root[data-skin=neo] .kpi .ring b{font-size:var(--t-2xs)}
:root[data-skin=map] .kpi .ring .h1,:root[data-skin=map] .kpi .ring .h2,:root[data-skin=neo] .kpi .ring .h1,:root[data-skin=neo] .kpi .ring .h2{display:none}
:root[data-skin=map] .kpi .ring circle,:root[data-skin=neo] .kpi .ring circle{stroke-width:5}
/* الأزرار: حبّية ملوّنة بلون الفعل — مصمتة لا نيون (الصقل: لا filter على نصّ) */
:root[data-skin=map] .btn,:root[data-skin=neo] .btn{border-radius:999px;padding:6px 16px;font-weight:var(--w-semi)}
:root[data-skin=map] .btn:hover,:root[data-skin=neo] .btn:hover{filter:none}
:root[data-skin=map] .btn.pri,:root[data-skin=neo] .btn.pri{background:var(--pri);color:var(--pri-ink);border-color:var(--pri)}
:root[data-skin=map] .btn.pri:hover,:root[data-skin=neo] .btn.pri:hover{background:var(--pri-hover)}
:root[data-skin=map] .btn.ok,:root[data-skin=neo] .btn.ok{background:var(--ok);color:var(--on-ok);border-color:var(--ok)}
:root[data-skin=map] .btn.bad,:root[data-skin=neo] .btn.bad{background:var(--bad);color:var(--on-bad);border-color:var(--bad)}
:root[data-skin=map] .btn.ghost,:root[data-skin=neo] .btn.ghost{background:var(--surface);border-color:var(--line);color:var(--ink2)}
:root[data-skin=map] .btn.ghost:hover,:root[data-skin=neo] .btn.ghost:hover{background:var(--field-hover);border-color:var(--line-hi)}
:root[data-skin=map] .btn.sm,:root[data-skin=neo] .btn.sm{border-radius:999px;padding:4px 12px}
:root[data-skin=map] .btn.busy::after,:root[data-skin=neo] .btn.busy::after{border-color:color-mix(in srgb,currentColor 30%,transparent);border-top-color:var(--pri-ink)}
:root[data-skin=map] .btn.ghost.busy::after,:root[data-skin=neo] .btn.ghost.busy::after{border-top-color:var(--pri)}
/* الحقول: بيضاء بحدّ معتم بلا عمق داخلي · حلقة تركيز مصبوغة */
:root[data-skin=map] input,:root[data-skin=map] select,:root[data-skin=map] textarea,:root[data-skin=map] .cbx .sel,:root[data-skin=neo] input,:root[data-skin=neo] select,:root[data-skin=neo] textarea,:root[data-skin=neo] .cbx .sel{background:var(--field);border:1px solid var(--line);box-shadow:none;border-radius:var(--r-sm)}
:root[data-skin=map] input:focus,:root[data-skin=map] select:focus,:root[data-skin=map] textarea:focus,:root[data-skin=map] .cbx .sel:focus-within,:root[data-skin=neo] input:focus,:root[data-skin=neo] select:focus,:root[data-skin=neo] textarea:focus,:root[data-skin=neo] .cbx .sel:focus-within{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft)}
:root[data-skin=map] .drop,:root[data-skin=neo] .drop{border-color:var(--line-hi)}
/* التبويبات: خطّ سفلي بلون الهوية (لا ألوان قوس قزح ولا تدرّج) */
:root[data-skin=map] .tabs,:root[data-skin=neo] .tabs{border-bottom:1px solid var(--line);gap:0}
:root[data-skin=map] .tabs button:nth-child(n),:root[data-skin=neo] .tabs button:nth-child(n){--ic:var(--pri);color:var(--mute);font-weight:var(--w-med);padding:10px 14px 12px}
:root[data-skin=map] .tabs button svg.ic,:root[data-skin=neo] .tabs button svg.ic{color:currentColor}
:root[data-skin=map] .tabs button.on,:root[data-skin=neo] .tabs button.on{background:transparent;color:var(--pri);font-weight:var(--w-bold)}
:root[data-skin=map] .tabs button::after,:root[data-skin=neo] .tabs button::after{height:2px;left:0;right:0;border-radius:0}
/* الشرائح والرقاقات والشارات: حبّات؛ المفعَّل مصمت بلون الهوية */
:root[data-skin=map] .seg,:root[data-skin=neo] .seg{background:var(--field);border:1px solid var(--line);border-radius:999px;padding:2px}
:root[data-skin=map] .seg button,:root[data-skin=neo] .seg button{border-radius:999px;padding:4px 12px}
:root[data-skin=map] .seg button.on,:root[data-skin=neo] .seg button.on{background:var(--pri);color:var(--pri-ink);box-shadow:none}
:root[data-skin=map] .st,:root[data-skin=neo] .st{border-radius:999px;padding:4px 10px}
:root[data-skin=map] .chip.on,:root[data-skin=neo] .chip.on{background:var(--pri);color:var(--pri-ink);border-color:var(--pri)}
/* الجداول: رأس بلا خلفية بنصّ خافت عريض وحدّ · صفوف بحدود معتمة رفيعة · لا تناوب */
:root[data-skin=map] th,:root[data-skin=neo] th{background:transparent;color:var(--th-ink);font-weight:var(--w-bold);border-bottom:1px solid var(--line);padding:10px 12px}
:root[data-skin=map] td,:root[data-skin=neo] td{padding:10px 12px;border-bottom:1px solid var(--line2)}
:root[data-skin=map] tbody tr:nth-child(even) td,:root[data-skin=neo] tbody tr:nth-child(even) td{background:transparent}
:root[data-skin=map] tbody tr:hover td,:root[data-skin=neo] tbody tr:hover td{background:var(--row-hover)}
:root[data-skin=map] tr.row:hover td,:root[data-skin=neo] tr.row:hover td{background:var(--pri-soft)}
/* النوافذ والقوائم والإشعارات: مصمتة بحدّ معتم وظلّ واحد */
:root[data-skin=map] .md,:root[data-skin=map][data-mode=light] .md,:root[data-skin=neo] .md,:root[data-skin=neo][data-mode=light] .md{background:var(--menu);border:1px solid var(--line);box-shadow:var(--sh-3);border-radius:var(--r-lg)}
:root[data-skin=map] .md .mb,:root[data-skin=map][data-mode=dark] .md .mb,:root[data-skin=neo] .md .mb,:root[data-skin=neo][data-mode=dark] .md .mb{background:var(--solid)}
:root[data-skin=map] .md .mh,:root[data-skin=map] .md .mf,:root[data-skin=neo] .md .mh,:root[data-skin=neo] .md .mf{border-color:var(--line)}
:root[data-skin=map] .toast,:root[data-skin=map][data-mode=dark] .toast,:root[data-skin=neo] .toast,:root[data-skin=neo][data-mode=dark] .toast{background:var(--menu);border:1px solid var(--line);box-shadow:var(--sh-3)}
:root[data-skin=map] .fly,:root[data-skin=map] .cbx .dd,:root[data-skin=map] .dlpop,:root[data-skin=map] .pop,:root[data-skin=map] .pal .box,:root[data-skin=map] .m-tcard,:root[data-skin=neo] .fly,:root[data-skin=neo] .cbx .dd,:root[data-skin=neo] .dlpop,:root[data-skin=neo] .pop,:root[data-skin=neo] .pal .box,:root[data-skin=neo] .m-tcard{background:var(--menu);border:1px solid var(--line);box-shadow:var(--sh-3)}
:root[data-skin=map] .tools,:root[data-skin=neo] .tools{border-bottom-color:var(--line2)}
:root[data-skin=map] .kcol,:root[data-skin=neo] .kcol{background:var(--field);border:1px solid var(--line)}
/* البطل (سلّم الترتيب والبروفايل حتى الحزمة 89): كحلي مصمت بلا تدرّج ولا نقش ولا ظلّ */
:root[data-skin=map] .hero,:root[data-skin=neo] .hero{background:var(--hero-grad);box-shadow:none;border:1px solid var(--hero-line);border-radius:var(--r)}
/* الدخول: صندوق مصمت بلا زجاج ولا كرات */
:root[data-skin=map] .login::before,:root[data-skin=map] .login::after,:root[data-skin=neo] .login::before,:root[data-skin=neo] .login::after{display:none}
:root[data-skin=map] .login .split,:root[data-skin=neo] .login .split{background:var(--solid);backdrop-filter:none;box-shadow:var(--sh-3);border:1px solid var(--line)}
:root[data-skin=map] .login .box,:root[data-skin=map][data-mode=dark] .login .box,:root[data-skin=neo] .login .box,:root[data-skin=neo][data-mode=dark] .login .box{background:var(--solid)}
/* الهاتف: الدرج كحلي كالشريط · الشريط السفلي أبيض بحدّ */
@media (max-width:820px){
  :root[data-skin=map] .side,:root[data-skin=neo] .side{background:var(--side-bg)}
  :root[data-skin=map] .nav a:hover,:root[data-skin=map] .nav .sub a.on,:root[data-skin=neo] .nav a:hover,:root[data-skin=neo] .nav .sub a.on{color:var(--side-ink)}
  :root[data-skin=map] .bnav,:root[data-skin=neo] .bnav{box-shadow:none;border:1px solid var(--bnav-line)}
  :root[data-skin=map] .top,:root[data-skin=neo] .top{box-shadow:none;border-bottom:1px solid var(--top-line)}
  :root[data-skin=map] .fab,:root[data-skin=neo] .fab{background:var(--pri);color:var(--pri-ink);box-shadow:var(--sh-3)}
}
/* الهاتف الضيّق: بطاقة المؤشّر بلا عمود أيقونة (الحلقة أصغر والتسمية تلتفّ) */
@media (max-width:640px){
  :root[data-skin=map] .kpi .ico,:root[data-skin=neo] .kpi .ico{display:none}
  :root[data-skin=map] .kpi .txt,:root[data-skin=neo] .kpi .txt{padding:10px 12px}
  :root[data-skin=map] .kpi .lbl,:root[data-skin=neo] .kpi .lbl{white-space:normal;line-height:1.3}
  :root[data-skin=map] .kpi .ring,:root[data-skin=neo] .kpi .ring{width:40px;height:40px;margin-inline-end:8px}
  :root[data-skin=map] .kpi .ring circle,:root[data-skin=neo] .kpi .ring circle{stroke-width:4}
}

/* ===================== (الحزمة 136 — طلب المالك «أشبه بالمقترح الأساسي» ⇒ «المقترح الأساسي حرفياً») الكسوة «كرتوني» — Neo-Brutalism «ملصق البوب» =====================
   = خيار «أ» في _مقترحات-بصرية/52-ثيم-كرتوني-نيو-بروتاليزم.html حرفياً (حلّت محلّ نسخة 135 بألوان Domains التي لم تعجب المالك):
   أرضية كريمية #FFF4DA بنقاط كل 22 بكسل · ترويسة صفراء #FFD23F · شريط جانبي كريمي #FFFBEF والنشط ملصق وردي #FF7AB6 · حبر أسود #121212 3 بكسل ·
   ظلّ صلب 5 بكسل (--sh-2) و3 للصغير (--sh-1) و8 للنوافذ (--sh-3) · بطاقات المؤشرات أصفر · وردي · سماوي #43D9F5 · ليموني #A6F04D · الزرّ الرئيسي أزرق Domains ·
   رأس الجدول أسود بنصّ أبيض (الداكن أصفر) · الحالات مصمتة: منفَّذ ليموني · مُرسَل أصفر · قيد التنفيذ سماوي · مرفوض أحمر فاتح · الضغطة الحقيقية (3-أ) · الخارطة كما هي (2-أ)
   تبني على قواعد «الخارطة» المسطّحة (محدِّداتها مكرّرة أعلاه لـneo منذ 135) ثم تعيد ما يلزم للشريط الفاتح */
:root[data-skin=neo]{--r:14px;--r-sm:10px;--r-xs:6px;--r-lg:18px;--h-ctl:40px;--h-sm:32px;--side-w:256px;--top-h:64px;--head-accent:none;--head-bg:transparent;--th-line:var(--nb-line);--zebra:transparent;
  --sh-glass:none;--side-blur:none;--top-blur:none;--tray-blur:none;--card-blur:none;--glass-blur:none;--grid-ln:transparent;
  --amb1:transparent;--amb2:transparent;--amb3:transparent;--hk-1:var(--pri);--sh-4:none;--nb-w:3px;--nb-w2:2px;--nb-k-ink:#121212}
:root[data-skin=neo][data-mode=light]{--bg:#FFF4DA;--surface:#ffffff;--surface2:#FFFBEF;--solid:#ffffff;--field:#ffffff;--menu:#ffffff;--line:#E3D3A8;--line2:#EFE4C6;--line-hi:#121212;--ink:#121212;--ink2:#2E2B25;--mute:#4D4A42;--ink-dis:#86806F;
  --pri:#2F47F0;--pri2:#00175A;--pri-soft:#E8ECFF;--pri-ink:#ffffff;--pri-hover:#2238D6;--pri-press:#1A2DB8;--field-hover:#FFF8E4;--row-hover:#FFF3CC;--focus:var(--pri);--scrim:rgba(18,18,18,.55);
  --glass:#ffffff;--glass-m:#ffffff;--glass-hi:#ffffff;--tray-line:#121212;--edge:#ffffff;--card-bg:#ffffff;--card-line:#121212;--card-mix:#ffffff;--track:#F3E6C2;
  --ibtn-bg:#ffffff;--ibtn-line:#121212;--bnav-bg:#ffffff;--bnav-line:#121212;--dock-bg:#ffffff;--dock-line:#121212;--dock-hover:#FFEFC2;--top-edge:#121212;
  --head-ink:#121212;--head-line:#EFE4C6;--top-bg:#FFD23F;--top-bg2:#FFD23F;--top-ink:#121212;--top-mute:#3D3A30;--top-line:#121212;--th-bg:#121212;--th-ink:#ffffff;
  --side-bg:#FFFBEF;--side-line:#121212;--side-ink:#121212;--side-mute:#4D4A42;--side-on:#FF7AB6;--side-on-ink:#121212;
  --tip-bg:#121212;--tip-ink:#ffffff;--grid:#EFE4C6;--grid2:#F6EED8;--axis:#4D4A42;--dim:.22;--deep:#00175A;--lite:#ffffff;
  --hero-grad:#2F47F0;--hero-bg:#2F47F0;--hero-a:#2F47F0;--hero-b:#2F47F0;--hero-mix:#2F47F0;--hero-mix2:#2F47F0;--hero-ink:#ffffff;--hero-mute:#DCE2FF;--hero-line:#121212;
  --ok:var(--green-600);--warn:var(--amber-700);--bad:var(--red-600);--info:var(--sky-600);--vio:var(--violet-600);--ok-soft:var(--green-3);--warn-soft:var(--amber-3);--bad-soft:var(--red-3);--info-soft:var(--sky-3);--vio-soft:var(--violet-3);
  --on-ok:#ffffff;--on-bad:#ffffff;--on-warn:#ffffff;--kpi-ico:#FFF4DA;--m-spot:rgba(18,18,18,.62);
  --nb-line:#121212;--nb-k1:#FFD23F;--nb-k2:#FF7AB6;--nb-k3:#43D9F5;--nb-k4:#A6F04D;--nb-acc:#FFD23F;--nb-hov:#FFEFC2;--nb-zebra:#FFF8E4;
  --nb-ok:#A6F04D;--nb-warn:#FFD23F;--nb-bad:#FF8A8A;--nb-info:#9ED8FF;--nb-vio:#C9B6FF;--nb-toast:#A6F04D;
  --sh-1:3px 3px 0 #121212;--sh-2:5px 5px 0 #121212;--sh-3:8px 8px 0 #121212;--shadow:5px 5px 0 #121212;--shadow-lg:8px 8px 0 #121212;--bg-img:radial-gradient(#E9D9AE 1.2px,transparent 1.3px)}
:root[data-skin=neo][data-mode=dark]{--bg:#1C1A26;--surface:#2A2738;--surface2:#24212F;--solid:#2A2738;--field:#1E1C29;--menu:#2A2738;--line:#3A3650;--line2:#312D44;--line-hi:#0A0910;--ink:#FFF6E0;--ink2:#EDE3C9;--mute:#C9C2AE;--ink-dis:#8F8977;
  --pri:#8C9BFF;--pri2:#4457D9;--pri-soft:#2F2B4A;--pri-ink:#121212;--pri-hover:#A3AFFF;--pri-press:#B8C1FF;--field-hover:#24212F;--row-hover:#34304A;--focus:var(--pri);--scrim:rgba(0,0,0,.66);
  --glass:#2A2738;--glass-m:#2A2738;--glass-hi:#34304A;--tray-line:#0A0910;--edge:#3A3650;--card-bg:#2A2738;--card-line:#0A0910;--card-mix:#2A2738;--track:#3A3650;
  --ibtn-bg:#2A2738;--ibtn-line:#0A0910;--bnav-bg:#2A2738;--bnav-line:#0A0910;--dock-bg:#24212F;--dock-line:#0A0910;--dock-hover:#34304A;--top-edge:#0A0910;
  --head-ink:#FFF6E0;--head-line:#312D44;--top-bg:#FFD23F;--top-bg2:#FFD23F;--top-ink:#121212;--top-mute:#3D3A30;--top-line:#0A0910;--th-bg:#FFD23F;--th-ink:#121212;
  --side-bg:#221F30;--side-line:#0A0910;--side-ink:#FFF6E0;--side-mute:#C9C2AE;--side-on:#FF7AB6;--side-on-ink:#121212;
  --tip-bg:#FFF6E0;--tip-ink:#121212;--grid:#3A3650;--grid2:#312D44;--axis:#C9C2AE;--dim:.18;--deep:#000000;--lite:#ffffff;
  --hero-grad:#2F47F0;--hero-bg:#2F47F0;--hero-a:#2F47F0;--hero-b:#2F47F0;--hero-mix:#2F47F0;--hero-mix2:#2F47F0;--hero-ink:#ffffff;--hero-mute:#DCE2FF;--hero-line:#0A0910;
  --ok:var(--green-11);--warn:var(--amber-11);--bad:var(--red-11);--info:var(--sky-11);--vio:var(--violet-11);--ok-soft:var(--green-3);--warn-soft:var(--amber-3);--bad-soft:var(--red-3);--info-soft:var(--sky-3);--vio-soft:var(--violet-3);
  --on-ok:#06281f;--on-bad:#3a0a14;--on-warn:#3a2a05;--kpi-ico:#34304A;--m-spot:rgba(0,0,0,.7);
  --nb-line:#0A0910;--nb-k1:#FFD23F;--nb-k2:#FF7AB6;--nb-k3:#43D9F5;--nb-k4:#A6F04D;--nb-acc:#FFD23F;--nb-hov:#34304A;--nb-zebra:#24212F;
  --nb-ok:#A6F04D;--nb-warn:#FFD23F;--nb-bad:#FF8A8A;--nb-info:#9ED8FF;--nb-vio:#C9B6FF;--nb-toast:#A6F04D;
  --sh-1:3px 3px 0 #0A0910;--sh-2:5px 5px 0 #0A0910;--sh-3:8px 8px 0 #0A0910;--shadow:5px 5px 0 #0A0910;--shadow-lg:8px 8px 0 #0A0910;--bg-img:radial-gradient(#2E2B3D 1.2px,transparent 1.3px)}
:root[data-skin=neo] body{background-size:22px 22px}
/* الشريط الجانبي: كريمي بحبر · النشط ملصق وردي بظلّ صغير */
:root[data-skin=neo] .side{background:var(--side-bg);border-inline-end:var(--nb-w) solid var(--nb-line)}
:root[data-skin=neo] .side .brand{color:var(--side-ink);border-bottom:var(--nb-w2) solid var(--nb-line)}
:root[data-skin=neo] .nav .gl{color:var(--side-mute)}
:root[data-skin=neo] .nav a{color:var(--side-ink);border:var(--nb-w) solid transparent;border-radius:var(--r-sm);font-weight:var(--w-semi)}
:root[data-skin=neo] .nav a:hover{background:var(--nb-hov)}
:root[data-skin=neo] .nav a.on{background:var(--side-on);color:var(--side-on-ink);border-color:var(--nb-line);box-shadow:var(--sh-1);font-weight:var(--w-bold)}
:root[data-skin=neo] .nav .sub a{color:var(--side-mute);border-radius:var(--r-sm)}
:root[data-skin=neo] .nav .sub a.on{color:var(--side-ink);background:var(--nb-hov);border-color:var(--nb-line)}
:root[data-skin=neo] .side .uc{background:var(--surface);border:var(--nb-w2) solid var(--nb-line);box-shadow:var(--sh-1)}
:root[data-skin=neo] .side .uc:hover{background:var(--nb-hov)}
:root[data-skin=neo] .side .uc i{background:var(--nb-k3);color:var(--nb-k-ink);border:var(--nb-w2) solid var(--nb-line)}
:root[data-skin=neo] .side .foot .fold{border-color:var(--nb-line);color:var(--side-ink)}
:root[data-skin=neo][data-mode] .side .uc b,:root[data-skin=neo][data-mode] .side .uc .t{color:var(--side-ink)} /* بطاقة المستخدم (ld-card من pcard.js) صُمّمت لشريط داكن — نصّها بحبر الشريط الفاتح */
:root[data-skin=neo] .side .foot .fold:hover{background:var(--nb-hov);color:var(--side-ink)}
/* الترويسة: صفراء بحدّ سفلي عريض · البحث والأدوات والحساب ملصقات بيضاء */
:root[data-skin=neo] .top{background:var(--top-bg2);border-bottom:var(--nb-w) solid var(--nb-line)}
:root[data-skin=neo] .top .tdock,:root[data-skin=neo] .top .who,:root[data-skin=neo] .top .srch{background:var(--surface);color:var(--ink);border:var(--nb-w2) solid var(--nb-line);box-shadow:var(--sh-1)}
:root[data-skin=neo] .top .who i{background:var(--nb-k3);color:var(--nb-k-ink);border:var(--nb-w2) solid var(--nb-line)}
:root[data-skin=neo] .tdock .ibtn{border-color:transparent;box-shadow:none;background:transparent}
/* البطاقات */
:root[data-skin=neo] .card,:root[data-skin=neo] .greet{background:var(--card-bg);border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-2);border-radius:var(--r)}
:root[data-skin=neo] .card .card,:root[data-skin=neo] .md .card,:root[data-skin=neo] .vsolo>.card{border-width:var(--nb-w2);box-shadow:none}
:root[data-skin=neo] .ch{border-bottom:var(--nb-w2) solid var(--line)}
:root[data-skin=neo] .ch h3{font-weight:var(--w-bold)}
:root[data-skin=neo] .hero{border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-2)}
/* بطاقات المؤشرات: أصفر · وردي · سماوي · ليموني بحبر، والأيقونة في مربّع أبيض */
:root[data-skin=neo] .kpi,:root[data-skin=neo] .kpi:nth-child(odd),:root[data-skin=neo] .kpi:nth-child(n+3){border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-2);border-radius:var(--r);color:var(--nb-k-ink)}
:root[data-skin=neo] .kpi:nth-child(4n+1),:root[data-skin=neo] .kpi:nth-child(4n+1):hover{background:var(--nb-k1)}
:root[data-skin=neo] .kpi:nth-child(4n+2),:root[data-skin=neo] .kpi:nth-child(4n+2):hover{background:var(--nb-k2)}
:root[data-skin=neo] .kpi:nth-child(4n+3),:root[data-skin=neo] .kpi:nth-child(4n+3):hover{background:var(--nb-k3)}
:root[data-skin=neo] .kpi:nth-child(4n),:root[data-skin=neo] .kpi:nth-child(4n):hover{background:var(--nb-k4)}
:root[data-skin=neo] .kpi .ico{width:48px;height:48px;align-self:center;margin-inline-start:12px;background:var(--surface);color:var(--ink);border:var(--nb-w) solid var(--nb-line);border-radius:var(--r-sm)}
:root[data-skin=neo] .kpi .lbl,:root[data-skin=neo] .kpi .v,:root[data-skin=neo] .kpi .ring b{color:var(--nb-k-ink)}
:root[data-skin=neo] .kpi .lbl{font-weight:var(--w-semi)}
/* الأزرار والأيقونات */
:root[data-skin=neo] .btn{border:var(--nb-w) solid var(--nb-line);border-radius:var(--r-sm);box-shadow:var(--sh-2);font-weight:var(--w-bold)}
:root[data-skin=neo] .btn.pri,:root[data-skin=neo] .btn.ok,:root[data-skin=neo] .btn.bad,:root[data-skin=neo] .btn.ghost{border-color:var(--nb-line)}
:root[data-skin=neo] .btn.ghost{background:var(--surface);color:var(--ink)}
:root[data-skin=neo] .btn.sm{border-radius:var(--r-sm);border-width:var(--nb-w2);box-shadow:var(--sh-1)}
:root[data-skin=neo] .btn:disabled{box-shadow:none}
:root[data-skin=neo] .ibtn{background:var(--surface);border:var(--nb-w2) solid var(--nb-line);box-shadow:var(--sh-1)}
/* الحقول */
:root[data-skin=neo] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),:root[data-skin=neo] select,:root[data-skin=neo] textarea,:root[data-skin=neo] .cbx .sel{background:var(--field);border:var(--nb-w) solid var(--nb-line);border-radius:var(--r-sm)}
:root[data-skin=neo] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):focus,:root[data-skin=neo] select:focus,:root[data-skin=neo] textarea:focus,:root[data-skin=neo] .cbx .sel:focus-within{border-color:var(--nb-line);box-shadow:var(--sh-1);outline:none}
/* التبويبات · الشرائح · الرقاقات */
:root[data-skin=neo] .tabs{border-bottom:var(--nb-w) solid var(--nb-line)}
:root[data-skin=neo] .tabs button.on{background:var(--nb-k1);color:var(--nb-k-ink);border-radius:var(--r-sm) var(--r-sm) 0 0}
:root[data-skin=neo] .tabs button::after{height:4px;background:var(--nb-line)}
:root[data-skin=neo] .seg{border:var(--nb-w2) solid var(--nb-line);border-radius:var(--r-sm);background:var(--surface)}
:root[data-skin=neo] .seg button{border-radius:var(--r-xs)}
:root[data-skin=neo] .seg button.on{background:var(--nb-line);color:var(--surface);font-weight:var(--w-bold)}
:root[data-skin=neo] .chip{border:var(--nb-w2) solid var(--nb-line);font-weight:var(--w-semi)}
:root[data-skin=neo] .chip.on{background:var(--side-on);color:var(--side-on-ink);border-color:var(--nb-line)}
/* الحالات: مصمتة بحبر (كالمقترح) */
:root[data-skin=neo] .st{border:var(--nb-w2) solid var(--nb-line);font-weight:var(--w-bold);color:var(--nb-k-ink)}
:root[data-skin=neo] .st.ok{background:var(--nb-ok);color:var(--nb-k-ink)}
:root[data-skin=neo] .st.warn{background:var(--nb-warn);color:var(--nb-k-ink)}
:root[data-skin=neo] .st.bad{background:var(--nb-bad);color:var(--nb-k-ink)}
:root[data-skin=neo] .st.info{background:var(--nb-info);color:var(--nb-k-ink)}
:root[data-skin=neo] .st.vio{background:var(--nb-vio);color:var(--nb-k-ink)}
:root[data-skin=neo] .st.mute{background:var(--field);color:var(--ink)}
:root[data-skin=neo] .vbd .n{border:var(--nb-w2) solid var(--nb-line);background:var(--nb-acc);color:var(--nb-k-ink);font-weight:var(--w-bold)}
/* الجداول: رأس أسود بنصّ أبيض (الداكن أصفر) · صفوف متناوبة كريمية */
:root[data-skin=neo] th{background:var(--th-bg);color:var(--th-ink);border-bottom:var(--nb-w2) solid var(--nb-line)}
:root[data-skin=neo] tbody tr:nth-child(even) td{background:var(--nb-zebra)}
:root[data-skin=neo] tbody tr:hover td{background:var(--row-hover)}
/* النوافذ والقوائم والرسائل */
:root[data-skin=neo][data-mode] .md{border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-3);border-radius:var(--r-lg)}
:root[data-skin=neo] .md .mh{border-bottom:var(--nb-w) solid var(--nb-line)}
:root[data-skin=neo] .md .mf{border-top:var(--nb-w2) solid var(--nb-line)}
:root[data-skin=neo][data-mode] .toast{background:var(--nb-toast);color:var(--nb-k-ink);border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-2)}
:root[data-skin=neo] .fly,:root[data-skin=neo] .cbx .dd,:root[data-skin=neo] .dlpop,:root[data-skin=neo] .pop,:root[data-skin=neo] .pal .box,:root[data-skin=neo] .m-tcard{border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-2)}
:root[data-skin=neo] .kcol{border:var(--nb-w2) solid var(--nb-line)}
/* الدخول */
:root[data-skin=neo] .login .split{border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-3)}
/* الهاتف */
@media (max-width:820px){
  :root[data-skin=neo] .side{background:var(--side-bg)}
  :root[data-skin=neo] .bnav{background:var(--surface);border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-2)}
  :root[data-skin=neo] .top{border-bottom:var(--nb-w) solid var(--nb-line)}
  :root[data-skin=neo] .fab{background:var(--pri);color:var(--pri-ink);border:var(--nb-w) solid var(--nb-line);box-shadow:var(--sh-2)}
}
/* (3-أ) الضغطة الحقيقية: ترتفع بالمرور ويطول ظلّها، وتنزل مكان ظلّها بالضغط */
@media (prefers-reduced-motion:no-preference){
  :root[data-skin=neo] .btn,:root[data-skin=neo] .ibtn,:root[data-skin=neo] .kpi{transition:transform var(--d1) var(--ease),box-shadow var(--d1) var(--ease),background var(--d2)}
  :root[data-skin=neo] .btn:not(:disabled):hover,:root[data-skin=neo] .kpi:hover{transform:translate(-2px,-2px);box-shadow:var(--sh-3)}
  :root[data-skin=neo] .btn:not(:disabled):active{transform:translate(5px,5px);box-shadow:none}
  :root[data-skin=neo] .btn.sm:not(:disabled):active{transform:translate(3px,3px);box-shadow:none}
  :root[data-skin=neo] .ibtn:hover{transform:translate(-2px,-2px);box-shadow:var(--sh-2)}
  :root[data-skin=neo] .ibtn:active{transform:translate(3px,3px);box-shadow:none}
}
/* (الحزمة 136) «حجم البيانات» في الإعدادات ← «عام»: شريط المستعمل من الحدّ */
.dbs-bar{display:block;height:14px;max-width:460px;border-radius:999px;background:var(--field);border:1px solid var(--line);overflow:hidden;margin:6px 0}
.dbs-bar i{display:block;height:100%;background:var(--ok);border-radius:999px;transition:width var(--d3) var(--ease)}
.dbs-bar.warn i{background:var(--warn)}.dbs-bar.bad i{background:var(--bad)}
:root[data-skin=neo] .dbs-bar{border:var(--nb-w2) solid var(--nb-line)}

/* ===================== (الحزمة 90 — الجولة 40: ر-ب) الرسوم عبر ApexCharts — charts.js =====================
   الحاوية LTR (المكتبة تحسب من اليسار) والاتجاه يُعالَج بالبيانات؛ التلميح والوسائل بخطّ الواجهة ورموزها. */
.c-chart{direction:ltr;position:relative;min-height:120px;width:100%}
.c-chart .apexcharts-canvas{margin:0 auto}
/* (الحزمة 93 — الجولة 42) نقاط الخط تظهر بعد رسمه بتلاشٍ قصير — لا نبض ولا حركة دائمة */
.c-chart .apexcharts-point-annotations{animation:c-mk-in var(--d2) ease-out calc(var(--d3) + var(--d1)) backwards}
@keyframes c-mk-in{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.c-chart .apexcharts-point-annotations{animation:none}}
.c-wrap{position:relative}
/* صفّ التسميات: يمتدّ على منطقة الرسم فقط (المحور الرأسي 40px + 12px هوامش على جهته · 8px على الأخرى) */
.c-ticks{position:relative;height:20px;direction:ltr;margin:0 60px 0 8px;font-size:var(--t-xs);color:var(--mute)}
[dir=ltr] .c-ticks{margin:0 8px 0 60px}
.c-ticks span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap;line-height:1.3}
.c-ticks span:first-child{transform:translateX(-10%)}.c-ticks span:last-child{transform:translateX(-90%)}
.c-tip{direction:rtl;text-align:start;padding:8px 10px;font-size:var(--t-xs);line-height:1.6;min-width:140px;color:var(--ink)}
[dir=ltr] .c-tip{direction:ltr}
.c-tip b{display:block;font-weight:var(--w-semi);margin-bottom:2px}
.c-tip div{display:flex;align-items:center;gap:6px}
.c-tip i,.c-tip .c-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none;margin-inline-end:4px}
.apexcharts-tooltip{border-radius:var(--r-sm)!important;box-shadow:var(--sh-3)!important;border:1px solid var(--line)!important;background:var(--menu)!important;color:var(--ink)!important;font-family:var(--font)!important}
.apexcharts-legend-text,.apexcharts-xaxis-label,.apexcharts-yaxis-label,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-point-annotation-label{font-family:var(--font)!important}
.apexcharts-gridline{stroke:var(--line)!important}
/* الأهداف (الإشغال — ج): صفوف HTML بمدرّج ثلاثي وشريط القيمة وعلامة الهدف */
.bullets{display:flex;flex-direction:column;gap:6px;padding:4px 0}
.bul-row{display:grid;grid-template-columns:152px 1fr 152px;gap:12px;align-items:center;min-height:44px}
.bul-n b{display:block;font-size:var(--t-sm);font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bul-n small{color:var(--mute);font-size:var(--t-2xs)}
.bul-t{position:relative;height:26px;display:flex;border-radius:var(--r-xs);overflow:hidden;background:var(--field)}
.bul-t i{display:block;height:100%;background:var(--line-hi)}.bul-t .b1{opacity:.18}.bul-t .b2{opacity:.32}.bul-t .b3{opacity:.5}
.bul-t .bul-v{position:absolute;inset-inline-start:0;top:6px;height:14px;border-radius:3px;background:var(--c);transition:width var(--d3) var(--ease)}
.bul-t .bul-g{position:absolute;top:0;bottom:0;width:3px;background:var(--ink);border-radius:1px}
.bul-p{font-size:var(--t-xs);font-weight:var(--w-semi);white-space:nowrap}.bul-p.ok{color:var(--ok)}.bul-p.bad{color:var(--bad)}
.bul-axis{display:flex;justify-content:space-between;padding:0 152px;font-size:var(--t-2xs);color:var(--mute)}
@media (max-width:820px){.bul-row{grid-template-columns:112px 1fr 100px;gap:8px}.bul-axis{padding:0 112px 0 100px}}
/* (الحزمة 105 — طلب المالك) ألوان المسارات في «تقويم الأنشطة» وصفحات «الخطط» = ألوان «خارطة المسارات» (TRACKS في الخارطة):
   التطوع بنفسجي · التدريب أزرق (مرجاني بعد «تطبيق التحديث» map_r43) · الفعاليات فيروزي (أخضر بعد التحديث) · المشاريع كهرماني (الحزمة 108) — والداكن درجة أفتح من اللون نفسه.
   حجوزات القاعات تبقى بلون القاعة (جواب المالك). <html data-r43> يضعه app.js من bootstrap.map_r43 */
/* (الحزمة 108 — طلب المالك) الفعاليات ⇄ المشاريع كما في الخارطة: الفعاليات فيروزي (أخضر بعد التحديث) · المشاريع كهرماني */
:root{--trk-volunteer:#8042EB;--trk-training:#1b7fd1;--trk-events:#0e9486;--trk-projects:#d38b10}
:root[data-r43]{--trk-training:#DB4F3B;--trk-events:#2E9B48}
:root[data-mode=dark]{--trk-volunteer:#B08BFF;--trk-training:#5AAEF0;--trk-events:#3CC7B5;--trk-projects:#F0B04A}
:root[data-mode=dark][data-r43]{--trk-training:#F07E6C;--trk-events:#62CC7E}
/* (الحزمة 123 — قرار الجولة 49 «2-أ») نافذة الطلبات الهجينة: شارة الجهة في كل صفّ + اختيار الجهة في «طلب جديد» */
.dep{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-2xs);font-weight:var(--w-semi);border-radius:999px;padding:2px 10px;white-space:nowrap}
.dep svg{width:12px;height:12px}
.dep.admin{background:var(--pri-soft);color:var(--pri)}
.dep.info{background:var(--vio-soft);color:var(--vio)}
.reqpick{display:grid;gap:10px}
.reqopt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-family:inherit;color:var(--ink);cursor:pointer;text-align:start;flex-wrap:wrap}
.reqopt:hover{border-color:var(--pri);background:var(--pri-soft)}
.reqopt svg{width:22px;height:22px;color:var(--pri);flex:none}
.reqopt b{font-weight:var(--w-semi)}
.reqopt small{color:var(--mute);font-size:var(--t-xs);margin-inline-start:auto}
/* (الحزمة 125) فحص سلامة النقاط: أزواج «اسم · قيمة» */
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:baseline;font-size:var(--t-sm)}
.kv span{color:var(--mute)}.kv b{font-weight:var(--w-semi)}

/* (الحزمة 137 — قرار الجولة 54) الفعاليات: الخطّ الزمني في البروفايل (3-ب) · صفحة «الفعاليات» (4-أ) · محدِّد الفعالية في طلب الحضور */
.evtl{position:relative;padding-inline-start:24px;display:flex;flex-direction:column;gap:14px}
.evtl::before{content:"";position:absolute;inset-block:6px;inset-inline-start:6px;width:2px;background:var(--line)}
.evtl .it{position:relative;display:flex;flex-direction:column;gap:2px}
.evtl .it::before{content:"";position:absolute;inset-inline-start:-22px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--c3);box-shadow:0 0 0 3px var(--solid)}
.evtl .it small{color:var(--mute);font-size:var(--t-xs)}
.evpage{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}
.evl .it{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:0;border-top:1px solid var(--line2);background:transparent;font:inherit;color:var(--ink);text-align:start;cursor:pointer}
.evl .it:hover{background:var(--row-hover)}
.evl .it.on{background:var(--pri-soft)}
.evl .it svg{width:16px;height:16px;flex:none;color:var(--c3)}
.evl .it small{margin-inline-start:auto;color:var(--mute);font-size:var(--t-xs);white-space:nowrap}
.evp-dd{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--menu);box-shadow:var(--sh-3);max-height:260px;overflow:auto;margin-top:4px}
.evp-dd button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:0;border-bottom:1px solid var(--line2);background:transparent;font:inherit;color:var(--ink);text-align:start;cursor:pointer}
.evp-dd button:hover{background:var(--row-hover)}
.evp-dd button small{margin-inline-start:auto;color:var(--mute);font-size:var(--t-xs)}
.evp-dd button.new{color:var(--pri);font-weight:var(--w-semi)}
.evp-dd svg{width:16px;height:16px;flex:none}
.evsel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field)}
.evsel svg{width:16px;height:16px;flex:none;color:var(--c3)}
@media (max-width:820px){.evpage{grid-template-columns:1fr}}
/* (الحزمة 138 — §5-ص130) «المنقطعون عن الحضور» + الجدول المرتَّب القابل للتحديد D.grid */
.absctl{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end}
.absctl .f{margin:0}
.absdays{display:inline-flex;align-items:center;gap:8px}
.absdays input{width:96px;text-align:center}
.dgrid th.dg-n,.dgrid td.dg-n{width:44px;text-align:center;color:var(--mute);font-size:var(--t-xs)}
.dgrid th.dg-c,.dgrid td.dg-c{width:36px;text-align:center}
.dgrid td.dg-c input,.dgrid th.dg-c input{width:auto;margin:0;cursor:pointer}
.dgrid tr.dg-on td{background:var(--pri-soft)}
.dgrid tbody tr{user-select:none}
.enc-st{display:flex;flex-direction:column;gap:6px}
.enc-st .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.htab.dgrid thead th{background:linear-gradient(var(--th-bg),var(--th-bg)),var(--solid);z-index:var(--z-raise)} /* الترويسة اللاصقة لا تشفّ فوق الصفوف عند التمرير: لون ترويسة الكسوة فوق أرضية مصمتة (--th-bg شفاف في «الخارطة») — خصوصية أعلى من :root[data-skin] th */
.dgrid .hwho{white-space:nowrap}

/* (الحزمة 139 — الجولة 55 «4-أ» + «بتمييز كبير عنه») «تقويم الميديا»: ترويسة «الاستوديو» بلون الميديا وحافّة شريط سينمائي · الشبكة كتقويم الأنشطة · لوحة جانبية */
.mcal{--mc:var(--c5);display:flex;flex-direction:column;gap:16px}
.mc-hero{position:relative;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--mc) 92%,var(--ink)),color-mix(in srgb,var(--mc) 62%,var(--c4)));color:var(--pri-ink);box-shadow:var(--sh-2)}
.mc-film{height:14px;background:color-mix(in srgb,var(--ink) 78%,transparent);-webkit-mask:repeating-linear-gradient(90deg,transparent 0 6px,var(--ink) 6px 16px,transparent 16px 22px);mask:radial-gradient(circle at 50% 50%,transparent 3px,var(--ink) 3.5px) 0 0/22px 14px repeat-x}
.mc-film.b{transform:scaleY(-1)}
.mc-hin{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 24px}
.mc-badge{width:56px;height:56px;border-radius:var(--r-lg);display:grid;place-items:center;background:color-mix(in srgb,var(--pri-ink) 18%,transparent);border:1px solid color-mix(in srgb,var(--pri-ink) 30%,transparent);flex:none}
.mc-badge svg{width:30px;height:30px}
.mc-ttl{flex:1 1 240px;min-width:0}
.mc-ttl small{font-size:var(--t-xs);opacity:.85;font-weight:var(--w-semi);letter-spacing:.02em}
.mc-ttl h2{margin:0;font-size:var(--t-xl);font-weight:var(--w-bold);line-height:1.25}
.mc-ttl p{margin:2px 0 0;font-size:var(--t-sm);opacity:.9}
.mc-kp{display:flex;gap:8px;flex-wrap:wrap}
.mc-kp span{display:flex;flex-direction:column;align-items:center;min-width:86px;padding:6px 12px;border-radius:var(--r);background:color-mix(in srgb,var(--pri-ink) 14%,transparent);font-size:var(--t-2xs)}
.mc-kp span b{font-size:var(--t-lg);font-weight:var(--w-bold);line-height:1.2}
.mc-kp span.ok{background:color-mix(in srgb,var(--ok) 34%,transparent)}
.mc-nav{display:flex;align-items:center;gap:6px}
.mc-nav b{min-width:140px;text-align:center}
.mc-nav .ibtn,.mc-nav .chip{background:color-mix(in srgb,var(--pri-ink) 16%,transparent);color:var(--pri-ink);border-color:color-mix(in srgb,var(--pri-ink) 26%,transparent)}
.mc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:16px;align-items:start}
.mc-main{padding:0;overflow:hidden;border-top:3px solid var(--mc)}
.mc-grid .day{min-height:104px;cursor:default}
.mc-grid .day.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--mc) 55%,transparent)}
.mc-grid .day.today .dn b{background:var(--mc);color:var(--pri-ink)}
.mc-cam{display:inline-flex;align-items:center;gap:2px;color:var(--mc);font-weight:var(--w-semi)}
.mc-cam svg{width:12px;height:12px}
.mc-bar{display:flex;align-items:center;gap:4px;width:100%;margin-top:4px;padding:2px 6px;border:0;border-inline-start:3px solid var(--c);border-radius:var(--r-sm);font:inherit;font-size:var(--t-2xs);color:var(--ink);cursor:pointer;text-align:start;background:linear-gradient(90deg,color-mix(in srgb,var(--ok) 18%,transparent) var(--p),color-mix(in srgb,var(--c) 14%,transparent) var(--p));transition:transform var(--d1) var(--ease),box-shadow var(--d1)}
.mc-bar:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.mc-bar.on{box-shadow:0 0 0 2px var(--mc)}
.mc-bar .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--w-semi)}
.mc-bar .ct{flex:none;color:var(--mute)}
.mc-bar.full .ct{color:var(--ok);font-weight:var(--w-bold)}
.mc-none{margin:0;padding:12px 16px}
.mc-side{padding:0;overflow:hidden;border-top:3px solid var(--c);position:sticky;top:calc(var(--top-h) + var(--sat) + 12px)}
.mc-empty{padding:16px}
.mc-sh{padding:14px 16px;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:6px}
.mc-sh h3{margin:0;font-size:var(--t-md);font-weight:var(--w-bold)}
.mc-trk{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-2xs);color:var(--mute);font-weight:var(--w-semi)}
.mc-trk i{width:10px;height:10px;border-radius:3px;background:var(--c)}
.mc-meta{font-size:var(--t-xs);color:var(--mute)}
.mc-days{display:flex;gap:6px;align-items:flex-start;font-size:var(--t-xs);color:var(--ink2)}
.mc-days svg{width:14px;height:14px;flex:none;margin-top:2px;color:var(--mc)}
.mc-prog{display:flex;flex-direction:column;gap:4px;font-size:var(--t-xs)}
.mc-prog .bar{display:block;height:8px;border-radius:999px;background:var(--grid2);overflow:hidden}
.mc-prog .bar i{display:block;height:100%;background:var(--ok);border-radius:999px;transition:width var(--d3) var(--ease)}
.mc-items{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px;max-height:62vh;overflow:auto}
.mc-it{border:1px solid var(--line2);border-radius:var(--r);overflow:hidden}
.mc-ih{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--field);flex-wrap:wrap}
.mc-k{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:var(--t-2xs);background:color-mix(in srgb,var(--mc) 16%,transparent);color:var(--mc)}
.mc-k svg{width:13px;height:13px}
.mc-x{font-weight:var(--w-bold)}
.mc-det{flex:1;min-width:0;font-size:var(--t-xs);color:var(--ink2)}
.mc-dn{margin-inline-start:auto;font-size:var(--t-2xs);color:var(--mute)}
.mc-ls{list-style:none;margin:0;padding:6px 10px 10px;display:flex;flex-direction:column;gap:6px}
.mc-ls li{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:var(--r-sm);border:1px dashed var(--line2)}
.mc-ls li.done{border-style:solid;border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 6%,transparent)}
.mc-ls label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:var(--w-semi);font-size:var(--t-xs)}
.mc-ls input{width:auto;margin:0;accent-color:var(--ok)}
.mc-w{display:inline-flex;align-items:center;gap:4px}
.mc-w svg{width:13px;height:13px;color:var(--mute)}
.mc-ls li.done .mc-w{text-decoration:line-through;color:var(--mute)}
.mc-ls p{margin:0;font-size:var(--t-xs);color:var(--ink2);padding-inline-start:24px}
.mc-ls small{display:inline-flex;align-items:center;gap:4px;padding-inline-start:24px;font-size:var(--t-2xs);color:var(--ok)}
.mc-ls small svg{width:12px;height:12px}
@media (max-width:1300px){.mc-body{grid-template-columns:1fr}.mc-side{position:static}}
@media (max-width:640px){.mc-hin{padding:12px 14px}.mc-kp span{min-width:70px}.mc-grid .day{min-height:64px}.mc-bar .nm{display:none}.mc-bar{justify-content:center}}
/* (الحزمة 139) طلب «حجوزات Study Zone» في نافذة الطلبات */
.zreq{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--line2);border-inline-start:3px solid var(--c2);border-radius:var(--r);background:var(--field)}
.zreq-h{display:flex;align-items:center;gap:10px}
.zreq-h > svg{width:22px;height:22px;color:var(--c2);flex:none}
.zreq-h > div{flex:1;min-width:0;display:flex;flex-direction:column}
.zreq-h small{color:var(--mute);font-size:var(--t-2xs)}

/* (الحزمة 140 — الجولة 56) «استقطاب الدفعات» */
.rc{display:flex;flex-direction:column;gap:16px}
.rc-head .f select{width:auto;min-width:160px}
.rc-wide{display:flex;white-space:normal;padding:8px 12px}
.rc-tabs{margin:0;padding:4px 10px}
.rc-run{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r);background:color-mix(in srgb,var(--c2) 10%,transparent);border:1px solid color-mix(in srgb,var(--c2) 30%,transparent)}
.rc-run > svg{width:20px;height:20px;color:var(--c2);flex:none}
.rc-run > div{flex:1;display:flex;flex-direction:column;gap:6px;font-size:var(--t-sm)}
.rc-run .bar,.rc-pbar{display:block;height:8px;border-radius:999px;background:var(--grid2);overflow:hidden}
.rc-run .bar i,.rc-pbar i{display:block;height:100%;background:var(--ok);border-radius:999px;transition:width var(--d3) var(--ease)}
.rc-pbar{height:12px}
.rc-pbar.run i{background:linear-gradient(90deg,var(--ok),color-mix(in srgb,var(--ok) 60%,var(--c2)))}
.rc-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line2)}
.rc-act .btn.ok{margin-inline-start:auto}
.rc-sum{display:inline-flex;gap:6px;flex-wrap:wrap}
.rc-sum.big .st{font-size:var(--t-sm);padding:6px 12px}
.rc-thr{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;font-size:var(--t-sm)}
.rc-thr input{width:86px;text-align:center;font-weight:var(--w-bold)}
.rc-scale{position:relative;flex:1 1 160px;height:10px;border-radius:999px;background:color-mix(in srgb,var(--warn) 28%,transparent);overflow:hidden;direction:ltr}
.rc-scale i{position:absolute;top:0;bottom:0}
.rc-scale i.r{left:0;background:color-mix(in srgb,var(--bad) 45%,transparent)}
.rc-scale i.g{right:0;background:color-mix(in srgb,var(--ok) 45%,transparent)}
.dgrid tr.za td.dg-n{border-inline-start:3px solid var(--ok)}
.dgrid tr.zr td.dg-n{border-inline-start:3px solid var(--bad)}
.dgrid tr.zm td.dg-n{border-inline-start:3px solid var(--warn)}
.rc-sc.za{color:var(--ok)}.rc-sc.zr{color:var(--bad)}
.rc-int{cursor:default;font-size:var(--t-2xs)}
.rc-tpl .rc-prev{padding:10px 12px;border-radius:var(--r);background:var(--field);border:1px dashed var(--line2);display:flex;flex-direction:column;gap:2px}
.rc-tpl .rc-prev small{color:var(--mute);font-size:var(--t-2xs)}
.rc-tpl .rc-prev p{margin:0;font-size:var(--t-sm);white-space:pre-wrap}
.rc-tph{font-weight:var(--w-semi);margin:12px 0 6px}
.rc-pp{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.rc-ans{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.rc-ans li{padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r)}
.rc-ans li b{display:block;font-size:var(--t-sm);margin-bottom:4px}
.rc-ans li div{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:var(--t-sm);color:var(--ink2)}
.rc-ans li div span{padding:2px 10px;border-radius:999px;background:var(--pri-soft)}
.rc-ans li em{font-style:normal;margin-inline-start:auto;font-weight:var(--w-bold);color:var(--pri)}
.rc-jh{display:flex;justify-content:space-between;gap:10px;font-size:var(--t-sm)}
.rc-jh .bad{color:var(--bad)}
.rc-log{margin:0;padding:0;list-style:none;max-height:300px;overflow:auto;border:1px solid var(--line2);border-radius:var(--r)}
.rc-log li{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line2);font-size:var(--t-xs);flex-wrap:wrap}
.rc-log li:last-child{border-bottom:0}
.rc-log li em{font-style:normal;margin-inline-start:auto}
.rc-set{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line2);border-radius:var(--r);margin-bottom:12px}
.rc-set h4{margin:0;display:flex;align-items:center;gap:8px;font-size:var(--t-md)}
.rc-set h4 svg{width:18px;height:18px;color:var(--c2)}
.rc-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dgrid td .latin{white-space:nowrap}

/* (الحزمة 141 — الجولة 57 «1-ب · 2-أ · 3-أ · 4-أ · 5-أ») الاستقطاب — المرحلة 2: المقابلات · النموذج بخطوات · حلقة العلامة الحيّة · القرار النهائي · الأرشيف · الإحصاء */
.rv-load{padding:16px;margin:0}
.rv-p0{margin:0}
.rv-asg{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.rv-ach{display:inline-flex;align-items:center;gap:6px}
.rv-ach svg{width:14px;height:14px}
.rv-ach .ibtn{width:22px;height:22px}
.rv-nm{cursor:pointer}
.rv-nm:hover,.rv-nm:focus-visible{color:var(--pri);text-decoration:underline}
.rv-live i{animation:rvPulse var(--d3) var(--ease) infinite alternate}
@keyframes rvPulse{to{opacity:.3}}
.rv-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:var(--h-sm);align-items:center}
.rv-cands{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow:auto;border:1px solid var(--line2);border-radius:var(--r);padding:6px}
.rv-cand{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);font:inherit;font-size:var(--t-sm);text-align:start;cursor:pointer}
.rv-cand:hover,.rv-cand:focus-visible{background:var(--pri-soft)}
.rv-cand svg{width:16px;height:16px;color:var(--pri);flex:none}
.rv-cand .chip{margin-inline-start:auto}
/* نموذج المقابلة — التوقيع: «حلقة العلامة الحيّة» بعلامتَي العتبتين */
.rv{display:flex;flex-direction:column;gap:12px}
.rv-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rv-sp{flex:1}
.rv-save{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);color:var(--mute)}
.rv-save svg{width:14px;height:14px;color:var(--ok)}
.rv-hero{position:relative;display:flex;align-items:center;gap:20px;padding:20px 24px;border-radius:var(--r-lg);overflow:hidden;border:1px solid color-mix(in srgb,var(--c2) 28%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--c2) 13%,var(--surface)) 0%,var(--surface) 62%);box-shadow:var(--sh-1)}
.rv-hero::after{content:"";position:absolute;inset-inline-end:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c2) 14%,transparent),transparent 70%);pointer-events:none}
.rv-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.rv-eyebrow{font-size:var(--t-2xs);color:var(--c2);font-weight:var(--w-semi)}
.rv-id h2{margin:0;font-size:var(--t-xl);font-weight:var(--w-bold);line-height:var(--lh-tight);color:var(--ink)}
.rv-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--t-sm);color:var(--ink2)}
.rv-meta b{color:var(--ink)}
.rv-stat{display:flex;gap:6px;flex-wrap:wrap}
.rv-score{position:relative;z-index:var(--z-raise);display:flex;align-items:center;gap:14px;flex:none}
.rv-ring{position:relative;width:112px;height:112px;flex:none}
.rv-ring svg{width:100%;height:100%;overflow:visible}
.rv-ring-t{fill:none;stroke:var(--grid2);stroke-width:10}
.rv-ring-v{fill:none;stroke:var(--c2);stroke-width:10;stroke-linecap:round;transform:rotate(-90deg);transform-origin:64px 64px;transition:stroke-dasharray var(--d3) var(--ease),stroke var(--d2) var(--ease)}
.rv-ring.za .rv-ring-v{stroke:var(--ok)}
.rv-ring.zm .rv-ring-v{stroke:var(--warn)}
.rv-ring.zr .rv-ring-v{stroke:var(--bad)}
.rv-tick{stroke-width:4;stroke-linecap:round}
.rv-tick.hi{stroke:var(--ok)}
.rv-tick.lo{stroke:var(--bad)}
.rv-ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:var(--lh-tight)}
.rv-ring-c b{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink)}
.rv-ring-c small{font-size:var(--t-2xs);color:var(--mute)}
.rv-ring-l{display:flex;flex-direction:column;gap:2px;max-width:140px}
.rv-ring-l b{font-size:var(--t-sm);color:var(--ink)}
.rv-ring-l small{font-size:var(--t-2xs);color:var(--mute)}
.rv-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:6px;border-radius:var(--r-lg);background:var(--surface2);border:1px solid var(--line2)}
.rv-steps button{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border:1px solid transparent;border-radius:var(--r);background:transparent;color:var(--ink2);font:inherit;text-align:start;cursor:pointer;transition:background var(--d1) var(--ease),border-color var(--d1) var(--ease)}
.rv-steps button:hover{background:var(--row-hover)}
.rv-steps button.on{background:var(--surface);border-color:color-mix(in srgb,var(--pri) 45%,var(--line2));color:var(--ink);box-shadow:var(--sh-1)}
.rv-sn{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:var(--t-xs);font-weight:var(--w-bold);background:var(--field);border:1px solid var(--line2);color:var(--ink2)}
.rv-sn svg{width:14px;height:14px}
.rv-steps button.ok .rv-sn{background:color-mix(in srgb,var(--ok) 16%,var(--surface));border-color:color-mix(in srgb,var(--ok) 45%,transparent);color:var(--ok)}
.rv-steps button.on .rv-sn{background:var(--pri);border-color:var(--pri);color:var(--pri-ink)}
.rv-sl{display:flex;flex-direction:column;min-width:0;font-size:var(--t-sm);font-weight:var(--w-semi);line-height:var(--lh-tight)}
.rv-sl small{font-size:var(--t-2xs);font-weight:var(--w-reg);color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-card{padding:0;overflow:visible}
.rv-sec{display:flex;flex-direction:column;gap:14px;padding:20px 24px}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.rv-ro{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r);background:var(--field);border:1px dashed var(--line2)}
.rv-ro small{font-size:var(--t-2xs);color:var(--mute)}
.rv-ro b{font-size:var(--t-sm);color:var(--ink)}
.rv-quote{margin:0;padding:12px 16px;border-inline-start:4px solid var(--c2);border-radius:var(--r-sm);background:color-mix(in srgb,var(--c2) 7%,transparent);font-size:var(--t-sm);color:var(--ink2);line-height:var(--lh-body)}
.rv-quote small{display:block;font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--c2);margin-bottom:2px}
.rv-crit{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.rv-crit li{display:flex;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--line2);border-radius:var(--r);transition:border-color var(--d1) var(--ease),background var(--d1) var(--ease)}
.rv-crit li.on{border-color:color-mix(in srgb,var(--pri) 30%,var(--line2));background:color-mix(in srgb,var(--pri) 4%,transparent)}
.rv-crit li > div:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-crit li b{font-size:var(--t-sm);color:var(--ink)}
.rv-crit li small{font-size:var(--t-xs);color:var(--mute)}
.rv-r5{display:inline-flex;gap:6px;flex:none;direction:ltr}
.rv-r5 button{--lv:var(--pri);width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--line2);background:var(--field);color:var(--ink2);font:inherit;font-size:var(--t-sm);font-weight:var(--w-bold);cursor:pointer;border-bottom:3px solid color-mix(in srgb,var(--lv) 60%,var(--line2));transition:transform var(--d1) var(--ease),background var(--d1) var(--ease),color var(--d1) var(--ease)}
.rv-r5 .l1{--lv:var(--bad)}
.rv-r5 .l2{--lv:color-mix(in srgb,var(--bad) 50%,var(--warn))}
.rv-r5 .l3{--lv:var(--warn)}
.rv-r5 .l4{--lv:color-mix(in srgb,var(--warn) 40%,var(--ok))}
.rv-r5 .l5{--lv:var(--ok)}
.rv-r5 button:hover:not(:disabled){transform:translateY(-2px)}
.rv-r5 button.on{background:var(--lv);border-color:var(--lv);color:var(--pri-ink);box-shadow:var(--sh-1)}
.rv-r5 button:disabled{cursor:default}
.rv-qs{display:flex;flex-direction:column;gap:12px}
.rv-q{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line2);border-radius:var(--r)}
.rv-q .chip{align-self:flex-start}
.rv-q p{margin:0;font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);line-height:var(--lh-body)}
.rv-q textarea{min-height:72px;resize:vertical}
.rv-ind{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.rv-ind li{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line2);border-radius:var(--r);font-size:var(--t-sm);color:var(--ink);transition:border-color var(--d1) var(--ease)}
.rv-ind li > span{flex:1;min-width:0}
.rv-ind li.y{border-color:color-mix(in srgb,var(--ok) 45%,var(--line2))}
.rv-ind li.n{border-color:color-mix(in srgb,var(--mute) 35%,var(--line2))}
.rv-ind .seg svg{width:14px;height:14px}
.rv-tgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.rv-tg{position:relative;display:flex;flex-direction:column;gap:6px}
.rv-tgl{font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink)}
.rv-tf{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:var(--h-ctl);padding:6px 8px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--field)}
.rv-tf:focus-within{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft)}
.rv-tf input{flex:1;min-width:120px;border:0;background:transparent;padding:2px 4px;box-shadow:none;min-height:0;height:auto}
.rv-tf input:focus{outline:0;box-shadow:none}
.rv-tag{display:inline-flex;align-items:center;gap:4px;background:var(--pri-soft);color:var(--ink)}
.rv-tag .ibtn{width:20px;height:20px}
.rv-tag .ibtn svg{width:12px;height:12px}
.rv-tag .ibtn,.rv-ach .ibtn{background:transparent;border:0;box-shadow:none;color:var(--ink2)}
.rv-tag .ibtn:hover,.rv-ach .ibtn:hover,.rv-tag .ibtn:focus-visible,.rv-ach .ibtn:focus-visible{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.rv-dd{position:absolute;top:100%;inset-inline:0;z-index:var(--z-pop);margin-top:4px;display:flex;flex-direction:column;max-height:260px;overflow:auto;background:var(--surface);border:1px solid var(--line2);border-radius:var(--r);box-shadow:var(--sh-2);padding:4px}
.rv-dd[hidden]{display:none}
.rv-dd button{display:flex;align-items:center;gap:6px;padding:8px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);font:inherit;font-size:var(--t-sm);text-align:start;cursor:pointer}
.rv-dd button.hl,.rv-dd button:hover{background:var(--pri-soft)}
.rv-dd button.add{color:var(--pri);font-weight:var(--w-semi)}
.rv-dd button svg{width:14px;height:14px}
.rv-h4{margin:4px 0 0;font-size:var(--t-md);color:var(--ink)}
.rv-recs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rv-recb{--rc:var(--ok);display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line2);border-radius:var(--r);background:var(--field);color:var(--ink);font:inherit;font-size:var(--t-sm);font-weight:var(--w-semi);text-align:start;cursor:pointer;transition:border-color var(--d1) var(--ease),background var(--d1) var(--ease)}
.rv-recb.warn{--rc:var(--warn)}
.rv-recb.bad{--rc:var(--bad)}
.rv-recb i{flex:none;width:14px;height:14px;border-radius:50%;border:2px solid var(--rc)}
.rv-recb.on{border-color:var(--rc);background:color-mix(in srgb,var(--rc) 12%,var(--surface))}
.rv-recb.on i{background:var(--rc)}
.rv-recb:disabled{cursor:default}
.rv-sum{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--r);background:var(--surface2);font-size:var(--t-sm);color:var(--ink2)}
.rv-sum b{font-size:var(--t-xl);color:var(--ink)}
.rv-foot{position:sticky;bottom:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:10px;padding:12px 24px;border-top:1px solid var(--line2);background:var(--surface);border-radius:0 0 var(--r-lg) var(--r-lg)}
.rc-rec{white-space:nowrap}
/* القرار النهائي · الأرشيف · الترحيل */
.rc-close-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rc-close-in > svg{width:28px;height:28px;color:var(--bad);flex:none}
.rc-close.done .rc-close-in > svg{color:var(--mute)}
.rc-close-in > div{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px}
.rc-carry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border-radius:var(--r);border:1px dashed color-mix(in srgb,var(--c2) 50%,var(--line2));background:color-mix(in srgb,var(--c2) 8%,transparent)}
.rc-carry > svg{width:22px;height:22px;color:var(--c2);flex:none}
.rc-carry > div{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px;font-size:var(--t-sm)}
.rc-carry small{color:var(--ink2);font-size:var(--t-xs)}
.rc-cl{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;border:1px solid var(--line2);border-radius:var(--r);padding:6px}
.rc-cl label{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r-sm);font-size:var(--t-sm);cursor:pointer}
.rc-cl label:hover{background:var(--row-hover)}
.rc-cl label .num{margin-inline-start:auto}
.rc-appr{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;border:1px solid var(--line2);border-radius:var(--r);background:var(--field);cursor:pointer}
.rc-appr span{display:flex;flex-direction:column;gap:2px;font-size:var(--t-sm)}
.rc-appr small{color:var(--mute);font-size:var(--t-xs)}
.rc-exc{margin-top:10px;padding:12px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--vio) 40%,var(--line2));background:color-mix(in srgb,var(--vio) 6%,transparent)}
.rc-exh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--t-sm)}
.rc-exh > svg{width:18px;height:18px;color:var(--vio)}
.rc-exh .seg{margin-inline-start:auto}
.rc-cus{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line2)}
.rc-nm{display:flex;flex-wrap:wrap;gap:4px}
/* الإحصاء (5-أ) — مبدأ التأشير */
.rcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rcs-box{display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 16px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface)}
.rcs-box.wide{grid-column:1 / -1}
.rcs-box h4{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:var(--t-sm);color:var(--ink)}
.rcs-box h4 small{font-size:var(--t-2xs);font-weight:var(--w-reg);color:var(--mute)}
.rcs-svg{width:100%;height:auto;max-height:230px;direction:ltr;overflow:visible}
.rcs-radar{max-height:300px}
.rcs-grid{fill:none;stroke:var(--grid2);stroke-width:1}
.rcs-ax{fill:var(--mute);font-size:var(--t-2xs);font-family:var(--font)}
.rcs-m{cursor:default;outline:0;transition:opacity var(--d1) var(--ease)}
.rcs-m.dim{opacity:.28}
.rcs-m.pre{fill:var(--c6)}
.rcs-m.ivw{fill:var(--c4)}
.rcs-m:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.rcs-thr{stroke-width:2;stroke-dasharray:4 4}
.rcs-thr.hi{stroke:var(--ok)}
.rcs-thr.lo{stroke:var(--bad)}
.rcs-thl{font-size:var(--t-2xs);font-family:var(--font);font-weight:var(--w-semi)}
.rcs-thl.hi{fill:var(--ok)}
.rcs-thl.lo{fill:var(--bad)}
.rcs-area{fill:color-mix(in srgb,var(--c4) 22%,transparent);stroke:var(--c4);stroke-width:2;stroke-linejoin:round}
.rcs-dot{fill:var(--c4);stroke:var(--surface);stroke-width:2}
.rcs-bars,.rcs-fun{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.rcs-bars li,.rcs-fun li{display:grid;grid-template-columns:minmax(120px,40%) 1fr auto;align-items:center;gap:10px;font-size:var(--t-xs);color:var(--ink2);padding:2px 4px;border-radius:var(--r-xs)}
.rcs-bars .t,.rcs-fun .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcs-bars li:hover,.rcs-bars li:focus-visible,.rcs-fun li:hover,.rcs-fun li:focus-visible{background:var(--row-hover)}
.rcs-bars .b,.rcs-fun .b{display:block;height:10px;border-radius:999px;background:var(--grid2);overflow:hidden;direction:ltr}
.rcs-fun .b{height:14px}
.rcs-bars .b i,.rcs-fun .b i{display:block;height:100%;border-radius:999px;background:var(--pri);transition:width var(--d3) var(--ease)}
.rcs .b i.ok{background:var(--ok)}
.rcs .b i.warn{background:var(--warn)}
.rcs .b i.bad{background:var(--bad)}
.rcs .b i.c1{background:var(--c1)}
.rcs .b i.c2{background:var(--c2)}
.rcs .b i.c4{background:var(--c4)}
.rcs .b i.c6{background:var(--c6)}
.rcs-bars .num,.rcs-fun .num{font-weight:var(--w-bold);color:var(--ink);min-width:40px;text-align:end}
.rcs-side{display:flex;gap:6px;flex-wrap:wrap}
.rcs-donut{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rcs-donut svg{width:180px;flex:none}
.rcs-ring0{stroke-width:22}
.rcs-arc{fill:none;stroke-width:22}
.rcs-arc.k-strong{stroke:var(--ok)}
.rcs-arc.k-yes{stroke:color-mix(in srgb,var(--ok) 55%,var(--c2))}
.rcs-arc.k-cond{stroke:var(--warn)}
.rcs-arc.k-no{stroke:var(--bad)}
.rcs-big{fill:var(--ink);font-size:var(--t-xl);font-weight:var(--w-bold);font-family:var(--font)}
.rcs-leg{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:var(--t-xs);color:var(--ink2)}
.rcs-leg li{display:flex;align-items:center;gap:8px}
.rcs-leg i{width:12px;height:12px;border-radius:var(--r-xs)}
.rcs-leg i.k-strong{background:var(--ok)}
.rcs-leg i.k-yes{background:color-mix(in srgb,var(--ok) 55%,var(--c2))}
.rcs-leg i.k-cond{background:var(--warn)}
.rcs-leg i.k-no{background:var(--bad)}
.rcs-none{display:flex;align-items:center;justify-content:center;gap:8px;min-height:140px;border:1px dashed var(--line2);border-radius:var(--r-sm);color:var(--mute);font-size:var(--t-xs);text-align:center;padding:12px}
.rcs-none svg{width:18px;height:18px}
.rcs-tip{position:fixed;z-index:var(--z-toast);pointer-events:none;max-width:280px;padding:6px 10px;border-radius:var(--r-sm);background:var(--ink);color:var(--surface);font-size:var(--t-xs);line-height:var(--lh-body);box-shadow:var(--sh-2)}
.rcs-tip[hidden]{display:none}
@media (max-width:820px){
  .rcs{grid-template-columns:1fr}
  .rv-recs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .rv-hero{flex-direction:column;align-items:stretch;padding:16px}
  .rv-score{justify-content:flex-start}
  .rv-steps{display:flex;overflow-x:auto;scrollbar-width:none}
  .rv-steps button{flex:none}
  .rv-steps button:not(.on) .rv-sl{display:none}
  .rv-sec{padding:16px}
  .rv-crit li{flex-direction:column;align-items:stretch;gap:10px}
  .rv-r5{justify-content:space-between}
  .rv-r5 button{flex:1;width:auto}
  .rv-ind li{flex-direction:column;align-items:stretch}
  .rv-foot{position:static;padding:12px 16px} /* زرّ «+» العائم يغطّي الشريط اللاصق على الهاتف */
  .rcs-bars li,.rcs-fun li{grid-template-columns:minmax(90px,42%) 1fr auto}
}
@media (prefers-reduced-motion:reduce){
  .rv-live i{animation:none}
  .rv-ring-v,.rcs-m,.rcs .b i{transition:none}
}
/* (الحزمة 141) تفاصيل عملية الإشعار التجريبي */
.rc-trace{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:var(--r)}
.rc-trace[hidden]{display:none}
.rc-trace li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--line2);font-size:var(--t-xs)}
.rc-trace li:last-child{border-bottom:0}
.rc-trace li small{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}
.rc-trace li em{font-style:normal;margin-inline-start:auto}
.rc-trace li.fail{background:color-mix(in srgb,var(--bad) 6%,transparent)}
/* (الحزمة 142 — الجولة 58 «1-أ · 2-أ · 3-أ · 4-أ · 5-أ · 6-ب») نموذج المقابلة: أيقونات دلالية · بطاقة «المعيار + سؤاله» · «سلّم الدرجة» · أيام التفرغ · المؤشرات خانات · «تجربة النموذجين» */
.rv-ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.rv-ti{--tc:var(--pri);display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--tc) 13%,var(--surface));color:var(--tc);flex:none}
.rv-ti.sm{width:28px;height:28px;border-radius:var(--r-xs)}
.rv-ti.sm .rv-ic{width:16px;height:16px}
.rv-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.rv-ro{flex-direction:row;align-items:center;gap:10px}
.rv-ro > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-fi > span{display:inline-flex;align-items:center;gap:8px}
/* أيام التفرغ (2-أ): رقائق الأيام ثم لكل يوم صباحاً · مساءً · كلاهما */
.rv-avail{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface2)}
.rv-avh{display:flex;align-items:center;gap:10px}
.rv-avh > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-avh b{font-size:var(--t-sm);color:var(--ink)}
.rv-avh small{font-size:var(--t-xs);color:var(--mute)}
.rv-days{display:flex;flex-wrap:wrap;gap:6px}
.rv-dchip{display:inline-flex;align-items:center;gap:6px;min-height:var(--h-sm);padding:4px 14px;border:1px solid var(--line2);border-radius:999px;background:var(--surface);color:var(--ink2);font:inherit;font-size:var(--t-sm);font-weight:var(--w-semi);cursor:pointer;transition:background var(--d1) var(--ease),border-color var(--d1) var(--ease),color var(--d1) var(--ease)}
.rv-dchip:hover:not(:disabled){border-color:color-mix(in srgb,var(--c4) 50%,var(--line2))}
.rv-dchip.on{background:color-mix(in srgb,var(--c4) 14%,var(--surface));border-color:var(--c4);color:var(--ink)}
.rv-dchip:disabled{cursor:default}
.rv-dsel{display:flex;flex-direction:column;gap:6px}
.rv-drow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 10px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line2)}
.rv-drow b{min-width:72px;font-size:var(--t-sm);color:var(--ink)}
.rv-drow .seg button{display:inline-flex;align-items:center;gap:4px}
.rv-drow .seg .rv-ic{width:14px;height:14px}
.rv-dsum{font-size:var(--t-xs);color:var(--mute)}
/* بطاقة «المعيار + سؤاله» (1-أ بالتسلسل): رأس المعيار ⇐ السؤال ⇐ الملاحظات ⇐ الدرجة */
.rv-mcs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.rv-mc{--tc:var(--pri);display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line2);border-inline-start:4px solid color-mix(in srgb,var(--tc) 45%,var(--line2));border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--d2) var(--ease)}
.rv-mc.on{border-color:color-mix(in srgb,var(--tc) 32%,var(--line2));border-inline-start-color:var(--tc)}
.rv-mc-h{display:flex;align-items:center;gap:12px}
.rv-mc-h > div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-mc-h b{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink)}
.rv-mc-h small{font-size:var(--t-xs);color:var(--mute);line-height:var(--lh-body)}
.rv-mc-q{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r);background:color-mix(in srgb,var(--tc) 7%,var(--surface2))}
.rv-mc-qi{display:grid;place-items:center;flex:none;color:var(--tc);padding-top:2px}
.rv-mc-q > div{min-width:0}
.rv-mc-q small{display:block;font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--mute)}
.rv-mc-q p{margin:2px 0 0;font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);line-height:var(--lh-body)}
.rv-mc textarea{min-height:60px;resize:vertical}
.rv-mc-noq{padding:10px 12px;border:1px dashed var(--line2);border-radius:var(--r);font-size:var(--t-xs);color:var(--mute)}
.rv-mc-f{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px dashed var(--line2)}
.rv-mc-f > small{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--mute)}
/* «سلّم الدرجة» (الحزمة 142): خمس درجات متصاعدة الارتفاع تمتلئ حتى المختارة بلون المعيار وتشتدّ مع العلوّ — والوصف اللفظي بجانبها */
.rv-sv{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rv-sv-s{display:inline-flex;align-items:flex-end;gap:6px;direction:ltr;padding:6px 10px;border-radius:var(--r);background:color-mix(in srgb,var(--tc) 5%,var(--field));border:1px solid color-mix(in srgb,var(--tc) 16%,var(--line2))}
.rv-st{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;width:40px;height:64px;padding:0;border:0;background:transparent;color:var(--mute);font:inherit;cursor:pointer}
.rv-st i{display:block;width:100%;border-radius:var(--r-xs) var(--r-xs) 2px 2px;background:color-mix(in srgb,var(--tc) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--tc) 28%,transparent);transform-origin:50% 100%;transition:background var(--d2) var(--ease),border-color var(--d2) var(--ease),transform var(--d2) var(--ease)}
.rv-st.s1 i{height:12px}
.rv-st.s2 i{height:19px}
.rv-st.s3 i{height:27px}
.rv-st.s4 i{height:35px}
.rv-st.s5 i{height:44px}
.rv-st b{font-size:var(--t-xs);font-weight:var(--w-semi);line-height:var(--lh-tight);transition:color var(--d1) var(--ease)}
.rv-st.f i{border-color:transparent}
.rv-st.f.s1 i{background:color-mix(in srgb,var(--tc) 52%,var(--surface))}
.rv-st.f.s2 i{background:color-mix(in srgb,var(--tc) 64%,var(--surface))}
.rv-st.f.s3 i{background:color-mix(in srgb,var(--tc) 76%,var(--surface))}
.rv-st.f.s4 i{background:color-mix(in srgb,var(--tc) 88%,var(--surface))}
.rv-st.f.s5 i{background:var(--tc)}
.rv-st.on i{transform:scaleY(1.08)}
.rv-st.on b{color:var(--tc);font-weight:var(--w-bold)}
.rv-sv-s.pv .rv-st i{background:color-mix(in srgb,var(--tc) 12%,var(--surface));border-color:color-mix(in srgb,var(--tc) 28%,transparent)}
.rv-sv-s.pv .rv-st.p i{background:color-mix(in srgb,var(--tc) 42%,var(--surface));border-color:transparent}
.rv-sv-s.pv .rv-st.p b{color:var(--ink)}
.rv-st:focus-visible{outline:2px solid var(--tc);outline-offset:2px;border-radius:var(--r-xs)}
.rv-st:disabled{cursor:default}
.rv-sv-l{display:inline-flex;align-items:baseline;gap:6px;min-width:110px;font-size:var(--t-sm);color:var(--mute)}
.rv-sv-l.has{color:var(--ink);font-weight:var(--w-semi)}
.rv-sv-l b{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--tc)}
.rv-sv-l.in{animation:rvSvIn var(--d2) var(--ease)}
@keyframes rvSvIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
/* المؤشرات (3-أ): خانات تأشير — غير المؤشَّر = 0 */
.rv-icbs{display:flex;flex-direction:column;gap:8px}
.rv-icb{--tc:var(--ok);display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-sm);text-align:start;cursor:pointer;transition:border-color var(--d1) var(--ease),background var(--d1) var(--ease)}
.rv-icb:hover:not(:disabled){border-color:color-mix(in srgb,var(--tc) 45%,var(--line2))}
.rv-icb:disabled{cursor:default}
.rv-bx{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:var(--r-xs);border:2px solid var(--line);transition:background var(--d1) var(--ease),border-color var(--d1) var(--ease)}
.rv-bx .rv-ic{width:14px;height:14px;stroke:var(--pri-ink);stroke-width:3;opacity:0;transform:scale(.4);transition:opacity var(--d1) var(--ease),transform var(--d2) var(--ease)}
.rv-icb.on{border-color:color-mix(in srgb,var(--ok) 50%,var(--line2));background:color-mix(in srgb,var(--ok) 6%,var(--surface))}
.rv-icb.on .rv-bx{background:var(--ok);border-color:var(--ok)}
.rv-icb.on .rv-bx .rv-ic{opacity:1;transform:none}
.rv-icb .t{flex:1;min-width:0;line-height:var(--lh-body)}
.rv-icb-p{font-size:var(--t-xs);color:var(--ok);opacity:0;transition:opacity var(--d1) var(--ease)}
.rv-icb.on .rv-icb-p{opacity:1}
.rv-meter{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink2)}
.rv-meter i{width:22px;height:8px;border-radius:999px;background:var(--grid2);transition:background var(--d2) var(--ease)}
.rv-meter i.on{background:var(--ok)}
.rv-meter b{color:var(--ink)}
/* التقييم النهائي: أيقونة كل حقل وكل توصية */
.rv-tgl{display:inline-flex;align-items:center;gap:8px}
.rv-recb.r-yes{--rc:color-mix(in srgb,var(--ok) 60%,var(--c2))}
.rv-recb-i{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--rc) 14%,var(--surface));color:var(--rc);transition:background var(--d1) var(--ease),color var(--d1) var(--ease)}
.rv-recb-i .rv-ic{width:16px;height:16px}
.rv-recb.on .rv-recb-i{background:var(--rc);color:var(--pri-ink)}
/* «تجربة النموذجين» */
.rv-atabs{margin:0 0 12px}
.rv-sbx{display:flex;flex-direction:column;gap:12px}
.rv-sbx-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--r);border:2px dashed color-mix(in srgb,var(--warn) 55%,transparent);background:color-mix(in srgb,var(--warn) 9%,var(--surface));color:var(--ink)}
.rv-sbx-bar > .rv-ic{width:24px;height:24px;color:var(--warn)}
.rv-sbx-bar > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-sbx-bar b{font-size:var(--t-sm)}
.rv-sbx-bar small{font-size:var(--t-xs);color:var(--ink2)}
.rv-sbx-frame{display:block;width:100%;height:78vh;min-height:520px;border:1px solid var(--line2);border-radius:var(--r-lg);background:var(--bg)}
.rv-demo-r{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.rv-demo-l{flex:1;min-width:220px;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.rv-demo-l li{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--t-sm);color:var(--ink)}
.rv-demo-l li > span{color:var(--mute)}
@media (max-width:640px){
  .rv-mc-f{flex-direction:column;align-items:stretch}
  .rv-sv{flex-direction:column;align-items:stretch;gap:8px}
  .rv-sv-s{display:flex}
  .rv-st{flex:1;width:auto}
  .rv-mc{padding:14px}
  .rv-drow b{min-width:0;flex:1 1 100%}
  .rv-sbx-frame{height:72vh}
}
@media (prefers-reduced-motion:reduce){
  .rv-st i,.rv-bx,.rv-bx .rv-ic,.rv-meter i,.rv-mc,.rv-dchip,.rv-icb{transition:none}
  .rv-sv-l.in{animation:none}
}
/* (الحزمة 143 — قرار الجولة 59 «1-ب · 2-أ») «المنزلق» بلون المعيار: مسار بخمس محطات · مقبض يحمل الرقم وينزلق بحركة نابضة · الامتلاء حتى المقبض */
.rv-sld{position:relative;direction:ltr;width:320px;max-width:100%;padding:18px 18px 8px;border-radius:var(--r);background:color-mix(in srgb,var(--tc) 5%,var(--field));border:1px solid color-mix(in srgb,var(--tc) 16%,var(--line2));cursor:pointer;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:0;transition:border-color var(--d1) var(--ease)}
.rv-sld:hover:not([aria-disabled]){border-color:color-mix(in srgb,var(--tc) 40%,var(--line2))}
.rv-sld:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 35%,transparent)}
.rv-sld[aria-disabled]{cursor:default}
.rv-sld-t{position:relative;height:8px;border-radius:999px;background:color-mix(in srgb,var(--tc) 14%,var(--surface))}
.rv-sld-f{position:absolute;top:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 45%,var(--surface)),var(--tc));transition:width var(--d3) cubic-bezier(.3,1.3,.5,1)}
.rv-sld-d{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid color-mix(in srgb,var(--tc) 35%,var(--line));transform:translate(-50%,-50%);transition:background var(--d2) var(--ease),border-color var(--d2) var(--ease)}
.rv-sld-d.f{background:var(--tc);border-color:var(--tc)}
.rv-sld-h{position:absolute;top:50%;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--tc);color:var(--surface);font-size:var(--t-sm);font-weight:var(--w-bold);transform:translate(-50%,-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--tc) 20%,transparent);transition:left var(--d3) cubic-bezier(.3,1.3,.5,1),transform var(--d2) var(--ease),opacity var(--d2) var(--ease),box-shadow var(--d2) var(--ease)}
.rv-sld.none .rv-sld-h{opacity:0;transform:translate(-50%,-50%) scale(.4)}
.rv-sld.drag .rv-sld-h{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 0 6px color-mix(in srgb,var(--tc) 24%,transparent);transition:left var(--d1) var(--ease),transform var(--d1) var(--ease),box-shadow var(--d1) var(--ease)}
.rv-sld.drag .rv-sld-f{transition:width var(--d1) var(--ease)}
.rv-sld-n{position:relative;height:18px;margin-top:14px}
.rv-sld-n span{position:absolute;top:0;transform:translateX(-50%);font-size:var(--t-2xs);color:var(--mute);transition:color var(--d1) var(--ease)}
.rv-sld-n span.on{color:var(--tc);font-weight:var(--w-bold)}
.rv-sld-w{display:flex;justify-content:space-between;font-size:var(--t-2xs);color:var(--mute)}
@media (max-width:640px){
  .rv-sld{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .rv-sld-f,.rv-sld-d,.rv-sld-h,.rv-sld-n span{transition:none}
}
/* (الحزمة 144) فئة الحساب · أسماء الفئات · «ترميم بيانات المتطوعين» */
.rc-acct{white-space:nowrap;background:color-mix(in srgb,var(--c4) 12%,var(--surface));color:var(--ink)}
.rc-acl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.rc-rep{display:flex;flex-direction:column;gap:12px}
.rcr-empty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:120px;padding:16px;border:1px dashed var(--line2);border-radius:var(--r);color:var(--mute);font-size:var(--t-sm);text-align:center}
.rcr-empty svg{width:20px;height:20px;flex:none}
.rcr-sum{display:flex;flex-wrap:wrap;gap:6px}
.rcr-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rcr-list{display:flex;flex-direction:column;gap:8px;max-height:56vh;overflow:auto;padding-inline-end:4px}
.rcr-r{border:1px solid var(--line2);border-inline-start:4px solid var(--line);border-radius:var(--r);background:var(--surface);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.rcr-r.diff{border-inline-start-color:var(--c2)}
.rcr-r.mismatch,.rcr-r.error{border-inline-start-color:var(--bad)}
.rcr-r.nocode{border-inline-start-color:var(--mute)}
.rcr-r header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--t-sm)}
.rcr-ds{display:flex;flex-direction:column;gap:4px}
.rcr-d{display:grid;grid-template-columns:auto 84px minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);font-size:var(--t-xs);color:var(--ink2);cursor:pointer;transition:background var(--d1) var(--ease)}
.rcr-d:hover{background:var(--row-hover)}
.rcr-d.on{background:color-mix(in srgb,var(--c2) 8%,transparent)}
.rcr-d b{color:var(--ink);font-weight:var(--w-semi)}
.rcr-d .cur{color:var(--mute);overflow-wrap:anywhere}
.rcr-d .cur i{font-style:normal;opacity:.7}
.rcr-d .off{color:var(--ink);font-weight:var(--w-semi);overflow-wrap:anywhere}
.rcr-d .ar svg{width:14px;height:14px;color:var(--mute)}
.rcr-d.change .cur{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--warn) 60%,transparent)}
.rcr-note{margin:0;font-size:var(--t-xs);color:var(--ink2)}
@media (max-width:640px){
  .rcr-d{grid-template-columns:auto minmax(0,1fr) auto;grid-auto-rows:auto}
  .rcr-d .cur,.rcr-d .ar,.rcr-d .off{grid-column:2 / 4}
  .rcr-d .ar{display:none}
}
/* (الحزمة 145 — بلاغ المالك) ارتجاف الواجهة على الهاتف أثناء الكتابة: النافذة كانت في وسط الشاشة فيُعاد توسيطها مع كل تغيّر في ارتفاع لوحة المفاتيح
   (شريط الاقتراحات يظهر ويختفي أثناء الكتابة) ⇒ على الهاتف تُثبَّت النافذة في الأعلى وتقصر من أسفلها فقط · الشريط السفلي وزرّ «+» يختفيان أثناء الكتابة
   · الحقول الصغيرة 16 بكسل على اللمس (iOS يكبّر الصفحة عند لمس حقل أصغر) — ومعها interactive-widget في index.html وignoreMobileResize في motion.js */
@media (max-width:640px){
  .ov{place-items:start center;padding:calc(10px + var(--sat)) 10px calc(10px + var(--sab))}
  .md{max-height:100%}
  body:has(:is(input:not([type=checkbox]):not([type=radio]),textarea,select,[contenteditable=true]):focus) .bnav,
  body:has(:is(input:not([type=checkbox]):not([type=radio]),textarea,select,[contenteditable=true]):focus) .fab{display:none}
}
@media (hover:none) and (pointer:coarse){
  .items-t input,.items-t select,select.chip,.nve select,.rv-tf input{font-size:var(--t-md)}
}
/* (الحزمة 145 — قرار الجولة 60 «1-ب · 2-أ · 3-أ · 4-أ») «نماذج التقييم»: بطاقات في مكانها · نوع الجواب بقائمة أيقونات · حبّة نقاط · مسودة ثم نشر */
/* (الحزمة 171 — طلب المالك «أن يتم ملء الصفحة بالكامل») .fe اسم مشترك مع سطر «سجلّ الأحداث» في المهام (حشو · خلفية · خطّ جانبي · align-items:flex-start)
   فكان المحرّر يرث منه ويضيق عن عرض الصفحة، وكان سطر السجلّ يرث من المحرّر عموداً ⇒ قواعد المحرّر على .fe-page وحده */
.fe.fe-page{display:flex;flex-direction:column;gap:12px;align-items:stretch;padding:0;background:none;border:0;font-size:inherit;width:100%}
.fe-ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fe-ti{--tc:var(--pri);display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--tc) 13%,var(--surface));color:var(--tc);flex:none}
.fe-ti.sm{width:28px;height:28px;border-radius:var(--r-xs)}
.fe-ti.sm .fe-ic{width:16px;height:16px}
.fe-hc{position:sticky;top:var(--top-h);z-index:var(--z-sticky);padding:10px 14px}
.fe-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fe-kind button{display:inline-flex;align-items:center;gap:6px}
.fe-kind svg{width:16px;height:16px}
.fe-st{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:var(--t-xs);font-weight:var(--w-semi);background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--ink)}
.fe-st .fe-ic{width:14px;height:14px;color:var(--ok)}
.fe-st.draft{background:color-mix(in srgb,var(--warn) 14%,var(--surface))}
.fe-st.draft .fe-ic{color:var(--warn)}
.fe-max{font-size:var(--t-xs);color:var(--mute)}
.fe-max b{font-size:var(--t-md);color:var(--ink)}
.fe-chk{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);border-radius:999px;padding:4px 10px;background:var(--surface);font:inherit;font-size:var(--t-xs);font-weight:var(--w-semi);cursor:pointer}
.fe-chk .fe-ic{width:14px;height:14px}
.fe-chk.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line2))}
.fe-chk.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--line2))}
.fe-acts{display:flex;gap:6px;flex-wrap:wrap}
.fe-body{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:12px;align-items:start}
.fe-cards{display:flex;flex-direction:column;gap:10px;min-width:0}
.fe-rail{position:sticky;top:calc(var(--top-h) + 76px);display:flex;flex-direction:column;gap:4px;padding:6px}
.fe-rail button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink2);font:inherit;font-size:var(--t-2xs);cursor:pointer;transition:background var(--d1) var(--ease),color var(--d1) var(--ease)}
.fe-rail button:hover,.fe-rail button:focus-visible{background:var(--pri-soft);color:var(--pri)}
.fe-card,.fe-q,.fe-sec{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface);cursor:pointer;transition:border-color var(--d1) var(--ease),box-shadow var(--d1) var(--ease)}
.fe-card:hover,.fe-q:hover,.fe-sec:hover{border-color:color-mix(in srgb,var(--pri) 35%,var(--line2))}
.fe-card:focus-visible,.fe-q:focus-visible,.fe-sec:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.fe-card.on,.fe-q.on{flex-direction:column;align-items:stretch;gap:10px;cursor:default;border-color:var(--pri);border-inline-start:4px solid var(--pri);box-shadow:0 0 0 3px var(--pri-soft)}
.fe-q.on{border-inline-start-color:var(--tc,var(--pri))}
.fe-ch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fe-ch b{font-size:var(--t-md)}
.fe-ch small{color:var(--mute);font-size:var(--t-xs)}
.fe-pv{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fe-pv b{font-size:var(--t-sm);font-weight:var(--w-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fe-pv small{font-size:var(--t-xs);color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fe-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fe-n0{max-width:220px}
.fe-group{display:flex;flex-direction:column;gap:6px}
.fe-sec{--tc:var(--pri);background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 11%,var(--surface)),var(--surface) 70%);border-inline-start:4px solid var(--tc)}
.fe-sec.on{flex-wrap:wrap;cursor:default;border-color:var(--tc);box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 18%,transparent)}
.fe-grow{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px}
.fe-big{font-weight:var(--w-bold)}
.fe-cnt,.fe-mx{flex:none;font-size:var(--t-xs);color:var(--mute)}
.fe-mx b{color:var(--ink)}
.fe-w{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute)}
.fe-grip{display:grid;place-items:center;flex:none;width:22px;height:28px;border-radius:var(--r-xs);color:var(--mute);cursor:grab;touch-action:none}
.fe-grip:hover{background:var(--surface2);color:var(--ink)}
.fe-drag{position:relative;z-index:var(--z-raise3);opacity:.92;box-shadow:var(--sh-2);cursor:grabbing}
.fe-drop{outline:2px dashed var(--pri);outline-offset:2px}
.fe-qs{display:flex;flex-direction:column;gap:6px;padding-inline-start:18px}
.fe-n{flex:none;min-width:26px;height:26px;padding:0 6px;border-radius:var(--r-xs);display:grid;place-items:center;font-size:var(--t-xs);font-weight:var(--w-bold);background:var(--surface2);color:var(--ink2)}
.fe-q.on .fe-n{background:var(--tc,var(--pri));color:var(--pri-ink)}
.fe-qh{display:flex;align-items:flex-start;gap:8px}
.fe-qt{flex:1;min-height:56px;font-weight:var(--w-semi);resize:vertical}
.fe-ax{flex:1}
.fe-ops{display:flex;flex-direction:column;gap:6px}
.fe-op{display:flex;align-items:center;gap:8px}
.fe-op input{flex:1;min-width:0}
.fe-mk{flex:none;width:16px;height:16px;border:2px solid var(--line);border-radius:50%}
.fe-mk.sq{border-radius:var(--r-xs)}
.fe-pts{display:inline-flex;align-items:center;gap:2px;flex:none;padding:2px;border:1px solid var(--line2);border-radius:999px;background:var(--field)}
.fe-pts button{width:26px;height:26px;border:0;border-radius:50%;background:var(--surface2);color:var(--ink);font:inherit;font-weight:var(--w-bold);cursor:pointer}
.fe-pts button:hover{background:var(--pri-soft);color:var(--pri)}
.fe-pts b{min-width:28px;text-align:center;font-size:var(--t-sm);color:var(--ink)}
.fe-pts.p0 b{color:var(--mute)}
.fe-pts.p1 b{color:var(--bad)}
.fe-pts.p2 b{color:var(--warn)}
.fe-pts.p4 b,.fe-pts.p5 b{color:var(--ok)}
.fe-add{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 12px;border:1px dashed color-mix(in srgb,var(--pri) 45%,var(--line));border-radius:var(--r-sm);background:transparent;color:var(--pri);font:inherit;font-size:var(--t-sm);font-weight:var(--w-semi);cursor:pointer}
.fe-add:hover{background:var(--pri-soft)}
.fe-add.sm{padding:4px 10px;font-size:var(--t-xs)}
.fe-hint{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px dashed var(--line2);border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--mute)}
.fe-extra{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface2)}
.fe-inl{max-width:170px}
.fe-sw{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);color:var(--ink2);min-height:var(--h-ctl)}
.fe-qf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px dashed var(--line2);font-size:var(--t-xs);color:var(--mute)}
.fe-qf b{color:var(--ink)}
.fe-req{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--pri) 10%,var(--surface));color:var(--ink2);font-weight:var(--w-semi)}
.fe-req .fe-ic{width:12px;height:12px}
.fe-ctl{display:inline-flex;gap:4px}
.fe-ctl .ibtn{width:30px;height:30px}
.fe-ctl .ibtn.bad:hover{color:var(--bad)}
.fe-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute)}
.fe-link select{min-height:var(--h-sm);padding:2px 8px;font-size:var(--t-sm)}
.fe-empty{margin:0;padding:8px 12px;border:1px dashed var(--line2);border-radius:var(--r-sm);font-size:var(--t-xs);color:var(--mute)}
.fe-sh{margin:14px 0 2px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:var(--t-md);color:var(--ink)}
.fe-sh small{font-size:var(--t-xs);font-weight:var(--w-reg)}
.fe-recs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.fe-rk{display:inline-block;padding:0 8px;border-radius:999px;font-size:var(--t-2xs)}
.fe-rk.strong,.fe-rk.yes{background:color-mix(in srgb,var(--ok) 14%,var(--surface))}
.fe-rk.cond{background:color-mix(in srgb,var(--warn) 14%,var(--surface))}
.fe-rk.no{background:color-mix(in srgb,var(--bad) 12%,var(--surface))}
.fe-lookw{padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface2)}
.fe-look{display:flex;flex-direction:column;gap:8px}
.fe-icons,.fe-cols{display:flex;flex-wrap:wrap;gap:4px}
.fe-icons button{display:grid;place-items:center;width:32px;height:32px;border:1px solid transparent;border-radius:var(--r-xs);background:var(--surface);color:var(--ink2);cursor:pointer}
.fe-icons button.on{border-color:var(--pri);color:var(--pri);background:var(--pri-soft)}
.fe-cols button{width:26px;height:26px;border-radius:50%;border:2px solid var(--surface);background:var(--tc);cursor:pointer;box-shadow:0 0 0 1px var(--line2)}
.fe-cols button.on{box-shadow:0 0 0 2px var(--ink)}
/* نوع الجواب (2-أ): زرّ بأيقونة النوع واسمه ⇐ قائمة مجموعات */
.fe-dd{position:relative;flex:none}
.fe-ddb{display:inline-flex;align-items:center;gap:8px;min-width:190px;min-height:var(--h-ctl);padding:4px 10px 4px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field);color:var(--ink);font:inherit;font-size:var(--t-sm);cursor:pointer}
.fe-ddb > .fe-ic{margin-inline-start:auto;color:var(--mute);width:16px;height:16px}
.fe-ddm{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:var(--z-pop);display:none;flex-direction:column;width:290px;max-height:min(420px,60vh);overflow:auto;padding:6px;border:1px solid var(--line);border-radius:var(--r);background:var(--menu);box-shadow:var(--shadow-lg)}
.fe-dd.open .fe-ddm{display:flex}
.fe-ddi{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);font:inherit;text-align:start;cursor:pointer}
.fe-ddi:hover,.fe-ddi:focus-visible,.fe-ddi.on{background:var(--surface2)}
.fe-ddi span{display:flex;flex-direction:column;line-height:var(--lh-tight)}
.fe-ddi b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.fe-ddi small{font-size:var(--t-2xs);color:var(--mute)}
.fe-ddsep{height:1px;margin:4px 6px;background:var(--line2)}
.fe-hist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.fe-hist li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);font-size:var(--t-sm)}
.fe-hist li.on{border-color:color-mix(in srgb,var(--ok) 45%,var(--line2))}
.fe-h4{display:flex;align-items:center;gap:6px;margin:12px 0 6px;font-size:var(--t-sm)}
.fe-h4.bad{color:var(--bad)}
.fe-h4.warn{color:var(--warn)}
.fe-list{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:4px;font-size:var(--t-sm);color:var(--ink2)}
@media (max-width:820px){
  .fe-body{grid-template-columns:1fr}
  .fe-rail{position:static;flex-direction:row;justify-content:center;order:-1}
  .fe-grid2{grid-template-columns:1fr}
}
@media (max-width:640px){
  .fe-qh{flex-wrap:wrap}
  .fe-ddb{min-width:0;width:100%}
  .fe-dd{width:100%}
  .fe-ddm{width:100%}
  .fe-qs{padding-inline-start:6px}
  .fe-hc{position:static}
}
@media (prefers-reduced-motion:reduce){
  .fe-card,.fe-q,.fe-sec,.fe-rail button{transition:none}
}
/* أزرار المحرّر الصغيرة (الترتيب · النسخ · الحذف) ومفتاح التشغيل — هادئة داخل البطاقة */
.fe .ibtn{--ic:var(--ink2);width:30px;height:30px;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--line);color:var(--ink2);box-shadow:none}
.fe .ibtn:hover:not(:disabled){background:var(--surface2);color:var(--ink)}
.fe .ibtn.bad:hover:not(:disabled){color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}
.fe .ibtn:disabled{opacity:.4;cursor:default}
.fe .ibtn .fe-ic{width:16px;height:16px}
.fe-op .ibtn{width:28px;height:28px}
.fe .sw{position:relative;flex:none;width:38px;height:22px;padding:0;border:0;border-radius:999px;background:var(--line);cursor:pointer;transition:background var(--d1) var(--ease)}
.fe .sw::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;border-radius:50%;background:var(--solid);box-shadow:var(--sh-1);transition:inset-inline-start var(--d1) var(--ease)}
.fe .sw.on{background:var(--ok)}
.fe .sw.on::after{inset-inline-start:19px}
.fe .sw:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
/* ---------------- (الحزمة 146 — الجولة 61 «1-أ · 2-ب · 3-أ») «إرسال الإشعارات» تحت «إدارة المعلومات» ---------------- */
.bc{display:grid;gap:16px}
.bc-lay{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
@media (max-width:1300px){.bc-lay{grid-template-columns:minmax(0,1fr) 260px}}
@media (max-width:820px){.bc-lay{grid-template-columns:1fr}}
.bc-form .ch{flex-wrap:wrap}
.bc-aud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bc-aud button{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink2);cursor:pointer;font:inherit;font-size:var(--t-sm);text-align:start;transition:border-color var(--d1),background var(--d1)}
.bc-aud button svg.ic{width:18px;height:18px;color:var(--tc);flex:none}
.bc-aud button b{margin-inline-start:auto;font-weight:var(--w-semi);color:var(--ink)}
.bc-aud button:hover{border-color:var(--line-hi)}
.bc-aud button.on{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,transparent);color:var(--ink);font-weight:var(--w-semi)}
@media (max-width:640px){.bc-aud{grid-template-columns:1fr}}
.bc-nar{display:grid;gap:10px;padding:12px;border:1px dashed var(--line-hi);border-radius:var(--r-sm);background:var(--surface2)}
.bc-nl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm)}
.bc-nl svg.ic{width:16px;height:16px;color:var(--c4);flex:none}
.bc-ng{display:grid;gap:6px}
.bc-ng>small{font-size:var(--t-2xs);color:var(--mute);font-weight:var(--w-semi)}
.bc-chips{display:flex;flex-wrap:wrap;gap:6px}
.bc-chips .chip b{font-weight:var(--w-semi)}
.bc-cnt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--ok) 10%,transparent);font-size:var(--t-sm)}
.bc-cnt svg.ic{width:16px;height:16px;color:var(--ok);flex:none}
.bc-cnt b{font-size:var(--t-md);color:var(--ink)}
.bc-cnt.zero{background:color-mix(in srgb,var(--warn) 12%,transparent)}
.bc-cnt.zero svg.ic{color:var(--warn)}
.bc-go{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bc-prev{display:grid;gap:12px;position:sticky;top:76px}
@media (max-width:820px){.bc-prev{position:static}}
.bc-ph{width:100%;max-width:280px;margin-inline:auto;border:8px solid #000;border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden;background:#000}
.bc-ph-in{min-height:400px;padding:10px 12px 18px;background:linear-gradient(165deg,var(--stage-a),var(--stage-b) 55%,var(--stage-c));color:#fff;display:flex;flex-direction:column;gap:6px}
.bc-ph-top{display:flex;align-items:center;justify-content:space-between;font-size:var(--t-2xs);font-weight:var(--w-semi)}
.bc-ph-isl{width:72px;height:18px;border-radius:999px;background:#000}
.bc-ph-sig{display:inline-flex;align-items:flex-end;gap:2px}
.bc-ph-sig i{display:block;width:4px;border-radius:1px;background:#fff}
.bc-ph-sig i:nth-child(1){height:6px}.bc-ph-sig i:nth-child(2){height:8px}.bc-ph-sig i:nth-child(3){height:10px}
.bc-ph-clock{text-align:center;font-size:var(--t-xl);font-weight:var(--w-reg);margin-top:18px;line-height:1.1}
.bc-ph-date{text-align:center;font-size:var(--t-2xs);opacity:.8;margin-bottom:12px}
.bc-pn{background:rgba(255,255,255,.88);color:rgba(0,0,0,.86);border-radius:var(--r);padding:10px 12px;box-shadow:var(--sh-2);display:grid;gap:2px;animation:pop var(--d3) var(--ease) backwards}
.bc-pn-h{display:flex;align-items:center;gap:6px;font-size:var(--t-2xs)}
.bc-pn-h small{font-size:var(--t-2xs);color:rgba(0,0,0,.55)}
.bc-pn-ap{width:20px;height:20px;border-radius:var(--r-xs);display:grid;place-items:center;background:var(--pri2);color:#fff}
.bc-pn-ap svg.ic{width:12px;height:12px}
.bc-pn-t{font-size:var(--t-sm);font-weight:var(--w-semi);overflow-wrap:anywhere}
.bc-pn-b{font-size:var(--t-xs);line-height:1.5;color:rgba(0,0,0,.72);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.bc-bell{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-1)}
.bc-bell>small{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:var(--t-2xs);color:var(--mute);border-bottom:1px solid var(--line2)}
.bc-bell>small svg.ic{width:13px;height:13px}
.bc-bell .notif{cursor:default}
.bc-bb{font-size:var(--t-xs);color:var(--ink2);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bc-lk{display:flex;align-items:center;gap:6px;padding:0 12px;font-size:var(--t-2xs);color:var(--pri)}
.bc-lk:not(:empty){padding:8px 12px}
.bc-lk svg.ic{width:13px;height:13px}
.bc-tbl td{vertical-align:top}
.bc-hb{font-size:var(--t-xs);max-width:360px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bc-hl{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-2xs);color:var(--pri);margin-top:2px}
.bc-hl svg.ic{width:12px;height:12px}
.bc-rd{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-size:var(--t-xs);padding:4px 6px;border-radius:var(--r-xs);white-space:nowrap}
.bc-rd:hover{background:var(--field)}
.bc-rd-l{margin-top:8px;cursor:default;padding:0}
.bc-rd-l:hover{background:transparent}
.bc-bar{display:inline-block;width:80px;height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.bc-bar i{display:block;height:100%;background:var(--ok);border-radius:999px}
.bc-un{display:grid;gap:2px;max-height:50vh;overflow:auto}
.bc-un>div{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:6px 8px;border-bottom:1px solid var(--line2)}

/* ---------------- (الحزمة 146 — الجولة 61 «4-ب · 5-ب» + طلب المالك) نافذة شرح المشاركة في تنظيم فعالية — عرض متحرّك بواجهة جهاز المتطوع ---------------- */
.evt{display:grid;gap:12px}
.evt-lead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm)}
.evt-dev{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--c3) 14%,transparent);color:var(--ink);font-weight:var(--w-semi);font-size:var(--t-xs)}
.evt-dev svg.ic{width:14px;height:14px;color:var(--c3)}
.evt-host{display:flex;justify-content:center;min-height:120px}
.evt-stage{position:relative;overflow:hidden;border-radius:var(--r);border:1px solid var(--line);background:var(--solid);box-shadow:var(--sh-2);flex:none}
.evt-stage.m{border:6px solid #000;border-radius:var(--r-lg);box-sizing:content-box}
.evt-scr{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none;user-select:none;background-color:var(--bg);background-image:var(--bg-img);color:var(--ink);font-family:var(--font);font-size:var(--t-sm);line-height:1.5;overflow:hidden}
.evt-scr svg.ic{width:16px;height:16px;flex:none}
.evt-scr .sp,.evt-tot .sp{flex:1}
.evt-d{width:980px;height:600px;display:flex}
.evt-m{width:360px;height:660px;display:flex;flex-direction:column}
.evt-side{width:204px;flex:none;background:var(--side-bg);color:var(--side-ink);border-inline-end:1px solid var(--side-line);padding:16px 10px;display:flex;flex-direction:column;gap:2px}
.evt-brand{display:flex;align-items:center;gap:8px;padding:0 6px 12px;font-size:var(--t-md)}
.evt-brand span{width:28px;height:28px;border-radius:var(--r-xs);display:grid;place-items:center;background:var(--side-on);color:var(--side-on-ink,#fff)}
.evt-gl{font-size:var(--t-2xs);opacity:.7;padding:6px 10px 4px}
.evt-nv{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:var(--w-med);transition:background var(--d2) var(--ease)}
.evt-nv.on{background:var(--side-on);color:var(--side-on-ink,#fff);font-weight:var(--w-semi)}
:root[data-skin=map] .evt-nv,:root[data-skin=neo] .evt-nv{border-radius:999px}
:root[data-skin=hero] .evt-nv.on{background:var(--pri-soft);color:var(--pri)}
.evt-main{flex:1;min-width:0;display:flex;flex-direction:column}
.evt-top{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--top-bg2);color:var(--top-ink);border-bottom:1px solid var(--top-line);font-size:var(--t-md)}
.evt-top b{font-weight:var(--w-bold)}
.evt-srch{display:inline-flex;align-items:center;gap:6px;min-width:180px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-size:var(--t-xs);opacity:.7}
.evt-av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c4) 20%,transparent);color:var(--c4);flex:none}
.evt-av.sm{width:28px;height:28px}
.evt-body{flex:1;min-height:0;padding:16px 20px;position:relative}
.evt-page{display:none;gap:12px}
.evt-page.evt-on{display:grid;animation:pop var(--d3) var(--ease) backwards}
.evt-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}
.evt-hero{display:flex;align-items:center;gap:12px;padding:16px}
.evt-hero>div{flex:1;display:grid;gap:6px}
.evt-bar{height:8px;border-radius:999px;background:var(--line);overflow:hidden}
.evt-bar i{display:block;width:62%;height:100%;background:var(--c4);border-radius:999px}
.evt-ghost{display:grid;gap:10px;padding:16px}
.evt-ghost i{display:block;height:12px;border-radius:999px;background:var(--line)}
.evt-ghost i:nth-child(2){width:70%}.evt-ghost i:nth-child(3){width:45%}
.evt-ch{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line2);background:color-mix(in srgb,var(--c2) 8%,transparent)}
.evt-ch svg.ic{color:var(--c2)}
.evt-mu{color:var(--mute);font-size:var(--t-xs)}
.evt-cb2{display:grid;gap:8px;padding:12px 14px}
.evt-row,.evt-new{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);font-size:var(--t-xs)}
.evt-new{display:none;border-color:var(--c3);background:color-mix(in srgb,var(--c3) 8%,transparent)}
.evt-new.evt-on{display:flex;animation:pop var(--d3) var(--ease) backwards}
.evt-chip{padding:2px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}
.evt-st{padding:2px 8px;border-radius:var(--r-xs);font-weight:var(--w-med)}
.evt-st.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}
.evt-st.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}
.evt-st.vio{color:var(--vio);background:color-mix(in srgb,var(--vio) 12%,transparent)}
/* النافذة داخل المشهد */
.evt-ov{position:absolute;inset:0;z-index:var(--z-raise2);display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.36);opacity:0;visibility:hidden;transition:opacity var(--d2) var(--ease),visibility var(--d2)}
.evt-ov.evt-on{opacity:1;visibility:visible}
.evt-md{position:relative;width:540px;max-height:560px;display:flex;flex-direction:column;background:var(--solid);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:visible;transform:scale(.94);transition:transform var(--d3) var(--ease)}
.evt-ov.evt-on .evt-md{transform:none}
.evt-mh{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line2);font-size:var(--t-md)}
.evt-mh svg.ic:first-child{color:var(--c2)}
.evt-mb{flex:1;min-height:0;overflow:auto;padding:14px 16px;display:grid;gap:10px;align-content:start;scrollbar-width:none}
.evt-mb::-webkit-scrollbar{display:none}
.evt-mf{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line2)}
.evt-f{display:grid;gap:4px;font-size:var(--t-xs);color:var(--ink2);font-weight:var(--w-med)}
.evt-f small{color:var(--mute)}
.evt-in{display:flex;align-items:center;gap:8px;min-height:var(--h-ctl);padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field);color:var(--ink);font-size:var(--t-sm);font-weight:var(--w-reg);transition:border-color var(--d1),box-shadow var(--d1),transform var(--d1)}
.evt-in .ph,.evt-in [data-evq].ph{color:var(--mute)}
.evt-sel b{flex:1;font-weight:var(--w-reg)}
.evt-ta{min-height:52px}
.evt-hint{font-size:var(--t-xs);color:var(--mute);line-height:1.5}
.evt-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field);justify-self:start}
.evt-seg i{font-style:normal;padding:2px 10px;border-radius:var(--r-sm);font-size:var(--t-xs);color:var(--ink2);transition:background var(--d2),color var(--d2)}
.evt-seg i.on{background:var(--solid);color:var(--ink);font-weight:var(--w-semi);box-shadow:var(--shadow)}
.evt-scr [data-vol],.evt-scr [data-orgw],.evt-scr [data-orgbox],.evt-scr [data-actf],.evt-scr [data-evsel],.evt-scr [data-t="ev"]{display:none}
.evt-scr [data-vol].evt-on,.evt-scr [data-actf].evt-on{display:grid}
.evt-scr [data-orgw].evt-on,.evt-scr [data-orgbox].evt-on{display:grid;gap:8px;animation:pop var(--d3) var(--ease) backwards}
.evt-scr [data-t="ev"].evt-on{display:flex}
.evt-cb{display:inline-flex;align-items:center;gap:8px;font-weight:var(--w-semi);color:var(--ink);font-size:var(--t-sm);padding:4px 6px;border-radius:var(--r-xs);justify-self:start;transition:transform var(--d1)}
.evt-cb>i{width:18px;height:18px;border-radius:var(--r-xs);border:2px solid var(--line-hi);display:grid;place-items:center;color:transparent;transition:background var(--d2),border-color var(--d2),color var(--d2)}
.evt-cb>i svg.ic{width:12px;height:12px}
.evt-cb.on>i{background:var(--pri);border-color:var(--pri);color:var(--pri-ink)}
.evt-evsel{align-items:center;gap:8px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--c3) 45%,transparent);border-radius:var(--r-sm);background:color-mix(in srgb,var(--c3) 8%,transparent)}
.evt-evsel.evt-on{display:flex;animation:pop var(--d3) var(--ease) backwards}
.evt-evsel svg.ic{color:var(--c3)}
.evt-evsel b{flex:1}
.evt-caret{display:none;width:2px;height:18px;background:var(--pri);animation:evt-blink var(--d3) steps(1) infinite alternate}
.evt-caret.evt-on{display:block}
@keyframes evt-blink{50%{opacity:0}}
.evt-dd{display:none;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--solid);box-shadow:var(--sh-2);overflow:hidden}
.evt-dd.evt-on{display:flex;animation:pop var(--d2) var(--ease) backwards}
.evt-dd span{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:var(--t-sm);border-bottom:1px solid var(--line2)}
.evt-dd span small{margin-inline-start:auto;color:var(--mute);font-size:var(--t-2xs)}
.evt-dd span.new{color:var(--pri);border-bottom:0}
.evt-dd span:first-child{background:var(--pri-soft)}
.evt-ent{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;align-items:end}
.evt-dur{min-width:44px;padding-bottom:8px;text-align:center;font-weight:var(--w-semi);color:var(--ink)}
.evt-tot{display:flex;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--mute)}
.evt-tot b{color:var(--ink);font-size:var(--t-sm)}
/* القائمة المنسدلة (الحاسوب) */
.evt-ddl{position:absolute;top:128px;inset-inline:16px;z-index:var(--z-raise3);display:flex;flex-direction:column;background:var(--solid);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity var(--d2),transform var(--d2) var(--ease),visibility var(--d2)}
.evt-ddl.evt-on{opacity:1;visibility:visible;transform:none}
.evt-ddl span{padding:6px 14px;font-size:var(--t-sm)}
.evt-ddl span:first-child{background:var(--pri-soft)}
.evt-ddl span[data-t="opt"].prs,.evt-sheet span[data-t="opt"].prs{background:var(--pri);color:var(--pri-ink)}
/* مؤشّر الفأرة (الحاسوب) ولمسة الإصبع (الهاتف) */
.evt-cur{position:absolute;top:0;left:0;z-index:var(--z-raise3);width:22px;height:22px;transition:opacity var(--d2)}
.evt-cur svg{width:22px;height:22px;fill:#fff;stroke:#000;stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.evt-cur i{position:absolute;top:-10px;left:-10px;width:24px;height:24px;border-radius:50%;border:2px solid var(--pri);opacity:0}
.evt-cur.evt-go i{animation:evt-ring var(--d3) var(--ease)}
.evt-cur.evt-hide{opacity:0}
@keyframes evt-ring{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.6)}}
.evt-tap{position:absolute;z-index:var(--z-raise3);width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--pri) 30%,transparent);border:2px solid color-mix(in srgb,var(--pri) 70%,transparent);opacity:0;pointer-events:none}
.evt-tap.evt-go{animation:evt-tapk var(--d3) var(--ease) 2 alternate}
@keyframes evt-tapk{0%{opacity:0;transform:scale(1.4)}100%{opacity:1;transform:scale(.8)}}
.evt-scr .prs{transform:scale(.96)}
.evt-scr .evt-hl{outline:3px solid var(--c3);outline-offset:2px;border-radius:var(--r-sm)}
.evt-toast{position:absolute;bottom:24px;left:50%;z-index:var(--z-raise3);display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--r);background:var(--solid);border:1px solid color-mix(in srgb,var(--ok) 50%,transparent);box-shadow:var(--shadow-lg);font-size:var(--t-sm);font-weight:var(--w-semi);opacity:0;transform:translate(-50%,12px);transition:opacity var(--d3),transform var(--d3) var(--ease)}
.evt-toast svg.ic{color:var(--ok)}
.evt-toast.evt-on{opacity:1;transform:translate(-50%,0)}
/* الهاتف: شريط الحالة · الشريط السفلي · الزرّ العائم · النافذة أعلى الشاشة · القائمة من أسفل · لوحة المفاتيح */
.evt-m .evt-top{padding:10px 14px;font-size:var(--t-md)}
.evt-m .evt-body{padding:12px;overflow:hidden}
.evt-m .evt-ch{flex-wrap:wrap}
.evt-m .evt-ch .btn{width:100%;justify-content:center}
.evt-sb{display:flex;align-items:center;justify-content:space-between;padding:8px 18px 4px;font-size:var(--t-2xs);font-weight:var(--w-semi);background:var(--top-bg2);color:var(--top-ink)}
.evt-isl{width:84px;height:20px;border-radius:999px;background:#000}
.evt-sig{display:inline-flex;align-items:flex-end;gap:2px}
.evt-sig i{display:block;width:4px;border-radius:1px;background:currentColor}
.evt-sig i:nth-child(1){height:6px}.evt-sig i:nth-child(2){height:8px}.evt-sig i:nth-child(3){height:10px}
.evt-bn{position:absolute;left:10px;right:10px;bottom:12px;height:58px;display:flex;align-items:center;justify-content:space-around;padding:0 6px;border-radius:var(--r-lg);background:var(--bnav-bg);border:1px solid var(--bnav-line);box-shadow:var(--shadow-lg);transition:transform var(--d3) var(--ease)}
.evt-bn span{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding:4px 0;border-radius:var(--r-sm);color:var(--mute);transition:transform var(--d1)}
.evt-bn span small{font-size:var(--t-2xs)}
.evt-bn span svg.ic{width:21px;height:21px;opacity:.55}
.evt-bn span.on{color:var(--pri);background:var(--pri-soft);font-weight:var(--w-semi)}
.evt-bn span.on svg.ic{opacity:1;color:var(--pri)}
.evt-fab{position:absolute;inset-inline-end:16px;bottom:82px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(130% 130% at 30% 20%,color-mix(in srgb,var(--vio) 72%,#fff),var(--vio) 55%,var(--pri2));box-shadow:var(--sh-2);transition:transform var(--d3) var(--ease)}
.evt-scr.kb .evt-bn,.evt-scr.kb .evt-fab{transform:translateY(160px)}
.evt-m .evt-ov{place-items:start center;padding:10px}
.evt-m .evt-md{width:100%;max-height:640px;transform:translateY(-16px)}
.evt-m .evt-ov.evt-on .evt-md{transform:none}
.evt-m .evt-ent{grid-template-columns:1fr 1fr;align-items:end}
.evt-m .evt-ent>.evt-f:first-child{grid-column:1/-1}
.evt-m .evt-dur{grid-column:1/-1;text-align:start;padding:0}
.evt-m .evt-mf .btn{flex:1;justify-content:center}
.evt-scr.kb .evt-md{max-height:368px}
.evt-sheet{position:absolute;left:0;right:0;bottom:0;z-index:var(--z-raise3);display:flex;flex-direction:column;padding:8px 0 18px;background:var(--solid);border-top:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-lg);transform:translateY(105%);transition:transform var(--d3) var(--ease)}
.evt-sheet.evt-on{transform:none}
.evt-shh{padding:8px 20px 10px;font-weight:var(--w-semi);font-size:var(--t-md);border-bottom:1px solid var(--line2)}
.evt-sheet span{display:flex;align-items:center;gap:12px;padding:8px 20px;font-size:var(--t-sm)}
.evt-sheet span i{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-hi);flex:none}
.evt-sheet span:first-of-type i{border:6px solid var(--pri)}
.evt-kb{position:absolute;left:0;right:0;bottom:0;z-index:var(--z-raise3);display:grid;gap:8px;padding:10px 4px 18px;background:var(--surface2);border-top:1px solid var(--line);transform:translateY(105%);transition:transform var(--d3) var(--ease)}
.evt-kb.evt-on{transform:none}
.evt-kb>div{display:flex;justify-content:center;gap:4px}
.evt-kb i{display:block;width:30px;height:38px;border-radius:var(--r-xs);background:var(--solid);box-shadow:var(--sh-1)}
.evt-kb i.w{width:46px}
.evt-kb i.sp2{width:160px}
/* النافذة الخارجية: الشرح والتحكّم */
.evt-cap{display:flex;align-items:flex-start;gap:10px;min-height:52px;padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--c3) 8%,transparent);border:1px solid color-mix(in srgb,var(--c3) 30%,transparent);font-size:var(--t-sm);line-height:1.6}
.evt-n{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--c3);color:#fff;font-size:var(--t-2xs);font-weight:var(--w-bold)}
.evt-ctl{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.evt-ctl .sp{flex:1}
.evt-nx svg.ic{transform:scaleX(-1)}
[dir=ltr] .evt-nx svg.ic{transform:none}
[dir=ltr] [data-prev] svg.ic{transform:scaleX(-1)}
.evt-dots{display:flex;align-items:center;gap:6px}
.evt-dots button{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:var(--line-hi);cursor:pointer;transition:width var(--d2) var(--ease),background var(--d2)}
.evt-dots button.on{width:26px;background:var(--c3)}
.evt-note{display:flex;align-items:flex-start;gap:8px;font-size:var(--t-xs);color:var(--warn)}
.evt-note svg.ic{width:16px;height:16px;flex:none;margin-top:2px}
@media (max-width:820px){.evt-ovr .md{width:100%}.evt-cap{min-height:72px}.evt{gap:10px}}
@media (max-width:640px){.evt-lead>.muted{display:none}.evt-ctl .btn>span{display:none}}
/* رابط الشرح في صفحة الحضور (جواب 2) */
.evt-how{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 12px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--c3) 40%,transparent);border-radius:var(--r);background:linear-gradient(90deg,color-mix(in srgb,var(--c3) 12%,transparent),color-mix(in srgb,var(--c3) 4%,transparent));color:var(--ink);font:inherit;text-align:start;cursor:pointer;transition:border-color var(--d1),transform var(--d2) var(--ease)}
.evt-how:hover{border-color:var(--c3)}
.evt-how>svg.ic{width:22px;height:22px;color:var(--c3);flex:none}
.evt-how>svg.ic:last-child{width:18px;height:18px;margin-inline-start:auto}
.evt-how span{display:grid;gap:2px}
.evt-how b{font-weight:var(--w-semi);font-size:var(--t-sm)}
.evt-how small{font-size:var(--t-xs);color:var(--mute)}
@media (prefers-reduced-motion:reduce){.evt-cur,.evt-tap{display:none}}
.evt-tip{position:absolute;z-index:var(--z-raise3);padding:4px 10px;border-radius:var(--r-xs);background:var(--ink);color:var(--solid);font-size:var(--t-xs);font-weight:var(--w-semi);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,-100%);transition:opacity var(--d2)}
.evt-tip.evt-on{opacity:1}
/* ---------------- (الحزمة 147 — الجولة 62) الاستقطاب: التأكيد بالأرقام · النقل الحرّ · إعادة الإرسال · الأعلى N · سجلّ المتقدّم ---------------- */
.rc-cf{display:grid;gap:8px}
.rc-cfl{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:var(--r-sm);background:var(--field);font-size:var(--t-sm);line-height:1.6;--cc:var(--mute)}
.rc-cfl>i{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--cc)}
.rc-cfl.st-ok{--cc:var(--ok);background:color-mix(in srgb,var(--ok) 9%,transparent)}
.rc-cfl.st-bad{--cc:var(--bad);background:color-mix(in srgb,var(--bad) 9%,transparent)}
.rc-cfl.st-warn{--cc:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent)}
.rc-cfl.st-info{--cc:var(--pri);background:color-mix(in srgb,var(--pri) 8%,transparent)}
.rc-cfl.st-vio{--cc:var(--vio);background:color-mix(in srgb,var(--vio) 9%,transparent)}
.rc-cfl b{font-weight:var(--w-bold);color:var(--ink)}
.rc-dst{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.rc-dst button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink2);font:inherit;font-size:var(--t-sm);cursor:pointer;transition:border-color var(--d1),background var(--d1)}
.rc-dst button svg.ic{width:20px;height:20px;color:var(--c4)}
.rc-dst button:hover:not(:disabled){border-color:var(--line-hi)}
.rc-dst button.on{border-color:var(--c4);background:color-mix(in srgb,var(--c4) 12%,transparent);color:var(--ink);font-weight:var(--w-semi)}
.rc-dst button:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:640px){.rc-dst{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rc-accq{margin-top:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);border-radius:var(--r);background:color-mix(in srgb,var(--warn) 8%,transparent)}
.rc-top{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:var(--t-xs);color:var(--ink2)}
.rc-top input{width:64px;min-height:var(--h-sm);padding:2px 8px;font-size:var(--t-sm);text-align:center}
.rc-hist{margin-top:12px}
.rc-hist ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rc-hist li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-inline-start:3px solid var(--c4);background:var(--field);border-radius:var(--r-xs);font-size:var(--t-sm)}
.rc-hist li small{flex-basis:100%;color:var(--mute);font-size:var(--t-xs)}
/* ---------------- (الحزمة 150 — الجولة 64 «1-ب · 2-ج · 3-ب · 4-أ · 5-ب · 6-أ · 7-أ») مشروع «EngiPath» في مسار المشاريع ---------------- */
.ep{display:grid;gap:16px;min-width:0}
.ep-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ep-head h2,.ep-mh h2{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-lg);font-weight:var(--w-bold)}
.ep-head h2 svg.ic,.ep-mh h2 svg.ic{width:24px;height:24px;color:var(--trk-projects)}
.ep-head p{margin:4px 0 0;font-size:var(--t-sm)}
.ep-hact{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ep-file{cursor:pointer}
.ep-testbar,.ep-warn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r-sm);font-size:var(--t-sm)}
.ep-testbar{background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px dashed color-mix(in srgb,var(--warn) 55%,transparent)}
.ep-testbar svg.ic{width:18px;height:18px;color:var(--warn);flex:none}
.ep-testbar span{flex:1;min-width:200px}
.ep-warn{background:color-mix(in srgb,var(--bad) 8%,transparent);color:var(--ink2)}
.ep-warn svg.ic{width:16px;height:16px;color:var(--bad);flex:none}
.ep-warn span{flex:1;min-width:0}
p.ep-warn{margin:0}
.ep-tabs{margin-bottom:0}
/* المتقدمون: الرقاقات والبحث */
.ep-tool{display:grid;gap:10px}
.ep-chips{display:flex;flex-wrap:wrap;gap:6px}
.ep-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink2);font:inherit;font-size:var(--t-xs);cursor:pointer;transition:border-color var(--d1),background var(--d1)}
.ep-chip i{width:8px;height:8px;border-radius:50%;background:var(--cc);flex:none}
.ep-chip b{font-weight:var(--w-semi);color:var(--ink)}
.ep-chip:hover{border-color:var(--line-hi)}
.ep-chip.on{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 12%,transparent);color:var(--ink);font-weight:var(--w-semi)}
.ep-tool2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ep-tool2 input[type=search]{flex:1;min-width:180px;max-width:360px}
/* 2-ج الجدول + اللوحة الجانبية (تحت الجدول تحت 820) */
.ep-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
@media (max-width:1300px){.ep-split{grid-template-columns:minmax(0,1fr) 300px}}
@media (max-width:820px){.ep-split{grid-template-columns:1fr}}
.ep-left{display:grid;gap:10px;min-width:0}
.ep-left>*,.ep-side>*{min-width:0} /* عناصر الشبكة لا تفرض عرض الجدول الجوهري — الجدول يتمرّر داخل عموده */
.ep-left .tw{max-height:68vh}
.ep-left .dgrid tbody tr{cursor:pointer}
.ep-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--solid);position:sticky;bottom:8px;z-index:var(--z-sticky);box-shadow:var(--sh-1)}
.ep-act .sp{flex:1}
.ep-side{position:sticky;top:76px;display:grid;gap:10px;padding:14px;border:1px solid var(--card-line);border-radius:var(--r);background:var(--card-bg);box-shadow:var(--shadow);max-height:calc(100vh - 96px);overflow:auto;min-width:0}
@media (max-width:820px){.ep-side{position:static;max-height:none}}
.ep-nm{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:160px}
.ep-nm b{font-weight:var(--w-semi)}
.ep-nm small{font-size:var(--t-2xs);color:var(--mute)}
.ep-uni{display:grid;gap:2px;font-size:var(--t-xs);min-width:140px}
.ep-uni small{font-size:var(--t-2xs);color:var(--mute)}
.ep-sc{display:inline-grid;grid-template-columns:auto minmax(48px,1fr);align-items:center;gap:8px;min-width:96px}
.ep-sc b{font-weight:var(--w-bold);font-size:var(--t-sm)}
.ep-sc i{display:block;height:6px;border-radius:999px;background:var(--field);overflow:hidden}
.ep-sc em{display:block;height:100%;border-radius:inherit;background:var(--ok)}
.ep-sc.big{grid-template-columns:auto auto minmax(48px,1fr);gap:6px}
.ep-sc.big b{font-size:var(--t-xl)}
.ep-sc.big small{font-size:var(--t-xs);color:var(--mute)}
.ep-sc.big i{height:8px}
.ep-cat{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--ink);background:color-mix(in srgb,var(--cc) 14%,transparent);white-space:nowrap}
.ep-cat::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cc);flex:none}
.ep-flag{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--r-xs);font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);white-space:nowrap}
.ep-flag.ep-vol{color:var(--vio);background:color-mix(in srgb,var(--vio) 12%,transparent)}
.ep-flag.ep-rec{color:var(--pri);background:color-mix(in srgb,var(--pri) 13%,transparent)}
/* 3-ب المميَّزون أعلى الجدول بلا فاصل: خلفية خفيفة وخطّ في عمود الترقيم */
.dgrid tr.ep-pin td{background:color-mix(in srgb,var(--vio) 6%,transparent)}
.dgrid tr.ep-pin td.dg-n{border-inline-start:3px solid var(--vio)}
.dgrid tr.ep-cur td{background:color-mix(in srgb,var(--pri) 12%,transparent)}
.ep-sh{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ep-sh b{font-size:var(--t-md);font-weight:var(--w-bold)}
.ep-sh small{font-size:var(--t-xs);color:var(--mute);margin-inline-start:auto}
.ep-scb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.ep-scb .ep-sc{flex:1;min-width:160px}
.ep-catsel select{width:100%}
.ep-sub{margin:0;font-size:var(--t-xs)}
.ep-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0;font-size:var(--t-xs)}
.ep-dl dt{color:var(--mute)}
.ep-dl dd{margin:0;overflow-wrap:anywhere;color:var(--ink)}
.ep-act2{display:flex;gap:8px;flex-wrap:wrap}
.ep-st{display:block;font-size:var(--t-sm);font-weight:var(--w-semi);padding-top:10px;border-top:1px solid var(--line)}
.ep-br{width:100%;border-collapse:collapse;font-size:var(--t-xs)}
.ep-br td{padding:6px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.ep-br td:first-child{width:24px;color:var(--mute);text-align:center}
.ep-br td:last-child{width:64px;text-align:end;font-weight:var(--w-semi);white-space:nowrap}
.ep-br td span{display:block;font-size:var(--t-2xs);color:var(--mute)}
.ep-br td small{display:block;font-size:var(--t-xs);color:var(--ink);overflow-wrap:anywhere}
.ep-br tr.ep-nc td,.ep-br tr.ep-nc td small{color:var(--mute)}
.ep-br tr.ep-nc td:last-child{font-weight:var(--w-reg);font-size:var(--t-2xs)}
.ep-last{margin:0;font-size:var(--t-sm);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 12px;border-radius:var(--r-sm);background:var(--field)}
/* نافذة القبول وإشعار غير المقبولين */
.ep-nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
@media (max-width:820px){.ep-nums{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ep-num{display:grid;gap:4px;align-content:start;padding:10px 12px;border-radius:var(--r-sm);border:1px solid color-mix(in srgb,var(--cc) 35%,transparent);background:color-mix(in srgb,var(--cc) 8%,transparent)}
.ep-num b{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink)}
.ep-num small{font-size:var(--t-2xs);color:var(--ink2);line-height:1.4}
.ep-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.ep>div>.ep-row:first-child{margin-top:0}
.ep-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
@media (max-width:820px){.ep-two{grid-template-columns:1fr}}
.ep-txt{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.ep-txt>b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.ep-txt textarea{resize:vertical}
.ep-ph{display:flex;flex-wrap:wrap;gap:4px}
.ep-phb{border:1px dashed var(--line-hi);background:var(--field);color:var(--pri);border-radius:var(--r-xs);padding:2px 8px;font:inherit;font-size:var(--t-2xs);cursor:pointer}
.ep-phb:hover{border-style:solid}
.ep-cb{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:var(--t-sm);cursor:pointer}
.ep-cb input{width:auto;margin:2px 0 0;flex:none}
.ep-rs{margin-bottom:12px}
/* نافذة تقدّم المهمة */
.ep-job{display:grid;gap:10px}
.ep-job>p{margin:0}
.ep-jt{font-size:var(--t-sm)}
.ep-bar{height:8px;border-radius:999px;background:var(--field);overflow:hidden}
.ep-bar i{display:block;height:100%;border-radius:inherit;background:var(--ok);transition:width var(--d3) var(--ease)}
.ep-job>.btn{justify-self:start}
.ep-jl{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:44vh;overflow:auto;font-size:var(--t-xs)}
.ep-jl li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border-radius:var(--r-xs);background:var(--surface)}
.ep-jl li small{flex-basis:100%;color:var(--bad);font-size:var(--t-2xs);overflow-wrap:anywhere}
/* الجلسات */
.ep-sl{display:grid;gap:8px;margin-top:12px}
.ep-s{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card-bg)}
.ep-s.today{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 6%,var(--card-bg))}
.ep-s.past{opacity:.72}
.ep-sd{display:grid;place-items:center;padding:6px 4px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--c3) 12%,transparent);color:var(--c3)}
.ep-sd b{font-size:var(--t-lg);font-weight:var(--w-bold);line-height:1}
.ep-sd small{font-size:var(--t-2xs)}
.ep-sb{display:grid;gap:2px;min-width:0}
.ep-sb b{font-weight:var(--w-semi)}
.ep-sb .ep-flag{justify-self:start}
.ep-sb small{font-size:var(--t-xs);color:var(--mute)}
.ep-sc2{display:flex;gap:6px;flex-wrap:wrap}
.ep-sa{display:flex;gap:4px}
.ep-sa .ibtn{--ic:var(--ink2);width:34px;height:34px;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--line);color:var(--ink2);box-shadow:none}
.ep-sa .ibtn:hover{background:var(--surface2);box-shadow:var(--shadow)}
.ep-sa .ibtn svg.ic{width:16px;height:16px;filter:none}
@media (max-width:640px){.ep-s{grid-template-columns:56px minmax(0,1fr)}.ep-sc2,.ep-sa{grid-column:1/-1}}
/* 4-أ الاستقبال: وضع صريح دخول/خروج فوق الكاميرا */
.ep-scan{display:grid;gap:12px;max-width:560px;margin-inline:auto;width:100%}
.ep-dir{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ep-dir button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;border:2px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink2);font:inherit;font-size:var(--t-md);font-weight:var(--w-semi);cursor:pointer;transition:border-color var(--d1),background var(--d1)}
.ep-dir button svg.ic{width:22px;height:22px}
.ep-dir .in.on{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
.ep-dir .out.on{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}
.ep-cam{position:relative;aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;background:#000;display:grid;place-items:center}
.ep-cam video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.ep-cam.on video{opacity:1}
.ep-frame{position:absolute;inset:18%;border:3px solid rgba(255,255,255,.85);border-radius:var(--r);pointer-events:none;opacity:0}
.ep-cam.on .ep-frame{opacity:1}
.ep-cam .btn{position:relative;z-index:var(--z-raise)}
.ep-res{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 14px;border-radius:var(--r-sm);background:var(--field);font-size:var(--t-md);color:var(--ink2)}
.ep-res svg.ic{width:26px;height:26px;flex:none}
.ep-res.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
.ep-res.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}
.ep-res.bad{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.ep-res b{color:var(--ink)}
.ep-log{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:var(--t-xs);max-height:240px;overflow:auto}
.ep-log:empty{display:none}
.ep-log li{padding:6px 10px;border-inline-start:3px solid var(--line);background:var(--surface);border-radius:var(--r-xs)}
.ep-log li.ok{border-inline-start-color:var(--ok)}
.ep-log li.warn{border-inline-start-color:var(--warn)}
.ep-log li.bad{border-inline-start-color:var(--bad)}
/* الإعدادات: المساعدون · 7-أ محرّر العلامات */
.ep-card{padding:16px;display:grid;gap:12px}
.ep-card>p{margin:0}
.ep-ch{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ep-ch h3{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-md)}
.ep-ch h3 svg.ic{width:18px;height:18px;color:var(--c3)}
.ep-ch h3 small{font-weight:var(--w-reg);font-size:var(--t-xs)}
.ep-hl{display:flex;flex-wrap:wrap;gap:6px}
.ep-hl .chip{cursor:default;display:inline-flex;align-items:center;gap:6px}
.ep-q{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.ep-q.off{background:var(--field)}
.ep-q.off .ep-qh b{color:var(--mute)}
.ep-q.nar{border-style:dashed}
.ep-qh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ep-qh b{flex:1;min-width:180px;font-weight:var(--w-semi);font-size:var(--t-sm)}
.ep-qn{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--c3) 14%,transparent);color:var(--c3);font-size:var(--t-xs);font-weight:var(--w-bold);flex:none}
.ep-qh .cbx,.ep-hc .cbx{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);cursor:pointer}
.ep-qh .cbx input,.ep-hc .cbx input{width:auto;margin:0;flex:none}
.ep-cap{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs)}
.ep-cap input{width:72px}
.ep-ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ep-ol li{display:grid;grid-template-columns:minmax(0,1fr) 40px 88px;align-items:center;gap:8px;padding:4px 8px;border-radius:var(--r-xs);font-size:var(--t-xs)}
.ep-ol li:nth-child(odd){background:var(--zebra)}
.ep-ol li small{text-align:center}
.ep-ol input{width:100%;text-align:center}
@media (max-width:640px){.ep-ol li{grid-template-columns:minmax(0,1fr) 32px 72px}}
.ep-new{display:inline-block;padding:0 6px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn);font-size:var(--t-2xs);font-weight:var(--w-semi)}
.ep-hq{width:100%;margin-bottom:8px}
.ep-hc{display:grid;gap:2px;max-height:52vh;overflow:auto}
.ep-hc .cbx{padding:6px 8px;border-radius:var(--r-xs)}
.ep-hc .cbx:hover{background:var(--field)}
/* 5-ب صفحة المهندس: الرمز المتجدّد وجلساتي */
.ep-me{max-width:980px;margin-inline:auto;width:100%}
.ep-mh{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ep-mh p{margin:4px 0 0}
.ep-mg{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:820px){.ep-mg{grid-template-columns:1fr}}
.ep-mg>.card{padding:16px;display:grid;gap:12px}
.ep-mg h3{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-md)}
.ep-mg h3 svg.ic{width:18px;height:18px;color:var(--c3)}
.ep-qrc{justify-items:center;text-align:center}
.ep-qrc h3{justify-self:stretch}
.ep-qr{width:100%;max-width:280px;aspect-ratio:1/1;background:#fff;border-radius:var(--r);padding:10px;display:grid;place-items:center;box-shadow:var(--sh-1)}
.ep-qr svg{width:100%;height:100%;display:block}
.ep-qr .ep-warn{color:#000}
.ep-ring{width:100%;max-width:280px;height:6px;border-radius:999px;background:var(--field);overflow:hidden}
.ep-ring i{display:block;height:100%;border-radius:inherit;background:var(--ok);transition:width var(--d3) linear}
.ep-qrc>p{margin:0;font-size:var(--t-xs)}
.ep-ms{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ep-ms li{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.ep-ms li.now{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--surface))}
.ep-ms li .st{justify-self:start}
.ep-ms li b{font-weight:var(--w-semi)}
.ep-ms li small{font-size:var(--t-xs);color:var(--mute)}
.ep-past summary{cursor:pointer;font-size:var(--t-sm);color:var(--ink2);padding:6px 0}
.ep-past .ep-ms{margin-top:8px}
@media (prefers-reduced-motion:reduce){.ep-ring i,.ep-bar i{transition:none}}
/* ---------------- (الحزمة 151 — الجولة 65 «1-أ · 2-أ · 3-ب · 4-أ») EngiPath: العلامة من 100 · التصفية والترتيب بالأعمدة · أيقونات التصنيفات ---------------- */
/* حلقة النسبة: المسار --line والقوس متدرّج اللون (--a ⇐ --b بنسبة --m من الواجهة) */
.ep-rg{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;flex:none;vertical-align:middle}
.ep-rg svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ep-rg circle{fill:none;stroke-width:3.6}
.ep-rg .t{stroke:var(--line)}
.ep-rg .v{stroke:var(--a);stroke:color-mix(in oklch,var(--b) calc(var(--m) * 1%),var(--a));stroke-linecap:round}
.ep-rg b{position:relative;font-size:var(--t-2xs);font-weight:var(--w-bold);color:var(--ink)}
.ep-rg.big{width:64px;height:64px}
.ep-rg.big circle{stroke-width:3}
.ep-rg.big b{font-size:var(--t-lg)}
.ep-scx{display:grid;gap:2px;flex:1;min-width:0}
.ep-scx b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.ep-scx small{font-size:var(--t-xs);color:var(--mute)}
/* أيقونات التصنيفات: الرقاقة في الجدول · رقاقات التصفية السريعة · قيم القمع */
.ep-cat::before{display:none}
.ep-cat svg.ic{width:13px;height:13px;color:var(--cc);flex:none}
.ep-chip svg.ic{width:15px;height:15px;color:var(--cc);flex:none}
.ep-vi{display:inline-grid;place-items:center;color:var(--cc);flex:none}
.ep-vi svg.ic{width:15px;height:15px}
/* منتقي التصنيف في اللوحة الجانبية */
.ep-catsel{display:grid;gap:6px}
.ep-cl{font-size:var(--t-xs);color:var(--mute);font-weight:var(--w-semi)}
.ep-cpick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.ep-cp{display:grid;justify-items:center;align-content:start;gap:4px;padding:8px 4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink2);font:inherit;font-size:var(--t-2xs);line-height:1.3;text-align:center;cursor:pointer;transition:border-color var(--d1),background var(--d1)}
.ep-cp svg.ic{width:22px;height:22px;color:var(--cc)}
.ep-cp:hover{border-color:var(--line-hi)}
.ep-cp.on{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 12%,transparent);color:var(--ink);font-weight:var(--w-semi);box-shadow:0 0 0 2px color-mix(in srgb,var(--cc) 25%,transparent)}
.ep-cp:focus-visible,.ep-fun:focus-visible,.ep-fchip:focus-visible,.ep-plink:focus-visible,.ep-auto:focus-visible{outline:2px solid var(--pri);outline-offset:1px}
.ep-auto{display:inline-flex;align-items:center;gap:6px;justify-self:start;border:0;background:transparent;color:var(--pri);font:inherit;font-size:var(--t-xs);cursor:pointer;padding:4px 0}
.ep-auto svg.ic{width:14px;height:14px}
/* المميَّزون: المتطوعون (بنفسجي) فوق أصحاب التوصية (الأساسي) */
.dgrid tr.ep-gr td{background:color-mix(in srgb,var(--pri) 5%,transparent)}
.dgrid tr.ep-gr td.dg-n{border-inline-start-color:var(--pri)}
/* شريط الجدول: «الأعمدة» · «الترتيب الافتراضي» · العدد · رقاقات التصفية */
.ep-left{position:relative}
.ep-accw{display:grid;gap:10px}
.ep-tbar{display:grid;gap:6px}
.ep-tool3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ep-tool3 .sp{flex:1}
.ep-cnt{font-size:var(--t-xs);color:var(--mute)}
.ep-cnt b{color:var(--ink);font-weight:var(--w-semi)}
.ep-fchips{display:flex;flex-wrap:wrap;gap:6px}
.ep-fchip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px solid color-mix(in srgb,var(--pri) 35%,transparent);border-radius:999px;background:var(--pri-soft);color:var(--pri);font:inherit;font-size:var(--t-xs);cursor:pointer}
.ep-fchip svg.ic{width:12px;height:12px}
.ep-fchip.ep-fclr{background:transparent;color:var(--ink2);border-color:var(--line)}
/* القمع في رأس العمود (2-أ) */
.ep-fun{display:inline-grid;place-items:center;width:22px;height:22px;margin-inline-start:4px;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--mute);cursor:pointer;vertical-align:middle;transition:background var(--d1),color var(--d1)}
.ep-fun svg.ic{width:13px;height:13px}
.ep-fun:hover{background:var(--field);color:var(--pri)}
.ep-fun.on{background:var(--pri-soft);color:var(--pri)}
@media (max-width:820px){.ep-fun{width:30px;height:30px}}
/* القائمة المنبثقة: قيم العمود بعددها · مجال العلامة · الأعمدة الظاهرة */
.ep-pop{position:absolute;z-index:var(--z-pop);width:264px;max-width:calc(100% - 8px);display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--solid);box-shadow:var(--sh-3);font-size:var(--t-xs);text-align:start}
.ep-pop>b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.ep-pop input[type=search]{width:100%}
.ep-pv{display:grid;gap:2px;max-height:240px;overflow:auto}
.ep-pl{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--r-xs);cursor:pointer}
.ep-pl[hidden]{display:none}
.ep-pl:hover{background:var(--field)}
.ep-pl input{width:auto;margin:0;flex:none}
.ep-pl span{flex:1;min-width:0;overflow-wrap:anywhere}
.ep-pl small{color:var(--mute)}
.ep-pf{display:flex;align-items:center;gap:8px}
.ep-pf .sp{flex:1}
.ep-plink{border:0;background:transparent;color:var(--pri);font:inherit;font-size:var(--t-xs);cursor:pointer;padding:2px 6px;border-radius:var(--r-xs)}
.ep-plink:hover{background:var(--field)}
.ep-plink:disabled{color:var(--mute);cursor:default;background:transparent}
.ep-rng{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ep-rng label{display:grid;gap:2px;color:var(--mute)}
.ep-rng input{width:100%}
.ep-pop small.muted{line-height:1.5}
/* ---------------- (الحزمة 152 — طلبات المالك السبعة) EngiPath: إضافة آنية · مخفي · تأكيد/رفض بعد القبول · حذف · حضور يدوي ---------------- */
.ep-flag.ep-hid{color:var(--mute);background:var(--field);border:1px dashed var(--line-hi)}
.ep-flag.ep-man{color:var(--c3);background:color-mix(in srgb,var(--c3) 12%,transparent)}
.ep-rg.na .t{stroke-dasharray:3 3}
.ep-rg.na b{color:var(--mute)}
.dgrid tr.ep-dec td{color:var(--mute)}
.dgrid tr.ep-dec td .ep-nm b{text-decoration:line-through;text-decoration-color:var(--bad)}
/* اللوحة الجانبية: العلامة اليدوية · الظهور · بعد القبول · الحذف */
.ep-more{display:grid;gap:12px;padding-top:10px;border-top:1px solid var(--line)}
.ep-mpct,.ep-visr,.ep-cfr{display:grid;gap:6px}
.ep-row0{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ep-mpct input{width:96px;text-align:center}
.ep-visr .seg{justify-self:start}
.ep-visr small{font-size:var(--t-2xs);line-height:1.5}
.ep-cfr .ep-cl{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
/* نافذة الحضور: التسجيل اليدوي وحذف الحركة */
.ep-ah{margin:0 0 10px;font-size:var(--t-sm)}
.ep-mark{display:grid;gap:8px;padding:12px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.ep-mark>b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.ep-mrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ep-mrow select{flex:1;min-width:180px}
.ep-mrow input[type=date]{width:150px}
.ep-mrow input[type=time]{width:110px}
.ep-attt td{white-space:nowrap}
.ep-adel{display:inline-grid;place-items:center;width:24px;height:24px;margin-inline-start:4px;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--mute);cursor:pointer;vertical-align:middle;transition:background var(--d1),color var(--d1)}
.ep-adel svg.ic{width:13px;height:13px}
.ep-adel:hover{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.ep-adel:focus-visible{outline:2px solid var(--pri);outline-offset:1px}
@media (max-width:640px){.ep-mrow select{min-width:0;flex-basis:100%}.ep-mrow input[type=date],.ep-mrow input[type=time]{flex:1;width:auto}}
/* ---------------- (الحزمة 153 — بلاغ المالك: مسح الرمز · هل دخل المقبول المنصة) ---------------- */
.ep-cst{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;min-height:36px;padding:8px 12px;border-radius:var(--r-sm);background:var(--field);color:var(--ink2);font-size:var(--t-sm)}
.ep-cst:empty{display:none}
.ep-cst svg.ic{width:18px;height:18px;flex:none}
.ep-cst small{opacity:.75}
.ep-cst.on{color:var(--ok)}
.ep-cst.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}
.ep-cst.bad{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.ep-lg{display:grid;gap:2px;justify-items:start}
.ep-lg small{font-size:var(--t-xs);color:var(--ink2)}
.ep-lgsum{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:8px;font-size:var(--t-sm);color:var(--ink2)}
.ep-lgsum:empty{display:none}
.ep-lgsum>span:first-child{display:inline-flex;align-items:center;gap:6px}
.ep-lgsum svg.ic{width:18px;height:18px}
/* ---------------- (الحزمة 154 — طلبات المالك: الكود تحت الرمز · الاستقبال بالكود · طيّ الأسئلة) ---------------- */
.ep-qrc>p.ep-code{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);user-select:all}
.ep-mform{display:grid;gap:6px;padding:10px 12px;border-radius:var(--r-sm);background:var(--field)}
.ep-mform .ep-cl{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--ink2)}
.ep-mform .ep-cl svg.ic{width:16px;height:16px;flex:none}
.ep-mform input{flex:1;min-width:0;font-size:var(--t-md)}
.ep-qh .ibtn.ep-fold{--ic:var(--ink2);width:30px;height:30px;flex:none;border-radius:var(--r-sm);background:var(--field);border:1px solid var(--line);color:var(--ink2);box-shadow:none}
.ep-qh .ibtn.ep-fold:hover{background:var(--surface2)}
.ep-fold svg.ic{width:16px;height:16px;filter:none;transition:transform var(--d2) var(--ease)}
.ep-q.fold .ep-fold svg.ic{transform:rotate(90deg)}
.ep-q.fold .ep-ol{display:none}
.ep-fn{display:none}
.ep-q.fold .ep-fn{display:inline}
.ep-qh>b{cursor:pointer}
@media (prefers-reduced-motion:reduce){.ep-fold svg.ic{transition:none}}
/* ---------------- (الحزمة 155 — طلبات المالك: نافذة التحديث الإجبارية · تمييز «رُفض بعد القبول» · ثبات الهاتف) ---------------- */
.updg{position:fixed;inset:0;z-index:var(--z-force);display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--bg) 78%,transparent);touch-action:none;animation:fade var(--d2) backwards}
.updc{width:min(380px,100%);display:grid;justify-items:center;gap:12px;padding:24px 20px 20px;text-align:center;border-radius:var(--r-lg);background:var(--solid);border:1px solid var(--card-line);box-shadow:var(--sh-3);color:var(--ink)}
.updc h3{margin:0;font-size:var(--t-lg);font-weight:var(--w-bold)}
.updc p{margin:0;font-size:var(--t-sm);color:var(--ink2);line-height:1.7}
.updi{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:var(--pri);background:color-mix(in srgb,var(--pri) 14%,transparent)}
.updi svg.ic{width:28px;height:28px}
.updc .btn{width:100%;justify-content:center;min-height:46px;font-size:var(--t-md)}
.ep-flag.ep-decl{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}
@media (max-width:820px){.tw{overscroll-behavior-x:contain}}
/* ---------------- (الحزمة 156 — طلبات المالك: إحصاء الحضور · البحث في المقبولين · حضور كل مقبول) ---------------- */
.ep-accq input{width:100%}
.ep-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
@media (max-width:1300px){.ep-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ep-kpi{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r);background:var(--card-bg);border:1px solid var(--card-line);box-shadow:var(--shadow);min-width:0}
.ep-kpi>svg.ic{width:36px;height:36px;padding:8px;border-radius:var(--r-sm);color:var(--ic);background:color-mix(in srgb,var(--ic) 14%,transparent);flex:none}
.ep-kpi div{display:grid;gap:2px;min-width:0}
.ep-kpi b{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink)}
.ep-kpi span{font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink2)}
.ep-kpi small{font-size:var(--t-xs);color:var(--mute)}
.ep-stg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.ep-stg2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:1300px){.ep-stg{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-stg2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.ep-stg,.ep-stg2,.ep-kpis{grid-template-columns:minmax(0,1fr)}}
.ep-stc{display:grid;gap:10px;align-content:start;min-width:0;padding:14px 18px}
.ep-stc h3{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-md)}
.ep-stn{margin:0;font-size:var(--t-xs)}
.ep-dnw{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-width:0}
.ep-dn{position:relative;width:140px;height:140px;flex:none}
.ep-dn svg{width:100%;height:100%;transform:rotate(-90deg)}
.ep-dn .t{stroke:var(--line)}
.ep-dnc{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.ep-dnc b{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink)}
.ep-dnc small{font-size:var(--t-xs);color:var(--mute)}
.ep-lgd{list-style:none;margin:0;padding:0;display:grid;gap:6px;flex:1 1 180px;min-width:0}
.ep-lgd li{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:2px 8px;font-size:var(--t-sm)}
.ep-lgd li>i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
.ep-lgd li>span{min-width:0;color:var(--ink);overflow-wrap:anywhere}
.ep-lgd li>small{color:var(--mute);font-size:var(--t-xs)}
.ep-lgd .ep-rt{grid-column:2 / -1}
.ep-pb{display:inline-flex;align-items:center;gap:8px;min-width:120px}
.ep-pb i{position:relative;flex:1;height:6px;border-radius:var(--r-xs);background:var(--line);overflow:hidden}
.ep-pb i::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:var(--v);background:var(--ok);border-radius:inherit}
.ep-pb b{font-size:var(--t-xs);min-width:40px}
.ep-pat{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ep-pat li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;align-items:center;font-size:var(--t-sm)}
.ep-pat li small{grid-column:2;color:var(--mute);font-size:var(--t-xs)}
/* ---------------- (الحزمة 158 — الجولة 66: مسار التدريب · المدربون) ---------------- */
.tn{display:grid;gap:14px}
.tn-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:var(--t-xl)}
.tn-head h2 svg.ic{width:26px;height:26px;color:var(--c1)}
.tn-head p{margin:2px 0 0}
.tn-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:1300px){.tn-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tn-kpi{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r);background:var(--card-bg);border:1px solid var(--card-line);box-shadow:var(--shadow);min-width:0}
.tn-kpi>svg.ic{width:36px;height:36px;padding:8px;border-radius:var(--r-sm);color:var(--ic);background:color-mix(in srgb,var(--ic) 14%,transparent);flex:none}
.tn-kpi div{display:grid;gap:2px;min-width:0}
.tn-kpi b{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink)}
.tn-kpi span{font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink2)}
.tn-kpi small{font-size:var(--t-xs);color:var(--mute)}
.tn-tool{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tn-tool input[type=search]{flex:1 1 220px;min-width:0}
.tn-tool select{max-width:220px}
.tn-tool .seg b{margin-inline-start:4px}
.tn-vw button{display:inline-flex;align-items:center;gap:6px}
.tn-vw svg.ic{width:16px;height:16px}
.tn-split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
@media (max-width:1300px){.tn-split{grid-template-columns:minmax(0,1fr)}.tn-side{position:static;max-height:none}} /* الجدول بعرضه والبطاقة تحته */
.tn-left{min-width:0}
.tn-side{position:sticky;top:76px;display:grid;gap:12px;padding:14px;border:1px solid var(--card-line);border-radius:var(--r);background:var(--card-bg);box-shadow:var(--shadow);max-height:calc(100vh - 96px);overflow:auto;min-width:0}
.tn-av{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none;background:color-mix(in srgb,var(--c1) 14%,transparent);color:var(--c1);font-weight:var(--w-bold)}
.tn-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tn-av.sm{width:32px;height:32px;font-size:var(--t-sm)}
.tn-av.lg{width:64px;height:64px;font-size:var(--t-xl)}
.tn-nm{display:flex;align-items:center;gap:10px}
.tn-nm span{display:grid;line-height:1.3}.tn-nm small{color:var(--mute);font-size:var(--t-xs)}
.tn-ar{display:inline-flex;flex-wrap:wrap;gap:4px}
.tn-ar em{font-style:normal;font-size:var(--t-xs);padding:2px 6px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--c1) 10%,transparent);color:var(--ink2)}
.tn-meter{display:inline-flex;align-items:center;gap:2px}
.tn-meter i{width:10px;height:6px;border-radius:var(--r-xs);background:var(--line)}
.tn-meter i.on{background:var(--ok)}
.tn-meter b{font-size:var(--t-xs);color:var(--mute);margin-inline-start:6px}
.tn-sc{display:inline-flex;align-items:baseline;gap:2px;padding:2px 6px;border-radius:var(--r-xs);font-weight:var(--w-bold);color:var(--sc,var(--ink));background:color-mix(in srgb,var(--sc,var(--ink)) 12%,transparent)}
.tn-sc.ok{--sc:var(--ok)}.tn-sc.info{--sc:var(--info)}.tn-sc.warn{--sc:var(--warn)}.tn-sc.bad{--sc:var(--bad)}
.tn-sc small{font-size:var(--t-2xs);font-weight:var(--w-semi);opacity:.8}
.dgrid tr.tn-cur td{background:color-mix(in srgb,var(--pri) 8%,transparent)}
.dgrid tr[data-id]{cursor:pointer}
.tn-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.tn-card{display:grid;justify-items:start;gap:6px;text-align:start;padding:14px;border-radius:var(--r);border:1px solid var(--card-line);background:var(--card-bg);box-shadow:var(--shadow);cursor:pointer;color:var(--ink);font:inherit;min-width:0}
.tn-card b{font-size:var(--t-md)}
.tn-card>small{color:var(--mute);font-size:var(--t-xs)}
.tn-card.on{border-color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 18%,transparent)}
.tn-card:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.tn-acts{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);font-size:var(--t-xs)}
.tn-acts svg.ic{width:14px;height:14px}
.tn-sh{display:flex;align-items:center;gap:12px}
.tn-sh div{display:grid;gap:2px;justify-items:start}
.tn-sh b{font-size:var(--t-lg)}.tn-sh small{color:var(--mute)}
.tn-fl{display:grid;gap:6px;padding:10px;border-radius:var(--r-sm);background:var(--field)}
.tn-fl p{margin:0;font-size:var(--t-xs)}
.tn-miss{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;font-size:var(--t-xs)}
.tn-miss li{display:flex;align-items:center;gap:6px}
.tn-miss svg.ic{width:14px;height:14px}
.tn-miss li.ok{color:var(--ok)}.tn-miss li.no{color:var(--bad)}
.tn-note{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--t-sm);color:var(--ink2)}
.tn-note svg.ic{width:16px;height:16px;color:var(--ok)}
.tn-rv{display:grid;gap:2px;justify-items:start;padding:10px;border-radius:var(--r-sm);border:1px solid var(--line)}
.tn-rv>span{font-size:var(--t-xs);color:var(--mute)}.tn-rv small{font-size:var(--t-xs)}
.tn-act{display:flex;gap:6px;flex-wrap:wrap}
.tn-sec{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line)}
.tn-sec h4{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--t-sm);font-weight:var(--w-semi)}
.tn-sec h4 svg.ic{width:16px;height:16px;color:var(--c1)}
.tn-sec p{margin:0;font-size:var(--t-sm)}
.tn-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0;font-size:var(--t-sm)}
.tn-dl dt{color:var(--mute)}.tn-dl dd{margin:0;overflow-wrap:anywhere}
.tn-li{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tn-li li{display:grid;gap:2px;font-size:var(--t-sm)}.tn-li small{color:var(--mute);font-size:var(--t-xs)}
.tn-ref{margin:0;font-size:var(--t-xs)}
.tn-url{display:flex;gap:6px}.tn-url input{flex:1;min-width:0}
/* ---------------- (الحزمة 159 — الجولة 66 «4-ب · 5-أ»: مسار التدريب · التدريبات — حضور كل جلسة) ---------------- */
.tn>*{min-width:0} /* عمود الشبكة لا يتمدّد بعرض الجدول أو الرسم (التمرير داخلهما) */
.tr-host{display:grid;gap:14px;min-width:0}
.tr-host>*{min-width:0}
.tr-tool .sp,.tr-dh .sp{flex:1}
.tr-tool .seg button{white-space:nowrap}
.tr-dt{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--ink2)}
.tr-dt input{width:auto}
.tr-upd{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs)}
.tr-upd svg.ic{width:14px;height:14px}
.tr-warn{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);background:color-mix(in srgb,var(--bad) 8%,transparent)}
.tr-warn>svg.ic{width:22px;height:22px;color:var(--bad);flex:none}
.tr-warn div{display:grid;gap:2px;min-width:0}
.tr-warn small{color:var(--ink2);font-size:var(--t-sm);overflow-wrap:anywhere}
.tr-kr .ep-rg{flex:none}
.tr-kr small b{font-size:var(--t-xs);color:var(--ink)}
.tr-of{font-size:var(--t-sm);color:var(--mute);font-weight:var(--w-semi)}
.ep-rg b small{font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--mute)}
/* البطاقات */
.tr-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.tr-card{display:grid;gap:10px;align-content:start;text-align:start;padding:14px;border-radius:var(--r);border:1px solid var(--card-line);background:var(--card-bg);box-shadow:var(--shadow);cursor:pointer;color:var(--ink);font:inherit;min-width:0;transition:border-color var(--d2),transform var(--d2)}
.tr-card:hover{border-color:color-mix(in srgb,var(--pri) 45%,var(--card-line));transform:translateY(-2px)}
.tr-card:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.tr-ch{display:flex;align-items:center;gap:12px;min-width:0}
.tr-ch>div{display:grid;gap:4px;min-width:0}
.tr-ch>div>b{font-size:var(--t-md);line-height:1.4;overflow-wrap:anywhere}
.tr-ch .ep-rg b,.tr-kr .ep-rg b{white-space:nowrap}
.tr-ch>div>small,.tr-dt0>small{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--t-xs)}
.tr-ch>div>small em,.tr-dt0>small em{font-style:normal;font-size:var(--t-xs);padding:2px 6px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--c1) 10%,transparent);color:var(--ink2)}
.tr-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--t-xs);color:var(--ink2)}
.tr-meta>span{display:inline-flex;align-items:center;gap:6px;min-width:0}
.tr-meta svg.ic{width:14px;height:14px;color:var(--mute);flex:none}
.tr-mini{display:flex;align-items:flex-end;gap:4px;height:40px;padding:4px 0;border-bottom:1px solid var(--line)}
.tr-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--t-xs)}
.tr-lk{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute)}
.tr-lk svg.ic{width:14px;height:14px}
.tr-lk.on{color:var(--ok)}
p.tr-lk{margin:8px 0 0;font-size:var(--t-sm)}
/* العمود المكدّس: حاضر (أسفل) · متأخر · غائب — وغير المسجَّلة إطار متقطّع */
.tr-col{position:relative;display:flex;flex-direction:column-reverse;flex:1 1 0;max-width:28px;min-width:6px;height:100%;border-radius:var(--r-xs);overflow:hidden;background:var(--field)}
.tr-col b{display:block;flex:none;width:100%}
.tr-col b.p{background:var(--ok)}
.tr-col b.l{background:var(--warn)}
.tr-col b.a{background:color-mix(in srgb,var(--bad) 30%,transparent)}
.tr-col.nr{background:transparent;border:1px dashed color-mix(in srgb,var(--mute) 55%,transparent)}
.tr-col.big{flex:none;width:36px;max-width:none;height:160px;border-radius:var(--r-sm)}
/* صفحة التدريب */
.tr-dh{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.tr-dt0{display:grid;gap:4px;min-width:0}
.tr-dt0 h3{margin:0;font-size:var(--t-lg);line-height:1.4;overflow-wrap:anywhere}
.tr-lg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--t-xs);color:var(--ink2)}
.tr-lg>span{display:inline-flex;align-items:center;gap:6px}
.tr-chart{display:flex;align-items:flex-end;gap:14px;overflow-x:auto;padding:4px 2px 6px}
.tr-cc{display:grid;justify-items:center;gap:4px;flex:none;min-width:48px}
.tr-cc>b{font-size:var(--t-sm);font-weight:var(--w-bold)}
.tr-cc>span{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink2)}
.tr-cc>small{font-size:var(--t-2xs);color:var(--mute)}
.tr-cc.out{opacity:.45}
.tr-cn{white-space:nowrap}
/* خلية حضور الجلسة: أيقونة + لون + نصّ مخفي لقارئ الشاشة */
.tr-at{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:var(--t-xs);color:var(--mute);vertical-align:middle}
.tr-at svg.ic{width:14px;height:14px}
.tr-at.p{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.tr-at.l{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent)}
.tr-at.a{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}
.tr-at.e{color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent)}
.tr-at.nr{border:1px dashed var(--line)}
.tr-at .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tr-pf{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tr-pf input[type=search]{max-width:220px}
.tr-nm{display:grid;line-height:1.3;color:var(--ink);text-decoration:none}
.tr-nm:hover b{text-decoration:underline}
.tr-nm small{color:var(--mute);font-size:var(--t-xs)}
.tr-pb.ok i::before{background:var(--ok)}.tr-pb.warn i::before{background:var(--warn)}.tr-pb.bad i::before{background:var(--bad)}
.tr-link select{max-width:520px}
.tr-link p{margin:0 0 8px}
@media (max-width:640px){.tr-kpis .tr-kr,.tr-kpis .tr-kw{grid-column:1/-1}.tr-kw b{font-size:var(--t-lg)}.tr-cards{grid-template-columns:minmax(0,1fr)}.tr-dh .tn-act{width:100%}.tr-col.big{height:120px;width:30px}}
@media (prefers-reduced-motion:reduce){.tr-card{transition:none}.tr-card:hover{transform:none}}
/* ---------------- (الحزمة 160 — طلب المالك: «حسابات المنصة الرسمية» في الإعدادات) ---------------- */
.oa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.oa-card{margin:0;animation:none}
.oa-card .cb{display:grid;gap:10px}
.oa-ch{display:flex;flex-wrap:wrap;gap:4px}
.oa-last{display:grid;gap:4px;font-size:var(--t-xs)}
.oa-act{display:flex;flex-wrap:wrap;gap:6px}
/* ---------------- (الحزمة 161 — قرار الجولة 69 «1-ب · 2-أ»: الإعدادات بقائمة جانبية بالمجموعات) ---------------- */
.st2{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;align-items:start;min-height:420px}
.st2-nav{display:grid;gap:10px;align-content:start;padding:12px;border-inline-end:1px solid var(--line);position:sticky;top:76px;max-height:calc(100vh - 96px);overflow:auto;min-width:0}
.st2-q{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field)}
.st2-q svg.ic{width:16px;height:16px;color:var(--mute);flex:none}
.st2-q input{border:0;background:transparent;padding:8px 0;min-width:0;width:100%}
.st2-q input:focus{outline:none}
.st2-q:focus-within{border-color:var(--pri)}
.st2-g{display:grid;gap:2px}
.st2-g>b{display:flex;align-items:center;gap:8px;padding:6px 8px 2px;font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--ink2)}
.st2-g>b svg.ic{width:16px;height:16px;color:var(--gc)}
.st2-it{display:block;width:100%;text-align:start;padding:6px 10px 6px 10px;padding-inline-start:32px;border:0;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:var(--t-sm);color:var(--ink);cursor:pointer}
.st2-it:hover{background:color-mix(in srgb,var(--pri) 6%,transparent)}
.st2-it.on{background:color-mix(in srgb,var(--pri) 12%,transparent);color:var(--pri);font-weight:var(--w-semi)}
.st2-it:focus-visible{outline:2px solid var(--pri);outline-offset:1px}
.st2-adv{margin-inline-start:24px}
.st2-adv>summary{cursor:pointer;padding:4px 8px;font-size:var(--t-xs);color:var(--mute);border-radius:var(--r-sm)}
.st2-adv>summary:focus-visible{outline:2px solid var(--pri)}
.st2-adv .st2-it{padding-inline-start:16px;color:var(--ink2)}
.st2-none{padding:8px;margin:0}
.st2-pane{min-width:0}
.st2-head{display:flex;align-items:center;gap:10px;padding:12px 16px 0;flex-wrap:wrap}
.st2-crumb{font-size:var(--t-sm);color:var(--mute)}
.st2-crumb b{color:var(--ink)}
.st2 .st2-head .btn.st2-back{display:none}
.st2-body [hidden]{display:none !important}
@media (max-width:820px){.st2{grid-template-columns:minmax(0,1fr)}.st2-nav{position:static;max-height:none;border-inline-end:0}.st2:not(.open) .st2-pane{display:none}.st2.open .st2-nav{display:none}.st2 .st2-head .btn.st2-back{display:inline-flex}}
/* ---------------- (الحزمة 162 — طلب المالك: بحث وتعديل في «حضور الجلسة» EngiPath) ---------------- */
.ep-aq{display:flex;align-items:center;gap:8px;padding:0 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field)}
.ep-aq svg.ic{width:16px;height:16px;color:var(--mute);flex:none}
.ep-aq input{flex:1;min-width:0;border:0;background:transparent;padding:10px 0}
.ep-aq input:focus{outline:none}
.ep-aq:focus-within{border-color:var(--pri)}
.ep-aq span{font-size:var(--t-xs);white-space:nowrap}
.ep-aed:hover{background:color-mix(in srgb,var(--pri) 12%,transparent);color:var(--pri)}
.ep-edt{font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--warn);border:1px dashed color-mix(in srgb,var(--warn) 50%,transparent);border-radius:var(--r-xs);padding:0 4px;cursor:help}
.ep-attt tr[hidden]{display:none}
/* ---------------- (الحزمة 163 — نماذج تقييم مسار التدريب: العتبات والوجوه والمعاينة) ---------------- */
.fe-th{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px dashed var(--line);border-radius:var(--r-sm);background:var(--field)}
.fe-thh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm);font-weight:var(--w-semi)}
.fe-thh .fe-ic{width:18px;height:18px;color:var(--warn)}
.fe-thh small{font-weight:var(--w-reg)}
.fe-thr{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--line)}
.fe-thm{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute)}
.fe-thm input{width:68px}
.fe-tht{flex:1 1 140px;min-width:0}
.fe-faces{display:flex;gap:2px;flex-wrap:wrap}
.fe-faces button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer;opacity:.5;transition:opacity var(--d1),background var(--d1)}
.fe-faces button:hover{opacity:1}
.fe-faces button.on{opacity:1;border-color:var(--pri);background:color-mix(in srgb,var(--pri) 8%,transparent)}
.fe-faces button:focus-visible{outline:2px solid var(--pri);outline-offset:1px}
.fe-tw{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:var(--t-sm)}
.fe-thmini{display:inline-flex;gap:2px;margin-inline-start:auto;flex:none}
.fe-thmini i{display:inline-grid}
.fe-rowsh{font-size:var(--t-xs);color:var(--mute)}
/* المعاينة */
.fe-pvw{display:grid;gap:14px}
.fe-pvw h3{margin:0;font-size:var(--t-lg)}
.fe-pvw p{margin:0}
.fe-pvsc{position:sticky;top:0;display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card-bg);box-shadow:var(--shadow)}
.fe-pvf{display:flex;align-items:center;gap:12px}
.fe-pvf span{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.fe-pvf b{font-size:var(--t-xl);font-weight:var(--w-bold)}
.fe-pvf small{color:var(--mute)}
.fe-pvf em{font-style:normal;font-weight:var(--w-semi);color:var(--ink2)}
.fe-pvchips{display:flex;flex-wrap:wrap;gap:6px}
.fe-pvchips span{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:var(--t-xs);background:color-mix(in srgb,var(--tc) 10%,transparent);color:var(--ink)}
.fe-pvsec{display:grid;gap:12px;padding:12px 14px;border:1px solid var(--line);border-inline-start:4px solid var(--tc);border-radius:var(--r-sm);background:var(--surface)}
.fe-pvsec h4{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-md)}
.fe-pvq{display:grid;gap:6px}
.fe-pvq>b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.fe-pvreq{font-style:normal;color:var(--bad)}
.fe-pvb{display:flex;flex-wrap:wrap;gap:4px}
.fe-pvb button{min-width:36px;height:36px;padding:0 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card-bg);color:var(--ink);font:inherit;cursor:pointer}
.fe-pvb button.on{background:var(--pri);border-color:var(--pri);color:#fff}
.fe-pvo{display:flex;align-items:center;gap:8px;font-size:var(--t-sm)}
.fe-pvo input{width:auto}
.fe-pvm{border-collapse:collapse;font-size:var(--t-sm)}
.fe-pvm td{padding:4px 6px;border-top:1px solid var(--line)}
.fe-pvm input{width:auto}
.fe-pvr{margin:0;padding-inline-start:20px;font-size:var(--t-sm)}
/* ---------------- (الحزمة 165 — الجولة 70: الأساس والمكوّنات الخفيفة · HeroUI · §5-ص178) ---------------- */
/* HeroUI (طلب المالك): أرضية مصمتة بلا هالات ولا تدرّج لوني + الشريط الجانبي بكحلي «الخارطة» المصمت وحبّته البيضاء */
:root[data-skin=hero]{--bg-img:none;--grid-ln:transparent;--amb1:transparent;--amb2:transparent;--amb3:transparent;--side-blur:none}
:root[data-skin=hero][data-mode=light]{--side-bg:#00175A;--side-line:#00175A;--side-ink:#ffffff;--side-mute:#b3c0e2;--side-on:#ffffff;--side-on-ink:#00175A}
:root[data-skin=hero][data-mode=dark]{--side-bg:#0a1440;--side-line:#0a1440;--side-ink:#ffffff;--side-mute:#aab6da;--side-on:#ffffff;--side-on-ink:#00175A}
:root[data-skin=hero] .side .brand,:root[data-skin=hero] .side .brand .wm{color:var(--side-ink)}
:root[data-skin=hero] .side .brand small,:root[data-skin=hero] .nav .gl,:root[data-skin=hero] .side .foot{color:var(--side-mute)}
:root[data-skin=hero] .nav a{color:var(--side-ink)}
:root[data-skin=hero] .nav a:hover{background:color-mix(in srgb,var(--side-ink) 10%,transparent)}
:root[data-skin=hero] .nav a.on{background:var(--side-on);color:var(--side-on-ink)}
:root[data-skin=hero] .nav .sub a{color:var(--side-mute)}
:root[data-skin=hero] .nav .sub a.on{color:var(--side-ink);background:color-mix(in srgb,var(--side-ink) 10%,transparent)}
:root[data-skin=hero] .side .uc{background:color-mix(in srgb,var(--side-ink) 8%,transparent)}
:root[data-skin=hero] .side .uc:hover{background:color-mix(in srgb,var(--side-ink) 14%,transparent)}
:root[data-skin=hero] .side .uc b{color:var(--side-ink)}
:root[data-skin=hero] .side .uc small{color:var(--side-mute)}
:root[data-skin=hero] .side .foot .fold{border-color:color-mix(in srgb,var(--side-ink) 14%,transparent);color:var(--side-mute)}
:root[data-skin=hero] .side .foot .fold:hover{background:color-mix(in srgb,var(--side-ink) 10%,transparent);color:var(--side-ink)}

/* 1-أ السلّم الطباعي (الحاسوب: النصّ 15 بتباعد 1.7؛ العناوين على المقياس الخماسي القائم — رموز العرض للبطل وحده بقاعدة ui-lint) · 2-أ الزوايا · 3-أ العمق — كسوة «الخارطة» */
:root[data-skin=map]{--r:14px;--r-lg:20px}
@media (min-width:821px){
  :root[data-skin=map]{--fs:15px;--lh-body:1.7}
}
:root[data-skin=map] .kpi{transition:transform var(--d2) var(--ease),box-shadow var(--d2) var(--ease),background var(--d2)}
@media (hover:hover){:root[data-skin=map] .kpi:hover{transform:translateY(-2px);box-shadow:var(--sh-3)}}

/* 18-أ التركيز والتمرير (كل الكسوات) */
:is(button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--pri);outline-offset:2px}
:root[data-skin=map] *{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--mute) 40%,transparent) transparent}

/* 5-أ الأزرار: هرمية (مصبوغ · نصّي) — كل الكسوات · «إلغاء» في ذيل النافذة نصّي في «الخارطة» */
.btn.tin{background:var(--pri-soft);color:var(--pri);border-color:transparent}
.btn.tin:hover{background:color-mix(in srgb,var(--pri) 18%,transparent)}
.btn.txt{background:transparent;color:var(--pri);border-color:transparent}
.btn.txt:hover{background:var(--pri-soft)}
:root[data-skin=map] .md .mf .btn.ghost{background:transparent;border-color:transparent}
:root[data-skin=map] .md .mf .btn.ghost:hover{background:var(--field)}
.btn.busy,.btn.busy:active{transform:none}

/* 8-أ الخانات والراديو المرسومة (كل الكسوات) + مفتاح التبديل (.sw أو role=switch) */
input[type=checkbox]:not(.native),input[type=radio]:not(.native){appearance:none;-webkit-appearance:none;width:20px!important;height:20px!important;min-height:0!important;min-width:20px;padding:0!important;margin:0;flex:none;border:2px solid var(--line-hi,var(--line));border-radius:var(--r-xs);background:var(--field);box-shadow:none;display:inline-grid;place-content:center;cursor:pointer;vertical-align:middle;transition:background var(--d2),border-color var(--d2),transform var(--d1)}
input[type=radio]:not(.native){border-radius:50%}
input[type=checkbox]:not(.native)::before{content:"";width:12px;height:12px;background:var(--pri-ink,#fff);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat;clip-path:inset(0 100% 0 0);transition:clip-path var(--d3) var(--ease)}
input[type=checkbox]:not(.native):checked{background:var(--pri);border-color:var(--pri)}
input[type=checkbox]:not(.native):checked::before{clip-path:inset(0 0 0 0)}
input[type=radio]:not(.native)::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--pri);transform:scale(0);transition:transform var(--d2) var(--ease)}
input[type=radio]:not(.native):checked{border-color:var(--pri)}
input[type=radio]:not(.native):checked::before{transform:scale(1)}
input[type=checkbox]:not(.native):active,input[type=radio]:not(.native):active{transform:scale(.88)}
input[type=checkbox]:not(.native):disabled,input[type=radio]:not(.native):disabled{opacity:.5;cursor:not-allowed;transform:none}
input[type=checkbox]:not(.native):focus-visible,input[type=radio]:not(.native):focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 28%,transparent)}
input[type=checkbox]:not(.native):focus,input[type=radio]:not(.native):focus{border-color:var(--pri)}
input[type=checkbox]:not(.native):not(:checked):focus{border-color:var(--line-hi,var(--line))}
input[type=checkbox].sw,input[type=checkbox][role=switch]{width:40px!important;min-width:40px;height:24px!important;border-radius:999px;border:0;background:var(--line-hi,var(--line));position:relative;place-content:center start}
input[type=checkbox].sw::before,input[type=checkbox][role=switch]::before{width:16px;height:16px;border-radius:999px;background:var(--solid);-webkit-mask:none;mask:none;clip-path:none;margin-inline-start:4px;transition:margin var(--d2) var(--ease),width var(--d1) var(--ease)}
input[type=checkbox].sw:checked,input[type=checkbox][role=switch]:checked{background:var(--ok)}
input[type=checkbox].sw:checked::before,input[type=checkbox][role=switch]:checked::before{margin-inline-start:20px}
input[type=checkbox].sw:active::before,input[type=checkbox][role=switch]:active::before{width:22px}
input[type=checkbox].sw:checked:active::before,input[type=checkbox][role=switch]:checked:active::before{margin-inline-start:14px}
input[type=checkbox].sw:active,input[type=checkbox][role=switch]:active{transform:none}

/* 9-أ الحقول: حلقة تركيز أوضح · ✓ عند الاكتمال الصحيح · عدّاد الأحرف (ui-kit.js) */
:root[data-skin=map] input:focus,:root[data-skin=map] select:focus,:root[data-skin=map] textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 25%,transparent)}
label.f.vok>input{border-color:color-mix(in srgb,var(--ok) 55%,var(--line));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230b7a43' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 10px center;padding-left:32px}
label.f>.fcnt{align-self:flex-end;font-size:var(--t-2xs);color:var(--mute);font-weight:var(--w-reg);margin-top:-2px}
label.f>.fcnt.hi{color:var(--warn)}

/* 10-أ الحالات: أيقونة لكل حالة بدل النقطة · نبض «بانتظارك» ثلاث مرات (.st.mine) */
.st.ok::before,.st.warn::before,.st.bad::before,.st.info::before{width:12px;height:12px;border-radius:0;background:currentColor;-webkit-mask:var(--sti) center/contain no-repeat;mask:var(--sti) center/contain no-repeat}
.st.ok{--sti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}
.st.warn{--sti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E")}
.st.bad{--sti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E")}
.st.info{--sti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E")}
.st.mine{position:relative}
.st.mine::after{content:"";position:absolute;inset-inline-start:8px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:currentColor;animation:stPulse calc(var(--d3) * 5) var(--ease) 3}
@keyframes stPulse{70%,100%{transform:scale(2.6);opacity:0}}

/* 15-أ التلميح المخصّص (ui-kit.js — #ddtip) */
.ddtip{position:fixed;z-index:var(--z-toast);max-width:260px;background:var(--ink);color:var(--solid);font-size:var(--t-xs);line-height:1.5;padding:4px 10px;border-radius:var(--r-xs);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity var(--d1),transform var(--d1)}
.ddtip.on{opacity:1;transform:none}
.ddtip::after{content:"";position:absolute;top:100%;left:calc(var(--ax,50%) - 5px);border:5px solid transparent;border-top-color:var(--ink)}
.ddtip.below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--ink)}

/* 14-أ التوست: أسفل النهاية على الحاسوب (البداية يغطّيها الشريط الجانبي في RTL) · أيقونة في دائرة بلون الحالة */
@media (min-width:821px){
  .toast-w,[dir=rtl] .toast-w{inset-inline-start:auto;inset-inline-end:24px;transform:none;align-items:stretch;width:min(380px,calc(100vw - 48px))}
  .toast{max-width:none}
}
.toast>svg.ic{width:28px;height:28px;padding:6px;border-radius:50%;flex:none;background:color-mix(in srgb,var(--ok) 14%,transparent)}
.toast.bad>svg.ic{background:color-mix(in srgb,var(--bad) 14%,transparent)}
.toast>span{flex:1}
.toast .act{color:var(--pri);cursor:pointer;padding:2px 8px;border-radius:var(--r-xs)}
.toast .act:hover{background:var(--pri-soft)}
/* ---------------- (الحزمة 166 — الجولة 71: إدارة المستخدمين ومنتقي الأدوار · فريق الميديا ومهامه · §5-ص180) ---------------- */
/* 1-أ صفحة المستخدمين: التبويبات · عمود «المستخدم» المجمّع · حبوب الأدوار بلون الفئة · آخر دخول نسبي · «⋯» */
.uu-tabs{margin:0 0 10px}
.uu-tbl td{vertical-align:middle}
.uu-who{display:flex;align-items:center;gap:10px;min-width:0}
.uu-who>div{min-width:0}
.uu-who b{display:block;font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uu-who small{display:block;color:var(--mute);font-size:var(--t-2xs);text-align:start}
.uu-av{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;overflow:hidden;font-size:var(--t-2xs);font-weight:var(--w-bold);color:var(--pri-ink);background:var(--c,var(--pri))}
.uu-av.lg{width:52px;height:52px;font-size:var(--t-md)}
.uu-pills{display:flex;flex-wrap:wrap;gap:4px}
.rk-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;font-size:var(--t-2xs);font-weight:var(--w-semi);white-space:nowrap;color:var(--g,var(--mute));background:color-mix(in srgb,var(--g,var(--mute)) 13%,transparent)}
.rk-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}
.rk-pill.more{--g:var(--mute)}
.rk-pill[data-rm]{cursor:pointer}
.rk-pill .ic{width:12px;height:12px}
.uu-rel{color:var(--mute);font-size:var(--t-xs);white-space:nowrap}
.uu-mn{width:32px;height:32px}
.uu-menu{position:fixed;z-index:var(--z-pop);min-width:220px;display:grid;gap:2px;padding:6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--sh-3)}
.uu-menu button,.uu-menu label{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--ink);font:inherit;font-size:var(--t-sm);text-align:start;cursor:pointer}
.uu-menu button:hover,.uu-menu label:hover,.uu-menu button:focus-visible{background:var(--field)}
.uu-menu .ic{width:16px;height:16px;color:var(--mute)}
.uu-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin:0 0 10px;border-radius:var(--r-sm);background:var(--field);box-shadow:var(--sh-1)}
.uu-bar.on{background:var(--pri-soft)}
.uu-danger{color:var(--bad)}
.uu-danger:hover{background:color-mix(in srgb,var(--bad) 10%,transparent)}

/* 2-أ نافذة المستخدم: رأس · تبويبات · أقسام (الجديد متتالٍ) — التذييل لاصق */
.uf{display:grid;gap:14px}
.uf-h{display:flex;align-items:center;gap:12px}
.uf-h>div{flex:1;min-width:0}
.uf-h b{display:block;font-size:var(--t-md);font-weight:var(--w-semi)}
.uf-h small{display:block;color:var(--mute);font-size:var(--t-xs);text-align:start}
.uf-tabs{margin:0}
.uf-p{display:grid;gap:12px}
.uf-sec{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--mute)}
.uf-md .mf{position:sticky;bottom:0;background:inherit}

/* 3-أ منتقي الأدوار: الملخّص · التنبيهات · البطاقات المجمّعة بالفئة */
.rk-h{font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--mute)}
.rk-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:6px 8px;margin:6px 0 10px;border:1px dashed var(--line);border-radius:var(--r-sm);background:var(--field)}
.rk-warn{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;margin:0 0 8px;border-radius:var(--r-sm);font-size:var(--t-xs);color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}
.rk-warn.info{color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent)}
.rk-warn.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.rk-warn .ic{flex:none;width:16px;height:16px;margin-top:2px}
.rk-grp{display:grid;gap:6px;margin:0 0 12px}
.rk-grp h5{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--mute)}
.rk-grp h5 i{width:8px;height:8px;border-radius:var(--r-xs);background:var(--g)}
.rk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.rk-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:start;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;text-align:start;cursor:pointer;transition:border-color var(--d2),background var(--d2),transform var(--d1)}
.rk-card:hover{border-color:color-mix(in srgb,var(--g) 55%,var(--line))}
.rk-card:active{transform:scale(.98)}
.rk-card .rk-ic{grid-row:span 2;width:32px;height:32px;border-radius:var(--r-xs);display:grid;place-items:center;color:var(--g);background:color-mix(in srgb,var(--g) 13%,transparent)}
.rk-card .rk-ic .ic{width:18px;height:18px}
.rk-card b{font-size:var(--t-sm);font-weight:var(--w-semi);padding-inline-end:24px}
.rk-card small{font-size:var(--t-2xs);color:var(--mute);line-height:1.5}
.rk-card .rk-ck{position:absolute;top:8px;inset-inline-end:8px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--pri-ink);transition:background var(--d2),border-color var(--d2)}
.rk-card .rk-ck .ic{width:12px;height:12px;opacity:0;transition:opacity var(--d2)}
.rk-card.on{border-color:var(--g);background:color-mix(in srgb,var(--g) 7%,var(--surface))}
.rk-card.on .rk-ck{background:var(--g);border-color:var(--g)}
.rk-card.on .rk-ck .ic{opacity:1}

/* 4-أ معاينة الأثر: الأقسام على كحلي الشريط + الأرقام */
.rv{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.rv-h{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--mute)}
.rv-nav{display:flex;flex-wrap:wrap;gap:6px}
.rv-nav span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-xs);font-size:var(--t-xs);color:var(--side-ink);background:var(--side-bg)}
.rv-nav span .ic{width:14px;height:14px}
.rv-kv{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:var(--t-xs);color:var(--ink2)}
.rv-kv b.num{font-size:var(--t-md);color:var(--ink)}

/* 5-أ الحساب والأمان */
.ua{display:grid;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.ua-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.ua-sw{display:inline-flex;align-items:center;gap:10px;font-weight:var(--w-semi);cursor:pointer}
.ua-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-size:var(--t-xs)}
.ua-kv span{color:var(--mute)}
.ua-kv b{font-weight:var(--w-semi)}
.ua-cred{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--t-xs);background:var(--pri-soft)}
.ua-cred code{direction:ltr;padding:2px 8px;border-radius:var(--r-xs);font-weight:var(--w-bold);background:var(--surface)}

/* فريق الميديا: المُسنَدون · نافذة الإسناد · «مهام الفريق» */
.mt-av{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:var(--t-2xs);font-weight:var(--w-bold);font-style:normal;color:var(--pri-ink);background:var(--c,var(--c5))}
.mt-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.mt-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 2px;border-radius:999px;font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--ink);background:var(--field)}
.mt-chip.me{color:var(--pri);background:var(--pri-soft)}
.mt-none{font-size:var(--t-xs);color:var(--mute)}
.mt-asg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.mt-asg .btn{margin-inline-start:auto}
.mt-lb{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--mute)}
.mt-lb .ic{width:14px;height:14px}
.mt-picks{display:grid;gap:6px;max-height:52vh;overflow:auto}
.mt-pick,.mt-mem{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;text-align:start;cursor:pointer;transition:border-color var(--d2),background var(--d2)}
.mt-pick .mt-av,.mt-mem .mt-av{width:32px;height:32px;font-size:var(--t-xs)}
.mt-pn{flex:1;min-width:0}
.mt-pn b{display:block;font-size:var(--t-sm);font-weight:var(--w-semi)}
.mt-pn small{display:block;font-size:var(--t-2xs);color:var(--mute)}
.mt-load{min-width:28px;padding:2px 8px;border-radius:999px;text-align:center;font-size:var(--t-2xs);font-weight:var(--w-bold);color:var(--mute);background:var(--field)}
.mt-ck{width:20px;height:20px;flex:none;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--pri-ink)}
.mt-ck .ic{width:12px;height:12px;opacity:0}
.mt-pick:hover,.mt-mem:hover{border-color:color-mix(in srgb,var(--pri) 45%,var(--line))}
.mt-pick.on,.mt-mem.on{border-color:var(--pri);background:var(--pri-soft)}
.mt-pick.on .mt-ck{background:var(--pri);border-color:var(--pri)}
.mt-pick.on .mt-ck .ic{opacity:1}
.mt-cb{display:grid;gap:12px}
.mt-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.mt-flt{display:flex;flex-wrap:wrap;gap:6px}
.mt-list{display:grid;gap:8px}
.mt-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-inline-start:3px solid var(--c);border-radius:var(--r-sm);background:var(--surface)}
.mt-row.mine{background:color-mix(in srgb,var(--pri) 5%,var(--surface))}
.mt-ic{width:36px;height:36px;border-radius:var(--r-xs);display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent)}
.mt-main{display:grid;gap:6px;min-width:0}
.mt-main>b{font-weight:var(--w-semi)}
.mt-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:var(--t-xs);color:var(--mute)}
.mt-meta>span{display:inline-flex;align-items:center;gap:4px}
.mt-meta .ic{width:14px;height:14px}
.mt-prog{display:flex;align-items:center;gap:10px;font-size:var(--t-xs);color:var(--mute)}
.mt-prog .bar{flex:1;max-width:240px;height:6px;border-radius:999px;overflow:hidden;background:var(--field)}
.mt-prog .bar i{display:block;height:100%;border-radius:999px;background:var(--ok)}
.mt-act{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.mc-bar.mine{box-shadow:inset 0 0 0 1px var(--pri)}
.mc-bar.mine.on{box-shadow:0 0 0 2px var(--mc)}
@media (max-width:640px){
  .mt-row{grid-template-columns:auto minmax(0,1fr)}
  .mt-act{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
  .rk-cards,.mt-team{grid-template-columns:minmax(0,1fr)}
  .ua-kv{grid-template-columns:minmax(0,1fr)}
}
/* ---------------- (الحزمة 167 — الجولة 70: القائمة المخصّصة · التاريخ والوقت العربي · الصفيحة · المفتاح · §5-ص181) ---------------- */
/* المنبثقة المشتركة (D.uiPop) — الحاسوب: تحت الحقل · الهاتف/التطبيق: صفيحة سفلية */
.uip{position:fixed;z-index:var(--z-palette);display:flex;flex-direction:column;min-height:0;background:var(--menu);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sh-3);overflow:hidden;animation:uipIn var(--d2) var(--ease)}
.uip.up{animation-name:uipUpIn}
.uip-b{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}
@keyframes uipIn{from{opacity:0;transform:translateY(-4px)}}
@keyframes uipUpIn{from{opacity:0;transform:translateY(4px)}}
.uip-ov{position:fixed;inset:0;z-index:var(--z-palette);display:flex;align-items:flex-end;background:var(--scrim);animation:fade var(--d2) backwards;transition:opacity var(--d2)}
.uip-ov.out{opacity:0}
.uip.sheet{position:relative;inset:auto;width:100%;max-height:82vh;border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:var(--sab);border-bottom:0;animation:uipSheet var(--d3) var(--ease);transition:transform var(--d2) var(--ease)}
.uip.sheet.out{transform:translateY(100%)}
@keyframes uipSheet{from{transform:translateY(100%)}}
.uip-grab{display:block;flex:none;width:40px;height:4px;margin:8px auto 4px;border-radius:999px;background:var(--line-hi);touch-action:none}
.uip-h{flex:none;padding:4px 16px 10px;border-bottom:1px solid var(--line2);font-weight:var(--w-semi);text-align:center;touch-action:none}

/* 6-أ القائمة: بحث · عناوين المجموعات · نقطة اللون · المحدَّد بالأزرق (4-ب) */
.uis-q{flex:none;display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--line2);color:var(--mute)}
.uis-q .ic{width:16px;height:16px;flex:none}
.uis-q input{min-height:32px;padding:2px 4px}
:root .uip .uis-q input,:root .uip .uis-q input:focus{border:0;background:transparent;box-shadow:none}
.uis-ls{flex:1;min-height:0;overflow:auto;padding:4px;outline:none}
.uis-g{padding:8px 12px 4px;font-size:var(--t-2xs);font-weight:var(--w-bold);color:var(--mute)}
.uis-o{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border-inline-start:3px solid transparent;border-radius:var(--r-xs);font-size:var(--t-sm);color:var(--ink);cursor:pointer}
.uis-o span{flex:1;min-width:0}
.uis-o.hi{background:var(--field)}
.uis-o.on{color:var(--pri);font-weight:var(--w-semi);background:var(--pri-soft);border-inline-start-color:var(--pri)}
.uis-o .ic{width:16px;height:16px;flex:none}
.uis-o.dis{opacity:.45;cursor:not-allowed}
.uis-o mark{border-radius:2px;color:inherit;background:color-mix(in srgb,var(--warn) 30%,transparent)}
.uis-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--dc,var(--mute))}
.uis-none{padding:12px;font-size:var(--t-sm);color:var(--mute)}
.uip.sheet .uis-o{min-height:46px;font-size:var(--t-md)}
.uip.sheet .uis-q input{min-height:40px}

/* 7-أ حقل العرض والمنتقي */
.uid-nat{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none;overflow:hidden;clip-path:inset(50%)}
input.uid{cursor:pointer;text-align:start}
input.uid:disabled{cursor:not-allowed}
/* مرايا القواعد التي تستهدف الحقل الأصلي بنوعه (الحقل الظاهر نصّي للقراءة) */
input.uid{font-variant-numeric:tabular-nums}
label.f:has(>input[type=date])>input.uid[data-uid-type=date]{max-width:300px}
.rem .rt input.uid[data-uid-type=time]{width:110px}
.htools.afilt input.uid[data-uid-type=date]{max-width:150px}
.ents .ent input.uid[data-uid-type=date]{flex:1;min-width:0}
.ep-mrow input.uid{flex:1;width:auto}
.uidp .uid-hd{display:flex;align-items:center;gap:6px;padding:10px}
.uidp .uid-hd select{flex:1;min-width:0;min-height:32px;padding:2px 8px;font-size:var(--t-sm)}
.uidp .uid-hd .ibtn{width:32px;height:32px;flex:none;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field);color:var(--ink2);box-shadow:none}
.uidp .uid-hd .ibtn:hover{background:var(--surface2)}
.uidp .uid-hd select[data-m]{flex:2}
.uidp .uid-nx{transform:scaleX(-1)}
.uid-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:0 10px}
.uid-dw{padding:4px 0;font-size:var(--t-2xs);font-weight:var(--w-semi);text-align:center;color:var(--mute)}
.uid-d{display:grid;place-items:center;min-height:34px;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--ink);font:inherit;font-size:var(--t-sm);cursor:pointer;transition:background var(--d1)}
.uid-d:hover{background:var(--field)}
.uid-dw.fri,.uid-d.fri{color:var(--bad)}
.uid-d.out{opacity:.5}
.uid-d.td{outline:2px solid var(--pri);outline-offset:-2px}
.uid-d.on,.uid-d.on.fri{background:var(--pri);color:var(--pri-ink)}
.uid-d:disabled{opacity:.25;cursor:not-allowed}
.uid-ft{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding:10px;border-top:1px solid var(--line2)}
.uid-ft .btn.txt{margin-inline-start:auto}
.uip.sheet .uid-d{min-height:44px;font-size:var(--t-md)}
.uit-in{flex:none;display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--line2)}
.uit-in input{direction:ltr;text-align:center}
.uit-in input.bad{border-color:var(--bad)}
.uit-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:10px;overflow:auto;min-height:0;flex:1}
.uit-s{min-height:34px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-sm);cursor:pointer}
.uit-s:hover{border-color:var(--pri)}
.uit-s.on{border-color:var(--pri);background:var(--pri);color:var(--pri-ink)}
.uit-s:disabled{opacity:.35;cursor:not-allowed}
.uip.sheet .uit-s{min-height:44px}

/* 13-أ الصفيحة تمتدّ للطول الكامل بالسحب للأعلى */
@media (max-width:640px){
  .ov.sheet .md.full{max-height:calc(100vh - var(--sat))}
}

/* 8-أ المفتاح في الإعدادات: الحبّة تصير سطراً */
label.swl{gap:10px;border-color:transparent;background:transparent;padding-inline:0}

@media (prefers-reduced-motion:reduce){.uip,.uip.sheet,.uip-ov{animation:none}.uip.sheet,.uip-ov{transition:none}}
/* ---------------- (الحزمة 168 — الجولة 70: الجداول · الشريط · الفارغ · المؤثرات · الدخول · §5-ص182) ---------------- */
/* 11-ج الجداول: الكثافة «مضغوطة» (من «حسابي») · الصفّ المحدَّد بالأزرق (4-ب) · تلميح الفرز */
:root[data-dense="1"] td{height:32px;padding-block:4px}
:root[data-dense="1"] th{padding-block:6px}
tbody tr:has(>td>input[type=checkbox]:checked)>td{background:var(--pri-soft)}
tbody tr:has(>td>input[type=checkbox]:checked)>td:first-child{border-inline-start:3px solid var(--pri)}
th[data-sort]:not(.on)::after{content:"⇅";margin-inline-start:4px;opacity:.35;font-size:var(--t-2xs)}
/* 16 تلاشي الحافة: ما دام في الحاوية بقية تحتها */
.fe-on{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent)}
/* 11-ج كل صفّ بطاقة على الهاتف — العمود الأول عنوانها وبقية الخلايا «عنوان العمود: القيمة» */
@media (max-width:640px){
  :root table.mcard,:root table.mcard tbody{display:block;width:100%}
  :root table.mcard thead{display:none}
  :root table.mcard tr{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:0 0 8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
  :root table.mcard tr[hidden]{display:none}
  :root table.mcard td{direction:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;height:auto;padding:4px 0;border:0;text-align:end}
  :root table.mcard td::before{content:attr(data-l);flex:none;max-width:45%;text-align:start;color:var(--mute);font-size:var(--t-2xs);font-weight:var(--w-semi)}
  :root table.mcard td:first-child{font-weight:var(--w-semi)}
  :root table.mcard td:first-child::before{display:none}
  :root table.mcard td:empty,:root table.mcard td.col-x{display:none}
  :root table.mcard td.act{justify-content:flex-end}
  :root table.mcard tbody tr:hover td{background:transparent}
  :root table.mcard tr:has(>td>input[type=checkbox]:checked){border-color:var(--pri);background:var(--pri-soft)}
  :root table.mcard tr:has(>td>input[type=checkbox]:checked)>td{background:transparent;border:0}
}

/* 17-ب الحبّة المنزلقة في الشريط (عنصر واحد خلف الروابط) */
.nav-ind{position:absolute;top:0;left:0;z-index:var(--z-base);pointer-events:none;opacity:0;transition:transform var(--d3) var(--ease),width var(--d3) var(--ease),height var(--d3) var(--ease),opacity var(--d2)}
.nav a{z-index:var(--z-raise)}
.nav a.ind-on{background:transparent}

/* 16-أ الفارغ: رسم خطّي بلون القسم حول الأيقونة */
.empty-art{position:relative;display:grid;place-items:center;width:112px;height:112px;margin:0 auto 8px;color:var(--ic,var(--pri))}
.empty-art .ea{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4}
.empty-art .ea-o{stroke-dasharray:4 6;opacity:.35}
.empty-art .ea-i{fill:color-mix(in srgb,currentColor 8%,transparent);opacity:.6}
.empty-art .ea-d,.empty-art .ea-s{fill:currentColor;stroke:none;opacity:.4}
.empty .empty-art svg.ic{width:44px;height:44px;margin:0}

/* المؤثرات (fx.js) */
.odo{display:inline-flex;direction:ltr;vertical-align:bottom}
.od{display:inline-block;height:1.2em;line-height:1.2em;overflow:hidden}
.odc{display:flex;flex-direction:column}
.odc i{display:block;height:1.2em;line-height:1.2em;font-style:normal}
.m-spark{position:fixed;z-index:var(--z-toast);width:0;height:0;pointer-events:none}
.m-spark i{position:absolute;left:-1px;top:-5px;width:2px;height:10px;border-radius:2px;background:var(--ok)}
.mt-row{position:relative}
@media (hover:hover){
  .spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(220px circle at var(--mx) var(--my),color-mix(in srgb,var(--ic,var(--pri)) 12%,transparent),transparent 70%)}
  .vcell.tilt,span[data-b].tilt{position:relative}
  .vcell.tilt::after,span[data-b].tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120px circle at var(--gx) 30%,color-mix(in srgb,white 35%,transparent),transparent 70%)}
}
.m-shine{background-image:linear-gradient(110deg,transparent 35%,color-mix(in srgb,white 65%,transparent) 50%,transparent 65%);background-size:250% 100%;background-repeat:no-repeat}
.m-holdb{position:relative;overflow:hidden}
.m-holdb::after{content:"";position:absolute;top:0;bottom:0;inset-inline-start:0;width:var(--hp,0%);pointer-events:none;background:color-mix(in srgb,var(--bad) 28%,transparent)}
.m-status{position:fixed;z-index:var(--z-toast);top:calc(var(--top-h) + var(--sat) + 10px);inset-inline:0;width:max-content;margin-inline:auto;display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--menu);box-shadow:var(--sh-3);font-size:var(--t-sm);font-weight:var(--w-semi);animation:uipIn var(--d2) var(--ease);transition:opacity var(--d2)}
.m-status svg{width:22px;height:22px;flex:none}
.m-status .r{fill:none;stroke:var(--pri);stroke-width:2.4;stroke-dasharray:40 100;transform-origin:center;animation:ddspin .8s linear infinite}
.m-status .k{fill:none;stroke:var(--pri-ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity var(--d2)}
.m-status.ok .r{animation:none;stroke-dasharray:none;fill:var(--ok);stroke:var(--ok)}
.m-status.bad .r{animation:none;stroke-dasharray:none;fill:var(--bad);stroke:var(--bad)}
.m-status.ok .k,.m-status.bad .k{opacity:1}
.m-status.out{opacity:0}

/* س3 صفحة الدخول: الشفق في لوح الهوية · التحية · أيقونات الحقلين · خيط أعلى الصندوق */
.login.la .art .aur{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.login.la .art .aur i{position:absolute;width:55%;aspect-ratio:1;border-radius:50%;filter:blur(40px);opacity:.4}
.login.la .art .aur i:nth-child(1){top:-12%;inset-inline-start:-12%;background:var(--hk-1)}
.login.la .art .aur i:nth-child(2){bottom:-18%;inset-inline-end:6%;background:var(--hk-3)}
.login.la .art .aur i:nth-child(3){top:32%;inset-inline-start:28%;background:var(--hk-2);opacity:.32}
.login .lg-greet{margin:0 0 2px;text-align:center;color:var(--pri);font-size:var(--t-sm);font-weight:var(--w-semi);min-height:1.5em}
.login label.f{position:relative}
.login .lf-ic{position:absolute;inset-inline-start:12px;bottom:calc(var(--h-ctl) / 2 - 9px);z-index:var(--z-raise);display:grid;place-items:center;pointer-events:none;color:var(--mute)}
.login .lf-ic .ic{width:18px;height:18px}
.login .lf-ic+input{padding-inline-start:40px}

@media (prefers-reduced-motion:reduce){.nav-ind,.m-status{transition:none;animation:none}.m-status .r{animation:none}}
/* ---------------- (الحزمة 169 — الجولة 72: النقاط اليدوية — الطلب والاعتماد والتعديل · نافذة «جلسات Ai» · §5-ص184) ---------------- */
/* 1-أ العدد الأحمر بجانب «طلبات النقاط» */
.ndot.ncnt{width:auto;height:18px;min-width:18px;padding:0 6px;border-radius:999px;color:var(--on-bad,var(--solid));font-size:var(--t-2xs);font-weight:var(--w-bold);font-style:normal;line-height:18px;text-align:center;box-shadow:none}
.nav .sub a .ndot.ncnt{width:auto;height:18px}
/* «أثر المقدار»: الأصل مشطوب ثم الجديد — LTR */
.amt{display:inline-flex;align-items:baseline;gap:6px;direction:ltr;white-space:nowrap;font-variant-numeric:tabular-nums}
.amt b{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ok)}
.amt b.neg{color:var(--bad)}
.amt s{font-size:var(--t-sm);color:var(--mute);text-decoration-thickness:2px;text-decoration-color:color-mix(in srgb,var(--bad) 70%,transparent)}
.amt .ar{color:var(--mute);font-size:var(--t-xs)}
.amt.lg b{font-size:var(--t-xl)}.amt.lg s{font-size:var(--t-md)}
/* «رحلة السطر» */
.trail{display:flex;align-items:center;flex-wrap:wrap;row-gap:4px;font-size:var(--t-xs);color:var(--mute)}
.trail .stp{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.trail .stp i{width:8px;height:8px;border-radius:50%;background:var(--k,var(--mute));flex:none}
.trail .stp b{color:var(--ink2);font-weight:var(--w-semi)}
.trail .lnk{width:18px;height:2px;background:var(--line);margin:0 6px;flex:none}
.trail .stp.s-rq{--k:var(--vio)}.trail .stp.s-ed{--k:var(--warn)}.trail .stp.s-ap{--k:var(--ok)}.trail .stp.s-rj{--k:var(--bad)}.trail .stp.s-wt{--k:var(--warn)} /* لا .req: صنف عامّ للنجمة الإلزامية (font-size:0) */
.trail .stp.s-wt i{box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 22%,transparent)}
/* اللافتة لمسؤول المسار */
.pq-ban{display:flex;gap:10px;align-items:flex-start;margin:10px 14px 0;padding:10px 12px;border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--ink2);background:color-mix(in srgb,var(--vio) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--vio) 28%,var(--line))}
.pq-ban svg{color:var(--vio);flex:none;margin-top:2px}
.frm .pq-ban{margin:0 0 4px}
/* صفحة «طلبات النقاط» */
.pq-list{display:grid;gap:10px}
.preq{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);transition:border-color var(--d2),background var(--d2),opacity var(--d3)}
.preq.done{border-color:color-mix(in srgb,var(--ok) 45%,var(--line));background:color-mix(in srgb,var(--ok) 6%,var(--surface))}
.preq.rej{border-color:color-mix(in srgb,var(--bad) 40%,var(--line));background:color-mix(in srgb,var(--bad) 5%,var(--surface));opacity:.8}
.pq-top{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.pq-top .pq-who{flex:1}
.pq-who{display:flex;align-items:center;gap:10px;min-width:0}
.pq-who b{display:block;font-size:var(--t-sm);font-weight:var(--w-semi);line-height:1.35}.pq-who b a{color:inherit}
.pq-who small{display:block;font-size:var(--t-xs);color:var(--mute)}
.pq-av{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:var(--w-bold);color:var(--pri);background:var(--pri-soft)}
.pq-it{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--t-sm);font-weight:var(--w-semi)}
.pq-it svg{width:15px;height:15px;color:var(--warn);flex:none}
.pq-it s{color:var(--mute);font-weight:var(--w-reg)}
.pq-nt{font-size:var(--t-sm);color:var(--ink2);background:var(--surface2);border-radius:var(--r-sm);padding:6px 10px;border-inline-start:3px solid var(--vio)}
.pq-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:10px}
.pq-act .sp{flex:1}
.pq-rng{font-size:var(--t-xs);color:var(--mute)}
.pq-rsn{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pq-rsn[hidden]{display:none}
.pq-rsn input{flex:1;min-width:180px}
.pq-row{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) auto auto;gap:6px 14px;align-items:center;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface)}
.pq-mid{display:grid;gap:4px;min-width:0}
.pq-why{font-size:var(--t-xs);color:var(--bad);background:color-mix(in srgb,var(--bad) 7%,var(--surface));border-radius:var(--r-xs);padding:4px 8px}
/* المعدِّل ± */
.stpr{display:inline-flex;align-items:center;height:38px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field,var(--surface));overflow:hidden}
.stpr button{width:36px;height:100%;border:0;background:transparent;color:var(--ink2);font-size:var(--t-lg);cursor:pointer}
.stpr button:hover{background:var(--surface2)}
.stpr input{width:64px;height:100%;border:0;background:transparent;text-align:center;direction:ltr;font-weight:var(--w-bold);font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield;box-shadow:none}
.stpr input::-webkit-inner-spin-button,.stpr input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
/* سجلّ النقاط: الأصل المشطوب · المحذوف · «⋯» والقفل */
.le .lx-o{color:var(--mute);font-size:var(--t-xs);text-decoration-thickness:2px;text-decoration-color:color-mix(in srgb,var(--bad) 70%,transparent);margin-inline-end:-4px}
.le.gone{opacity:.55}.le.gone .t b{text-decoration:line-through}.le.gone>.st{text-decoration:line-through}
.le .lx-mn{flex:none;margin-inline-start:-4px}
.le .lx-lk{flex:none;width:30px;display:grid;place-items:center;color:var(--line-hi,var(--mute))}
.le .lx-lk svg{width:15px;height:15px}
.uis-o.lx-del{color:var(--bad)}
.lx-cmp{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface2);border:1px solid var(--line2);font-size:var(--t-sm)}
.lx-cmp small{display:block}
/* نافذة «فُتح حجز جلسات Ai» */
.aigate{text-align:center;padding:6px 4px 2px}
.aigate .aig-ic{width:64px;height:64px;margin:0 auto 10px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--pri);color:var(--pri-ink,var(--solid))}
.aigate .aig-ic svg{width:32px;height:32px}
.aigate h2{margin:0;font-size:var(--t-xl);font-weight:var(--w-bold)}
.aigate p{margin:6px 0 0;color:var(--ink2)}
.aigate .aig-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin:14px 0 4px;font-size:var(--t-xs);color:var(--mute)}
.aigate .aig-meta b{color:var(--ink)}
@media (max-width:640px){
  .pq-row{grid-template-columns:minmax(0,1fr) auto}
  .pq-row .pq-mid{grid-column:1/-1;order:3}
  .pq-act .pq-rng{width:100%;order:-1}
}
/* ---------------- (الحزمة 170 — الجولة 66 «7-أ · 8-أ»: «التقييمات» في مسار التدريب · §5-ص185) ---------------- */
.ev-sc{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ev-sc b{font-size:var(--t-md);font-weight:var(--w-bold)}
.ev-sc small{color:var(--mute);font-size:var(--t-xs)}
.ev-thl{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink2)}
.ev-fv{display:inline-flex;gap:6px;flex-wrap:wrap}
.ev-fv .chip{cursor:default}
.ev-kp3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ev-rk3 > div{display:grid;gap:2px;min-width:0}
.ev-rk3 > div > span{font-weight:var(--w-semi)}
.ev-dash{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}
.ev-dash > .card{margin:0}
.ev-ind{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ev-ind .tn-kpi{margin:0}
.ev-cv{width:100%;height:auto;display:block}
.ev-cv .ev-ax{font-size:var(--t-2xs);fill:var(--mute);font-family:inherit}
.ev-cv0{padding:6px 0}
.ev-lg{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-size:var(--t-xs);color:var(--ink2);margin-top:6px}
.ev-lg i{display:inline-block;width:14px;height:4px;border-radius:999px;margin-inline-end:6px;vertical-align:middle}
.ev-att > div{min-width:0;flex:1}
.ev-bars{display:grid;gap:4px;margin-top:6px}
.ev-bars > div{display:grid;grid-template-columns:72px minmax(0,1fr) 30px;align-items:center;gap:6px}
.ev-bars small{font-size:var(--t-2xs);color:var(--mute);white-space:nowrap}
.ev-bars i{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--ic) var(--v),var(--line2) var(--v))}
.ev-bars b{font-size:var(--t-xs);text-align:end}
.ev-pb{display:block;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--ok) var(--v),var(--line2) var(--v))}
.ev-list{display:grid;gap:8px}
.ev-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto minmax(110px,auto);gap:14px;align-items:center;width:100%;text-align:start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card-bg,var(--surface));color:var(--ink);font:inherit;cursor:pointer;transition:border-color var(--d2),transform var(--d2)}
.ev-row:hover{border-color:var(--pri);transform:translateY(-1px)}
.ev-rt{min-width:0}.ev-rt b{display:block;font-weight:var(--w-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev-rt small{display:flex;align-items:center;gap:4px;color:var(--mute);font-size:var(--t-xs)}.ev-rt small svg{width:13px;height:13px}
.ev-rp{display:grid;gap:4px}.ev-rp small{font-size:var(--t-xs);color:var(--ink2)}
.ev-rc{display:flex;gap:10px}
.ev-who{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);color:var(--mute)}.ev-who svg{width:15px;height:15px}.ev-who b{color:var(--ink)}
.ev-rs{justify-self:end}
.ev-job{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;align-items:center;padding:10px 14px;margin-bottom:12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--info) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--info) 28%,var(--line));font-size:var(--t-sm)}
.ev-job.done{background:color-mix(in srgb,var(--ok) 8%,var(--surface));border-color:color-mix(in srgb,var(--ok) 28%,var(--line))}
.ev-job svg{width:18px;height:18px;color:var(--info)}.ev-job.done svg{color:var(--ok)}
.ev-job .ev-pb{grid-column:1/-1}
.ev-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.ev-pc{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card-bg,var(--surface));padding:12px 14px;display:grid;gap:10px}
.ev-pch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ev-pch svg{width:18px;height:18px;color:var(--pri)}.ev-pch b{flex:1}
.ev-pcs{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ev-secs{display:grid;gap:10px}
.ev-secs > div{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:var(--t-sm)}
.ev-secs .ev-pb{height:10px}
.ev-ta{display:inline-flex;gap:6px}
.ev-cp{display:flex;gap:8px}.ev-cp input{flex:1;min-width:0}
.ev-ck{display:flex;align-items:center;gap:8px;font-size:var(--t-sm)}
.ev-sum{padding:10px 12px;border-radius:var(--r-sm);background:var(--pri-soft);color:var(--ink);font-size:var(--t-sm)}
.ev-sum b{font-size:var(--t-lg);color:var(--pri)}
.ev-msg{padding:10px 12px;border-radius:var(--r-sm);border:1px dashed var(--line);font-size:var(--t-sm)}
.ev-msg b{display:block;margin:2px 0}.ev-msg p{margin:0;color:var(--ink2);line-height:1.7}
.ev-frame{margin:-6px -4px}
.ev-frame iframe{display:block;width:100%;height:min(72vh,760px);border:0;border-radius:var(--r-sm);background:var(--bg)}
.ev-ans{display:grid;gap:14px}
.ev-ah{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line2)}.ev-ah small{display:block}
.ev-ans section h4{margin:0 0 6px;display:flex;align-items:center;gap:8px;font-size:var(--t-md)}
.ev-sp{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-sm)}
.ev-qa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:6px 0;border-top:1px dashed var(--line2);font-size:var(--t-sm)}
.ev-qa span{color:var(--ink2)}.ev-qa b{font-weight:var(--w-semi)}
@media (max-width:820px){.ev-dash{grid-template-columns:1fr}.ev-kp3{grid-template-columns:1fr}.ev-two{grid-template-columns:1fr}
  .ev-row{grid-template-columns:minmax(0,1fr) auto}.ev-rp{grid-column:1/-1;order:3}.ev-rc{order:4}.ev-rs{order:2}}
@media (max-width:640px){.ev-ind{grid-template-columns:1fr}.ev-qa{grid-template-columns:1fr;gap:2px}.ev-secs > div{grid-template-columns:1fr auto}.ev-secs .ev-pb{grid-column:1/-1;order:3}}
/* ---------------- (الحزمة 171 — طلبات المالك: Excel المقبولين في EngiPath · §5-ص186) ---------------- */
.ep-accq{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ep-accq input{flex:1 1 240px;min-width:0;width:auto}
.ep-accq .btn{flex:none}
/* ---------------- (الحزمة 172 — فترات إحصائية النقاط · الجولة 73 «1-أ · 2-أ · 3-أ · 4-أ»: §5-ص188) ---------------- */
.xpp-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.xpp-m{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;cursor:pointer;background:var(--surface)}
.xpp-m:has(input:checked){border-color:var(--pri);background:color-mix(in srgb,var(--pri) 6%,var(--surface))}
.xpp-m b{display:block;font-weight:var(--w-semi)}
.xpp-m small{display:block;color:var(--mute);font-size:var(--t-xs)}
.xpp-c{border:1px dashed var(--line);border-radius:var(--r-sm);padding:12px;margin-bottom:12px}
.xpp-pre{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.xpp-ym{display:flex;gap:6px}
.xpp-ym select{flex:1;min-width:0}
.xpp-lb{font-weight:var(--w-semi);font-size:var(--t-sm);margin:10px 0 6px}
.xpp-segs{display:grid;gap:6px;margin-bottom:8px}
.xpp-seg{display:grid;grid-template-columns:80px minmax(0,220px) auto;gap:8px;align-items:center}
.xpp-seg .n{color:var(--ink2);font-size:var(--t-sm)}
.xpp-none{font-size:var(--t-sm)}
.xpp-chips{display:flex;gap:8px;flex-wrap:wrap}
.xpp-p{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 10px;background:var(--surface)}
.xpp-p b{font-weight:var(--w-semi);font-size:var(--t-sm)}
.xpp-p small{color:var(--mute);font-size:var(--t-xs)}
.xpp-p.on{border-color:var(--pri);background:color-mix(in srgb,var(--pri) 8%,var(--surface))}
.xpp-p.on small{color:var(--pri)}
.xpp-ft{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
@media (max-width:640px){.xpp-mode{grid-template-columns:1fr}.xpp-seg{grid-template-columns:70px minmax(0,1fr) auto}}
/* الجولة 73 «1-أ» — انتقالات المتصفح الأصلية (الموجِّه · صورة المتطوع إلى بروفايله) */
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--d3);animation-timing-function:var(--ease)}
::view-transition-group(dd-vav){animation-duration:var(--d3);animation-timing-function:var(--ease)}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
.card h3,.ch h3,.phead h1,.hh h1,.md h2{text-wrap:balance}
/* ---------------- (الحزمة 173 — طلب المالك: ساعات التأثير في اعتماد طلبات الحضور · §5-ص189) ---------------- */
.imp173 .imp-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.imp173 .imp-row input{width:110px;flex:none}
.imp173 .imp-row input.bad{border-color:var(--bad)}
.imp173 .imp-xp{color:var(--ok);font-weight:var(--w-semi)}
.imp173 .hint{display:block;margin-top:4px}
/* ---------------- (الحزمة 174 — اختبارات EngiPath · الجولتان 74 و75 + التجربة + المتصلون الآن: §5-ص192) ---------------- */
:root{--tp-safety:#A35F00;--tp-lang:#0616C4;--tp-docs:#2F4C93;--tp-uni:#0B7A43;--tp-proj:#0D63B0;--tp-time:#8F5200;--tp-eth:#6B3BD1;--tp-ai:#4B2B6C;--tp-bim:#0E6A82;--tp-doc:#B8133B;--tp-gen:#5A6285}
:root[data-mode=dark]{--tp-safety:#FFCA16;--tp-lang:#8A97FF;--tp-docs:#9EB1FF;--tp-uni:#3DD68C;--tp-proj:#70B8FF;--tp-time:#E8B45C;--tp-eth:#BC9DF7;--tp-ai:#C9A7E8;--tp-bim:#75C7F0;--tp-doc:#FF9592;--tp-gen:#9CA3B2}
html.epq-on,html.epq-on body{overflow:hidden}
.epq{position:fixed;inset:0;z-index:var(--z-force);background:var(--bg);display:flex;flex-direction:column;align-items:center;color:var(--ink)}
.epq.navy{color:white;background-color:var(--navy-900);background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),radial-gradient(120% 70% at 50% 0%,var(--navy-600) 0%,var(--navy-900) 55%,var(--navy-950) 100%);background-size:22px 22px,22px 22px,auto}
.epq-trial{flex:none;width:100%;display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:var(--t-2xs);background:color-mix(in srgb,var(--warn) 14%,var(--surface));color:var(--ink);position:relative;z-index:var(--z-raise3)}
.epq-trial span{flex:1}
.epq-trial svg.ic{width:16px;height:16px;color:var(--warn)}
.epq-in{flex:1;min-height:0;width:100%;max-width:600px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--bg)}
@media (min-width:821px){.epq-in{border-inline:1px solid var(--line)}}
/* البوّابة الإجبارية (74: 1-أ) */
.epq-gate{flex:1;width:100%;max-width:520px;overflow:auto;display:flex;flex-direction:column;padding:48px 20px 24px}
.epq-lock{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-2xs);background:rgba(255,255,255,.1);border-radius:999px;padding:4px 10px;align-self:flex-start;margin-bottom:12px}
.epq-lock svg.ic{width:14px;height:14px}
.epq-brand{font-size:var(--t-2xs);letter-spacing:.08em;opacity:.75}
.epq-gate h2{margin:6px 0 2px;font-size:var(--t-xl);line-height:1.3;color:white}
.epq-who{margin:0;font-size:var(--t-xs);opacity:.82}
.epq-tblk{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.28);border-radius:var(--r);margin:18px 0 14px;overflow:hidden}
.epq-tblk div{padding:10px 6px;text-align:center;border-inline-start:1px solid rgba(255,255,255,.18)}
.epq-tblk div:first-child{border-inline-start:0}
.epq-tblk b{display:block;font-size:var(--t-xl);line-height:1.2}
.epq-tblk small{font-size:var(--t-2xs);opacity:.72}
.epq-rules{display:grid;gap:10px;margin:0;padding:0;list-style:none;font-size:var(--t-xs)}
.epq-rules li{display:flex;gap:10px;align-items:flex-start}
.epq-rules svg.ic{width:20px;height:20px;flex:none;opacity:.8}
.epq-go{margin-top:auto;padding-top:24px;display:grid;gap:8px}
.epq-start{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:54px;border:0;border-radius:var(--r);background:white;color:var(--navy-900);font-size:var(--t-md);font-weight:var(--w-bold);cursor:pointer;transition:transform var(--d1) var(--ease)}
.epq-start:active{transform:scale(.98)}
.epq-start[disabled]{opacity:.7;cursor:progress}
.epq-start svg.ic{width:20px;height:20px}
.epq-go small{text-align:center;font-size:var(--t-2xs);opacity:.7}
/* الترويسة والمؤقّت والنقاط (75: 1-أ · 2-ج) */
.epq-hd{flex:none;padding:16px 18px 10px}
.epq-hd2{border-bottom:1px solid var(--line)}
.epq-hr{display:flex;align-items:center;gap:10px}
.epq-ttl{flex:1;min-width:0}
.epq-ttl small{display:block;font-size:var(--t-2xs);color:var(--mute);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epq-ttl b{font-size:var(--t-md);font-weight:var(--w-bold)}
.epq-tm{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:var(--t-sm);font-weight:var(--w-semi);transition:background var(--d3),color var(--d3),border-color var(--d3)}
.epq-tm svg.ic{width:17px;height:17px}
.epq-tm.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--surface));border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}
.epq-tm.crit{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--surface));border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}
.epq-tm.pulse{animation:epqPl var(--d3) ease-in-out infinite alternate}
@keyframes epqPl{to{transform:scale(1.06)}}
.epq-gb{width:44px;height:44px;flex:none;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink2)}
.epq-gb svg.ic{width:20px;height:20px}
.epq-dots{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px;margin-top:10px}
.epq-dots button{border:0;background:transparent;padding:6px;cursor:pointer;display:grid;place-items:center}
.epq-dots i{display:block;width:10px;height:10px;border-radius:999px;background:var(--line);transition:width var(--d2) var(--ease),background var(--d2)}
.epq-dots .a i{background:color-mix(in srgb,var(--pri) 55%,var(--surface))}
.epq-dots .cur i{width:26px;background:var(--pri)}
.epq-dots .fl i{box-shadow:0 0 0 2px var(--warn)}
/* السؤال */
.epq-bd{flex:1;min-height:0;overflow:auto;padding:4px 18px 16px;position:relative;overscroll-behavior:contain}
.epq-qin{animation:epqIn var(--d3) var(--ease)}
@keyframes epqIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.epq-top{display:flex;align-items:center;gap:8px;margin:6px 0 12px;flex-wrap:wrap}
.epq-tp{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-2xs);font-weight:var(--w-bold);border-radius:999px;padding:4px 10px 4px 8px;color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,var(--surface))}
.epq-tp svg.ic{width:15px;height:15px}
.epq-day{font-size:var(--t-2xs);color:var(--mute);font-weight:var(--w-semi)}
.epq-scene{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.epq-scene span{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-2xs);border-radius:var(--r-xs);padding:4px 8px;background:var(--surface2);border:1px dashed var(--line);color:var(--ink2)}
.epq-scene svg.ic{width:14px;height:14px;color:var(--pri)}
.epq-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:0 0 10px}
.epq-vs b{display:block;text-align:center;border-radius:var(--r-sm);padding:8px 6px;font-size:var(--t-xs);background:var(--pri-soft);color:var(--pri)}
.epq-vs i{font-style:normal;font-size:var(--t-2xs);color:var(--mute);font-weight:var(--w-bold)}
.epq-code{display:flex;justify-content:center;gap:2px;margin:2px 0 12px;overflow-x:auto}
.epq-code span{flex:none;font-size:var(--t-xs);font-weight:var(--w-semi);padding:6px 8px;border-radius:var(--r-xs);background:var(--pri-soft);color:var(--pri);position:relative}
.epq-code span+span{margin-inline-start:10px}
.epq-code span+span::before{content:"–";position:absolute;inset-inline-start:-8px;top:50%;transform:translateY(-50%);color:var(--mute);font-weight:var(--w-reg)}
.epq-quote{display:inline-block;margin:0 0 8px;padding:8px 12px;border-radius:var(--r);background:var(--surface2);font-weight:var(--w-semi);font-size:var(--t-sm)}
.epq-tri{display:flex;justify-content:center;margin:0 0 6px}
.epq-tri svg{width:180px;height:100px}
.epq-tri path{fill:none;stroke:var(--pri);stroke-width:1.6}
.epq-tri circle{fill:var(--warn)}
.epq-tri text{fill:var(--ink2)}
.epq-qt{font-size:var(--t-lg);font-weight:var(--w-bold);line-height:1.7;margin:0 0 6px;text-wrap:pretty}
.epq-hint{display:flex;align-items:center;gap:6px;font-size:var(--t-2xs);color:var(--mute);margin:0}
.epq-hint svg.ic{width:14px;height:14px}
.epq-ops{display:grid;gap:10px;margin-top:16px}
.epq-ops.stag .epq-o{animation:epqIn var(--d3) var(--ease)}
.epq-o{display:flex;gap:12px;align-items:center;width:100%;min-height:56px;text-align:start;border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r);padding:10px 14px 10px 12px;cursor:pointer;font-size:var(--t-sm);line-height:1.6;color:var(--ink);transition:border-color var(--d2),background var(--d2),transform var(--d1) var(--ease)}
.epq-o:active{transform:scale(.985)}
.epq-o .lt{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:var(--w-bold);font-size:var(--t-xs);background:var(--surface2);color:var(--ink2);border:1px solid var(--line2);transition:background var(--d2),color var(--d2)}
.epq-o.m .lt{border-radius:var(--r-xs)}
.epq-o .tx{flex:1;min-width:0}
.epq-o.on{border-color:var(--pri);background:var(--pri-soft);box-shadow:0 0 0 1px var(--pri)}
.epq-o.on .lt{background:var(--pri);color:var(--pri-ink);border-color:var(--pri)}
.epq-o:focus-visible,.epq-ci:focus-visible,.epq-nx:focus-visible,.epq-gb:focus-visible,.epq-dots button:focus-visible,.epq-sht .gr button:focus-visible,.epq-marks button:focus-visible,.epq-start:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.epq-pair{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.epq-pair .k{font-weight:var(--w-bold);font-size:var(--t-xs);border-radius:var(--r-xs);padding:2px 8px;background:var(--pri-soft);color:var(--pri)}
.epq-pair .ar{color:var(--mute)}
.epq-ft{flex:none;display:flex;gap:8px;align-items:center;padding:10px 18px 18px;margin-bottom:var(--sab)}
.epq-ci{width:48px;height:48px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink2);transition:background var(--d2),color var(--d2),border-color var(--d2)}
.epq-ci svg.ic{width:20px;height:20px}
.epq-ci[disabled]{opacity:.4;cursor:default}
.epq-ci.on{background:color-mix(in srgb,var(--warn) 14%,var(--surface));border-color:var(--warn);color:var(--warn)}
.epq-nx{flex:1;height:48px;border-radius:999px;border:0;background:var(--pri);color:var(--pri-ink);font-weight:var(--w-bold);font-size:var(--t-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.epq-nx svg.ic{width:18px;height:18px}
/* الصفيحة */
.epq-dim{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;pointer-events:none;transition:opacity var(--d2);z-index:var(--z-raise2)}
.epq-sht{position:absolute;inset-inline:0;bottom:0;z-index:var(--z-raise3);background:var(--surface);border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg);padding:10px 18px 20px;transform:translateY(105%);transition:transform var(--d3) var(--ease);box-shadow:var(--sh-3)}
.sheet-on .epq-dim{opacity:1;pointer-events:auto}
.sheet-on .epq-sht{transform:none}
.epq-sht .hn{width:40px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 12px}
.epq-sht h3{margin:0 0 2px;font-size:var(--t-md)}
.epq-sht p{margin:0 0 12px;font-size:var(--t-2xs);color:var(--mute)}
.epq-sht .gr{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.epq-sht .gr button{height:56px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;display:grid;place-items:center;position:relative;font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink2)}
.epq-sht .gr button.a{background:var(--pri-soft);border-color:color-mix(in srgb,var(--pri) 40%,var(--line));color:var(--pri)}
.epq-sht .gr button.e{border-style:dashed}
.epq-sht .gr button.cur{box-shadow:0 0 0 2px var(--pri)}
.epq-sht .gr .fl{position:absolute;top:4px;inset-inline-end:4px;width:14px;height:14px;color:var(--warn)}
.epq-sht .gr small{position:absolute;bottom:2px;font-size:var(--t-2xs);font-weight:var(--w-reg);color:var(--mute);line-height:1}
.epq-sht .lg{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--t-2xs);color:var(--mute);margin:12px 0}
.epq-sht .lg i{display:inline-block;width:10px;height:10px;border-radius:var(--r-xs);margin-inline-end:4px;vertical-align:-1px}
.epq-sht .lg .a{background:var(--pri-soft);border:1px solid var(--pri)}
.epq-sht .lg .e{border:1px dashed var(--line)}
.epq-sht .lg .f{background:var(--warn);border-radius:50%}
.epq-warnl{display:flex;align-items:center;gap:6px;color:var(--warn);font-size:var(--t-xs)}
.epq-warnl svg.ic{width:16px;height:16px}
.epq-sub{width:100%;height:48px;border-radius:999px;border:0;background:var(--ink);color:var(--surface);font-weight:var(--w-bold);font-size:var(--t-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.epq-sub.conf{background:var(--bad);color:white}
/* الانتظار */
.epq-wait{display:grid;justify-items:center;align-content:start;text-align:center;padding:40px 18px 20px;gap:8px}
.epq-wait .seal{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok);animation:epqPop var(--d3) var(--ease)}
.epq-wait .seal svg.ic{width:42px;height:42px}
@keyframes epqPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.epq-wait h2{margin:6px 0 0;font-size:var(--t-lg)}
.epq-wait p{margin:0;font-size:var(--t-xs);color:var(--ink2)}
.epq-cnt{margin-top:14px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;display:grid;gap:10px}
.epq-cnt b{font-size:var(--t-xl);line-height:1}
.epq-cnt small{font-size:var(--t-2xs);color:var(--mute)}
.epq-wd{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}
.epq-wd i{width:10px;height:10px;border-radius:50%;background:var(--line);transition:background var(--d3)}
.epq-wd i.d{background:var(--ok)}
.epq-err{display:grid;justify-items:center;gap:12px;padding:40px 20px;text-align:center}
.epq-err svg.ic{width:32px;height:32px;color:var(--bad)}
/* النتيجة: ختم الاعتماد (75: 3-أ) */
.epq-sheet{position:relative;height:330px;padding-top:18px;margin-top:12px;border-radius:var(--r-lg);border:1px solid var(--line);background-color:var(--surface);background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:16px 16px;display:grid;place-items:start center;overflow:hidden}
.epq-sheet .tbk{position:absolute;bottom:0;inset-inline-end:0;width:64%;display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--ink);border-inline-start:1.5px solid var(--ink);background:var(--surface);font-size:var(--t-2xs)}
.epq-sheet .tbk div{padding:4px 6px;border-inline-start:1px solid var(--line);border-top:1px solid var(--line)}
.epq-sheet .tbk small{color:var(--mute)}
.epq-sheet .tbk b{display:block;font-size:var(--t-xs)}
.epq-stamp{position:relative;width:190px;height:190px;transform:rotate(-12deg);opacity:.92}
.epq-stamp circle{fill:none;stroke:var(--sti)}
.epq-stamp .o{stroke-width:5}
.epq-stamp .o2{stroke-width:1.5}
.epq-stamp text{fill:var(--sti);font-weight:var(--w-bold)}
.epq-stamp .b,.epq-stamp .p{font-weight:var(--w-semi)}
.epq-stamp.in{animation:epqStamp var(--d3) cubic-bezier(.2,.9,.3,1.2) both}
@keyframes epqStamp{from{transform:scale(2.2) rotate(-24deg);opacity:0}to{transform:rotate(-12deg);opacity:.92}}
:root[data-mode=light] .epq-stamp{mix-blend-mode:multiply}
.epq-marks{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:14px 0 4px;padding-bottom:14px}
.epq-marks button{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;cursor:pointer;background:var(--surface);position:relative;padding:0}
.epq-marks button svg.ic{width:15px;height:15px}
.epq-marks button.ok{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--surface))}
.epq-marks button.no{border-color:var(--warn);color:var(--warn)}
.epq-marks button.half{border-color:var(--info);color:var(--info)}
.epq-marks button span{position:absolute;top:100%;font-size:var(--t-2xs);color:var(--mute);line-height:1.4}
.epq-mkh{text-align:center;font-size:var(--t-2xs);margin:4px 0 12px}
.epq-rvf{display:flex;gap:6px;margin-bottom:10px}
.epq-rvf button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 12px;font-size:var(--t-2xs);cursor:pointer;color:var(--ink2)}
.epq-rvf button.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.epq-rvs{display:grid;gap:10px}
.epq-rv{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;scroll-margin-top:12px;transition:box-shadow var(--d3)}
.epq-rv.flash{box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 30%,transparent)}
.epq-rv .hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.epq-rv .res{margin-inline-start:auto;font-size:var(--t-2xs);font-weight:var(--w-bold);border-radius:999px;padding:2px 10px}
.epq-rv .res.ok{background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok)}
.epq-rv .res.no{background:color-mix(in srgb,var(--bad) 12%,var(--surface));color:var(--bad)}
.epq-rv .res.half{background:color-mix(in srgb,var(--info) 12%,var(--surface));color:var(--info)}
.epq-rv .qt{font-size:var(--t-xs);font-weight:var(--w-bold);margin:0 0 6px}
.epq-rv .ro{display:flex;gap:8px;align-items:flex-start;font-size:var(--t-xs);padding:6px 10px;border-radius:var(--r-sm);border:1.5px solid transparent;margin-top:6px}
.epq-rv .ro svg.ic{width:16px;height:16px;margin-top:2px;flex:none}
.epq-rv .ro .tx{flex:1;min-width:0}
.epq-rv .ro .tg{margin-inline-start:auto;font-size:var(--t-2xs);font-weight:var(--w-bold);white-space:nowrap}
.epq-rv .ro.hit{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--surface))}
.epq-rv .ro.hit svg.ic,.epq-rv .ro.ms svg.ic,.epq-rv .ro.ms .tg{color:var(--ok)}
.epq-rv .ro.wr{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--surface))}
.epq-rv .ro.wr svg.ic,.epq-rv .ro.wr .tg{color:var(--bad)}
.epq-rv .ro.ms{border-color:var(--ok);border-style:dashed}
.epq-rv .why{margin-top:8px;font-size:var(--t-2xs);color:var(--ink2);background:var(--surface2);border-radius:var(--r-sm);padding:6px 10px;display:flex;gap:6px}
.epq-rv .why svg.ic{width:15px;height:15px;color:var(--pri);flex:none;margin-top:2px}
.epq-allok{display:flex;align-items:center;gap:6px;justify-content:center}
.epq-tend{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:16px 0}
/* «اختباراتي» في صفحة المهندس */
.epq-mine h3{display:flex;align-items:center;gap:8px}
.epq-mc-p{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--pri-soft);border-radius:var(--r);padding:10px 12px;margin-bottom:10px}
.epq-mc{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.epq-mc li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:var(--t-xs)}
.epq-mc li b{flex:1;min-width:0}
/* تبويب «الاختبارات» */
.epz-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.epz-head h3{display:flex;align-items:center;gap:8px;margin:0}
.epz-head p{margin:4px 0 0}
.epz-list{display:grid;gap:8px}
.epz-card{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.epz-card small{display:block;font-size:var(--t-2xs)}
.epz-acts{display:flex;gap:6px;flex-wrap:wrap}
.epz-rt tr.on td{background:var(--pri-soft)}
.epz-live{display:grid;gap:12px}
.epz-run{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.epz-run>div:nth-child(2){flex:1;min-width:200px}
.epz-pulse{width:44px;height:44px;border-radius:var(--r);display:grid;place-items:center;background:var(--surface2);color:var(--mute);position:relative;flex:none}
.epz-pulse.on{background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok)}
.epz-pulse.on::after{content:"";position:absolute;top:6px;inset-inline-end:6px;width:8px;height:8px;border-radius:50%;background:var(--ok);animation:epqBlink var(--d3) ease-in-out infinite alternate}
@keyframes epqBlink{to{opacity:.25}}
.epz-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--t-2xs);color:var(--mute);margin-top:2px}
.epz-meta b{color:var(--ink)}
.epz-cnt{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:var(--t-xs)}
.epz-sel{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--surface2);border:1px solid var(--pri);border-radius:var(--r);padding:8px 12px}
.epz-sel .sp{flex:1}
.epz-lt th.ck,.epz-lt td.ck{width:44px;text-align:center}
.epz-lt td.ck input,.epz-lt th.ck input{width:18px;height:18px}
.epz-lt tr.sel td{background:var(--pri-soft)}
.epz-on{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line);margin-inline-end:6px;vertical-align:middle}
.epz-on.y{background:var(--ok)}
/* نافذة التشغيل + المتصلون الآن */
.epz-launch{display:grid;gap:14px}
.epz-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;max-height:200px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px}
.epz-pick label{display:flex;gap:6px;align-items:center;font-size:var(--t-xs)}
.epz-dur{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.epz-dur button{min-width:52px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:var(--t-xs);color:var(--ink2)}
.epz-dur button.on{background:var(--pri);color:var(--pri-ink);border-color:var(--pri)}
.epz-dx{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs)}
.epz-dx input,.epz-meter .s input{width:64px;height:32px;text-align:center}
.epz-rm{display:grid;gap:6px}
.epz-rm label{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--r);padding:10px 12px;cursor:pointer;font-size:var(--t-xs)}
.epz-rm label.on{border-color:var(--pri);background:var(--pri-soft)}
.epz-rm label b,.epz-rm label small{display:block}
.epz-rm label small{color:var(--mute)}
.epz-rm .epz-dx{margin-top:6px}
.epz-meter{border:1px solid var(--line);border-radius:var(--r);padding:12px;display:grid;gap:8px;background:var(--surface)}
.epz-meter .t{display:flex;gap:10px;align-items:center;font-weight:var(--w-semi);font-size:var(--t-xs)}
.epz-meter .t span{flex:1;display:inline-flex;align-items:center;gap:6px}
.epz-meter .t b{font-size:var(--t-lg)}
.epz-meter .bar{position:relative;height:12px;border-radius:999px;background:var(--line2)}
.epz-meter .bar i{display:block;height:100%;border-radius:999px;background:var(--warn);transition:width var(--d3) var(--ease)}
.epz-meter .bar em{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}
.epz-meter.hit{border-color:var(--ok)}
.epz-meter.hit .bar i{background:var(--ok)}
.epz-meter .s{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:var(--t-xs)}
.epz-meter .s .ok{color:var(--ok);display:inline-flex;align-items:center;gap:4px;font-weight:var(--w-semi)}
.epz-off summary{cursor:pointer;font-size:var(--t-xs)}
.epz-off div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.epz-off span{font-size:var(--t-2xs);background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:2px 8px}
/* المحرّر */
.epz-ed{display:grid;gap:14px}
.epz-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.epz-row .f.grow{flex:1;min-width:200px}
.epz-row .f.sm{width:90px}
.epz-pass{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px dashed var(--line);border-radius:var(--r)}
.epz-swl{display:inline-flex;gap:8px;align-items:center;font-weight:var(--w-semi)}
.epz-q{border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;display:grid;gap:10px;background:var(--surface)}
.epz-q header{display:flex;gap:6px;align-items:center}
.epz-q header .sp{flex:1}
.epz-q .ic.up{transform:rotate(-90deg)}
.epz-q .ic.dn{transform:rotate(90deg)}
.epz-opts{display:grid;gap:6px}
.epz-opts .lbl{font-weight:var(--w-semi);font-size:var(--t-xs)}
.epz-o{display:flex;gap:8px;align-items:center}
.epz-o input[data-o]{flex:1;min-width:0}
.epz-k{display:inline-flex;gap:4px;align-items:center;font-weight:var(--w-bold)}
/* «الإحصاء ← الاختبارات» (74: 9-أ) */
.epz-ssw{margin-bottom:12px}
.epz-sh{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.epz-srun{display:flex;gap:8px;align-items:center;font-size:var(--t-xs)}
.epz-srun select{min-width:260px}
.epz-ch{width:100%;height:auto;display:block;overflow:visible}
.epz-ch text{fill:var(--mute)}
.epz-ch .ax{stroke:var(--line)}
.epz-ch rect.b{fill:var(--pri)}
.epz-ch rect.u{fill:color-mix(in srgb,var(--warn) 70%,transparent)}
.epz-ch text.v{fill:var(--ink)}
.epz-ch line.thr{stroke:var(--bad);stroke-dasharray:4 3}
.epz-ch text.thr{fill:var(--bad)}
.epz-ch .pt{fill:var(--pri);fill-opacity:.55;stroke:var(--surface)}
.epz-diff{display:grid;gap:6px}
.epz-diff .r{display:grid;grid-template-columns:34px 1fr 48px;gap:8px;align-items:center;font-size:var(--t-2xs)}
.epz-diff .r .n{color:var(--mute)}
.epz-diff .r .tr{height:22px;border-radius:var(--r-xs);background:var(--surface2);position:relative;overflow:hidden}
.epz-diff .r .tr i{position:absolute;inset-block:0;inset-inline-start:0;border-radius:var(--r-xs);background:color-mix(in srgb,var(--k) 40%,transparent)}
.epz-diff .r .tr span{position:absolute;inset-inline-start:8px;top:50%;transform:translateY(-50%);font-weight:var(--w-semi);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 16px)}
.epz-diff .r b,.epz-bars .r b,.epz-pp .r b{text-align:left}
.epz-diff .dx{display:flex;gap:4px;align-items:flex-start;padding-inline-start:40px;font-size:var(--t-2xs);color:var(--bad)}
.epz-diff .dx svg.ic{width:13px;height:13px;flex:none;margin-top:2px}
.epz-bars{display:grid;gap:8px}
.epz-bars .r{display:grid;grid-template-columns:140px 1fr 56px;gap:8px;align-items:center;font-size:var(--t-xs)}
.epz-bars .tr{height:12px;border-radius:999px;background:var(--surface2);overflow:hidden}
.epz-bars .tr i{display:block;height:100%;border-radius:999px}
.epz-pp{display:grid;gap:6px}
.epz-pp .r{display:grid;grid-template-columns:120px 1fr 56px;gap:8px;align-items:center;font-size:var(--t-2xs)}
.epz-pp .ln{position:relative;height:16px}
.epz-pp .ln::before{content:"";position:absolute;inset-inline:0;top:50%;height:1px;background:var(--line2)}
.epz-pp .bar{position:absolute;top:50%;height:3px;transform:translateY(-50%);background:color-mix(in srgb,var(--ok) 55%,transparent);border-radius:2px}
.epz-pp .p{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;transform:translate(50%,-50%);border:2px solid var(--surface)}
.epz-pp .p.a{background:var(--mute)}
.epz-pp .p.b{background:var(--ok)}
.epz-pp b{color:var(--ok)}
.epz-pp b.neg{color:var(--bad)}
.epz-chip{display:inline-flex;align-items:center;gap:4px;margin-inline-start:auto;font-size:var(--t-2xs);border-radius:999px;padding:2px 10px;font-weight:var(--w-semi)}
.epz-chip.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,var(--surface))}
.epz-chip.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,var(--surface))}
.epz-top{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:t}
.epz-top li{display:flex;gap:8px;align-items:center;background:var(--surface2);border-radius:var(--r-sm);padding:6px 10px;font-size:var(--t-xs);counter-increment:t}
.epz-top li::before{content:counter(t);font-weight:var(--w-bold);color:var(--pri)}
.epz-top li b{flex:1;min-width:0}
@media (max-width:640px){.epq-gate{padding:40px 18px 20px}.epz-bars .r{grid-template-columns:100px 1fr 48px}.epz-pp .r{grid-template-columns:90px 1fr 48px}.epz-diff .r{grid-template-columns:30px 1fr 42px}.epz-srun select{min-width:0;max-width:100%}.epz-sh,.epz-srun{width:100%}}
@media (prefers-reduced-motion:reduce){.epq-qin,.epq-ops.stag .epq-o,.epq-tm.pulse,.epq-wait .seal,.epq-stamp.in,.epz-pulse.on::after{animation:none}.epq-sht,.epq-dim,.epq-dots i{transition:none}}
/* ---------------- (الحزمة 175 — تشغيل الاختبارات: المجموعات والإشعارات و«كلٌّ في وقته») ---------------- */
.epz-pq{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px;font-size:var(--t-xs)}
.epz-pq > span{margin-inline-start:auto;color:var(--mute)}
.epz-pick label .muted{font-size:var(--t-2xs)}
.epz-nt{display:flex;flex-wrap:wrap;gap:16px}
.epz-grps{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.epq-later{background:none;border:0;color:inherit;opacity:.85;font:inherit;font-size:var(--t-xs);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.epq-later:hover{opacity:1}
.epq-later svg.ic{width:16px;height:16px}
.epz-pqs{flex-wrap:wrap}
.epz-hint{flex-basis:100%}
/* ---------------- (الحزمة 176 — المبدأ الجديد للنقاط ومسح النقاط) ---------------- */
.xpr-l{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px;font-size:var(--t-sm)}
.xpr-l li{display:flex;gap:10px;align-items:flex-start;line-height:1.6}
.xpr-l li svg.ic{flex:none;margin-top:2px;color:var(--pri)}
.xpr-on{display:inline-flex;gap:8px;align-items:center;margin-top:10px}
.xpr-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.xpr-pv{display:flex;gap:12px;align-items:center;padding:12px 16px;margin-bottom:12px;border:1.5px dashed var(--warn);border-radius:var(--r);background:color-mix(in oklab,var(--warn) 10%,transparent)}
.xpr-pv > svg.ic{flex:none;color:var(--warn)}
.xpr-pv > div{flex:1;display:grid;gap:2px}
.xpr-pv small{color:var(--mute);font-size:var(--t-xs)}
.xpc-its{display:flex;flex-wrap:wrap;gap:6px}
.xpc-its .chip input{position:absolute;opacity:0;pointer-events:none}
.xpc-pick{max-height:240px}
.xpc-pv{margin-top:14px;border:1px solid var(--line);border-radius:var(--r);padding:12px}
.xpc-n{display:flex;flex-wrap:wrap;gap:16px;font-size:var(--t-sm)}
.xpc-t{width:100%;margin-top:8px;font-size:var(--t-xs)}
.xpc-t td{padding:4px 0;border-top:1px solid var(--line)}
.xpc-t td.num{text-align:end}
/* ---------------- (الحزمة 178 — الجولة 76: رحلة مهمة الميديا) ---------------- */
/* 2-أ حلقات الحالة */
.mr-avs{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:8px}
.mr-av{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:76px;text-align:center}
.mr-c{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink2);background:var(--field);box-shadow:0 0 0 3px var(--line2)}
.mr-c a{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;color:var(--ok)}
.mr-c .ic{width:20px;height:20px}
.mr-av.s-doing .mr-c{box-shadow:0 0 0 3px var(--warn);background:var(--warn-soft);color:var(--warn)}
.mr-av.s-done .mr-c{box-shadow:0 0 0 3px var(--ok);background:var(--ok-soft);color:var(--ok)}
.mr-av.me b{color:var(--pri)}
.mr-av b{font-size:var(--t-xs);font-weight:var(--w-semi);margin-top:6px}
.mr-av small{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-2xs);color:var(--mute)}
.mr-av small .ic{width:12px;height:12px}
.mr-av em{font-style:normal;font-size:var(--t-2xs);font-weight:var(--w-bold);color:var(--mute)}
.mr-av.s-doing em{color:var(--warn)}.mr-av.s-done em{color:var(--ok)}
.mr-cnt{font-size:var(--t-2xs);font-weight:var(--w-bold);color:var(--ok);background:var(--ok-soft);border-radius:999px;padding:2px 10px}
/* 5-أ صفوف الإسناد بالدور */
.mr-rows{display:grid;gap:8px}
.mr-rr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:8px;align-items:center}
.mr-rl{display:flex;align-items:center;gap:6px;padding:0 10px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb,var(--c5) 7%,var(--surface));color:var(--c5)}
.mr-rl select{border:0;background:transparent;font-weight:var(--w-semi);color:var(--ink);min-height:44px;width:100%;padding:0}
.mr-rr > select{min-height:44px}
.mr-rows > .btn{justify-self:start}
/* 1-أ بطاقة مهمة العضو */
.mtk-list{display:grid;gap:12px}
.mtk{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--line);border-inline-start:3px solid var(--c);border-radius:var(--r);background:var(--surface)}
.mtk.is-done{background:color-mix(in srgb,var(--ok) 5%,var(--surface))}
.mtk.is-wait{background:color-mix(in srgb,var(--warn) 5%,var(--surface))}
.mtk-h{display:flex;gap:12px;align-items:flex-start}
.mtk-ic{width:36px;height:36px;flex:none;border-radius:var(--r-xs);display:grid;place-items:center;color:var(--c5);background:color-mix(in srgb,var(--c5) 13%,transparent)}
.mtk-t{display:grid;gap:6px;min-width:0}
.mtk-t b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.mtk-m{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:var(--t-xs);color:var(--mute)}
.mtk-m > span{display:inline-flex;align-items:center;gap:4px}
.mtk-role{font-weight:var(--w-semi);color:var(--ink2)}
.mtk-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mtk-seg button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink2);font-weight:var(--w-semi);cursor:pointer;transition:background var(--d1),border-color var(--d1)}
.mtk-seg button:hover{border-color:var(--line-hi)}
.mtk-seg .s-todo.on{border-color:var(--mute);background:var(--field);color:var(--ink)}
.mtk-seg .s-doing.on{border-color:var(--warn);background:var(--warn-soft);color:var(--warn)}
.mtk-seg .s-done.on{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}
.mtk-lk{display:grid;gap:8px;padding:12px;border:1px dashed var(--line);border-radius:var(--r-sm)}
.mtk-in{display:flex;align-items:center;gap:8px;padding:0 10px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.mtk-in input{border:0;background:transparent;min-height:42px;width:100%;padding:0}
.mtk-in.bad{border-color:var(--bad)}
.mtk-in .ic{flex:none;color:var(--mute)}
.mtk-how{justify-self:start}
.mtk-acts{display:flex;gap:8px;justify-content:flex-end}
.mtk-done{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mtk-pl{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:var(--t-2xs);color:var(--mute);background:var(--field);text-decoration:none}
.mtk-pl.on,a.mtk-pl{color:var(--ok);background:var(--ok-soft);font-weight:var(--w-semi)}
.mtk-lock{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:var(--r-sm);font-size:var(--t-xs);color:var(--warn);background:var(--warn-soft)}
.mtk-w{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
/* 4-أ نافذة الكاتب */
.mw-ch{display:flex;flex-wrap:wrap;gap:6px}
.mw-brief{display:grid;gap:4px;padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--c5) 7%,var(--surface));border:1px dashed color-mix(in srgb,var(--c5) 35%,var(--line))}
.mw-brief b{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--c5)}
.mw-brief p{margin:0;white-space:pre-wrap;font-size:var(--t-sm)}
.mw-cnt{display:block;text-align:end;font-size:var(--t-2xs);color:var(--mute);margin-top:4px}
.mw-cnt.bad{color:var(--bad)}
/* 7-أ لوحة طلب التغطية: المقترحات المرتبطة */
.mr-req{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mr-rel,.mr-mine{display:grid;gap:10px;margin:0 14px 12px;padding:12px;border:1px solid var(--line);border-radius:var(--r)}
.mr-relh{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mr-relh > b,.mr-mine > b{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm)}
.mr-relh .btn{margin-inline-start:auto}
.mr-rc{display:grid;gap:6px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface2)}
.mr-rch{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.mr-rch > b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.mr-rch .btn{margin-inline-start:auto}
.mr-rch .mtk-ic{width:28px;height:28px}
@media (max-width:640px){
  .mr-rr{grid-template-columns:1fr auto}.mr-rr .mr-rl{grid-column:1 / -1}
  .mtk-seg button{font-size:var(--t-xs);gap:4px}
  .mr-rel,.mr-mine{margin:0 0 12px}
}
/* ---------------- (الحزمة 179 — الجولة 77: الخروج الجماعي · إرسال إشعار الاختبار · بطاقة إشعارات المهندس) ---------------- */
/* 8-أ الخروج الجماعي في نافذة حضور الجلسة */
.ep-bo{display:grid;gap:10px;margin:10px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:color-mix(in srgb,var(--c3) 5%,var(--surface))}
.ep-bo.open{border-color:color-mix(in srgb,var(--c3) 45%,var(--line));box-shadow:var(--sh-1)}
.ep-boh{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ep-boi{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--c3);background:color-mix(in srgb,var(--c3) 14%,transparent)}
.ep-boi .ic{width:20px;height:20px}
.ep-bot0{display:grid;gap:2px;flex:1;min-width:180px}
.ep-bot0 b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.ep-bot0 small{font-size:var(--t-xs)}
.ep-bob{display:grid;gap:10px;padding-top:10px;border-top:1px dashed var(--line)}
.ep-bot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:var(--w-semi)}
.ep-bot .ic{width:18px;height:18px;color:var(--c3)}
.ep-bot input[type=time]{min-height:44px;width:auto;max-width:160px;flex:none;font-size:var(--t-md);font-weight:var(--w-bold)}
.ep-bot > span{flex:none}
.ep-bot input.uid[data-uid-type=time]{width:140px;flex:none;min-height:44px;font-size:var(--t-md);font-weight:var(--w-bold)}
.ep-bos{display:grid;gap:6px}
.ep-bst{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:var(--r-sm);background:var(--field);font-size:var(--t-xs);color:var(--ink2)}
.ep-bst .ic{width:16px;height:16px;flex:none;margin-top:2px}
.ep-bst.ok{background:var(--ok-soft);color:var(--ok)}
.ep-bst.ok b{font-size:var(--t-sm)}
.ep-bst.warn{background:var(--warn-soft);color:var(--warn)}
.ep-bst.bad{background:var(--bad-soft);color:var(--bad)}
.ep-boa{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.ep-bol{display:flex;gap:6px;flex-wrap:wrap}
.ep-bch{display:inline-flex;align-items:center;gap:6px;padding:2px 2px 2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:var(--t-xs);color:var(--ink2)}
.ep-bch > .ic{width:14px;height:14px;color:var(--c3)}
/* س6 «إرسال إشعار الاختبار» */
.epz-nudge{display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;border-radius:var(--r-sm);background:var(--info-soft);color:var(--info);font-size:var(--t-xs)}
.epz-nudge .ic{width:16px;height:16px}
.epz-nhd{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:var(--r);background:color-mix(in srgb,var(--c3) 7%,var(--surface))}
.epz-nhd > .ic,.epz-nudge > .ic{display:grid;place-items:center}
.epz-nhd > span.ic{width:40px;height:40px;flex:none;border-radius:50%;color:var(--c3);background:color-mix(in srgb,var(--c3) 15%,transparent)}
.epz-nhd > span.ic .ic{width:20px;height:20px}
.epz-nhd b{display:block;font-weight:var(--w-semi)}
.epz-nhd small{font-size:var(--t-xs)}
.epz-nlist{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow:auto;padding:2px}
.epz-nlist > span{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px solid var(--line2);border-radius:999px;font-size:var(--t-xs);background:var(--surface)}
/* س5 بطاقة «لا يفوتك أي اختبار» */
.ep-ntc{display:grid;gap:12px;border-color:color-mix(in srgb,var(--c3) 40%,var(--line));background:color-mix(in srgb,var(--c3) 5%,var(--surface))}
.ep-nth{display:flex;gap:12px;align-items:flex-start}
.ep-nth > div{display:grid;gap:2px;flex:1}
.ep-nth b{font-weight:var(--w-semi)}
.ep-nth small{font-size:var(--t-xs)}
.ep-nti{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--c3);background:color-mix(in srgb,var(--c3) 15%,transparent)}
.ep-nti .ic{width:22px;height:22px}
.ep-nts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ep-nts li{display:grid;grid-template-columns:26px 22px 1fr;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line2);font-size:var(--t-sm)}
.ep-nts .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--c3);color:var(--pri-ink);font-size:var(--t-xs);font-weight:var(--w-bold)}
.ep-nts li > .ic{width:20px;height:20px;color:var(--c3)}
.ep-ntc > .btn{justify-self:start}
.ep-ntn{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:var(--t-xs);color:var(--mute)}
.ep-ntn .ic{width:14px;height:14px;flex:none;margin-top:2px}
/* ---------------- (الحزمة 180 — الجولة 77: مواعيد المقابلات وتسجيلها) ---------------- */
/* رقاقات الحالة بأيقونة (تعديل د) */
.ivs{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--t-2xs);font-weight:var(--w-semi);white-space:nowrap;background:var(--field);color:var(--ink2)}
.ivs .ic{width:12px;height:12px}
.ivs.warn{background:var(--warn-soft);color:var(--warn)}
.ivs.ok{background:var(--ok-soft);color:var(--ok)}
.ivs.ok2{background:color-mix(in srgb,var(--ok) 8%,var(--surface));color:var(--ok)}
.ivs.bad{background:var(--bad-soft);color:var(--bad)}
.ivs.vio{background:var(--vio-soft);color:var(--vio)}
.ivs.mute{background:var(--field);color:var(--mute)}
/* ===== المهندس: تذكرة الموعد (1-أ) ===== */
.ivt-mine{display:grid;gap:12px}
.ivt{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2)}
.ivt-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:white;background:linear-gradient(135deg,var(--navy-900),var(--navy-600))}
.ivt-hd small{display:block;font-size:var(--t-2xs);opacity:.82}
.ivt-hd b{font-size:var(--t-sm);font-weight:var(--w-bold)}
.ivt-hi{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,white 14%,transparent)}
.ivt-hi .ic{width:18px;height:18px}
.ivt-bd{display:grid;gap:12px;padding:16px}
.ivt-when{display:flex;align-items:center;gap:14px}
.ivt-cal{width:64px;flex:none;border:1.5px solid var(--line);border-radius:var(--r);display:grid;justify-items:center;padding:6px 4px;line-height:1.15;color:var(--mute);font-size:var(--t-2xs)}
.ivt-cal b{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink)}
.ivt-t{display:grid;gap:4px;min-width:0}
.ivt-t > b{font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink);justify-self:start}
.ivt-t > span{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute)}
.ivt-t .ic{width:14px;height:14px}
.ivt-perf{position:relative;height:0;border-top:2px dashed var(--line);margin:2px -16px}
.ivt-perf::before,.ivt-perf::after{content:"";position:absolute;top:-10px;width:18px;height:18px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.ivt-perf::before{inset-inline-start:-10px}.ivt-perf::after{inset-inline-end:-10px}
.ivt-cv{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,var(--line));font-size:var(--t-sm)}
.ivt-cv > .ic{width:20px;height:20px;color:var(--warn);flex:none;margin-top:2px}
.ivt-cv b{display:block;font-weight:var(--w-semi)}
.ivt-cv small{display:block;color:var(--ink2);font-size:var(--t-xs)}
.ivt-ck{display:inline-flex;align-items:center;gap:8px;margin-top:6px;min-height:36px;font-weight:var(--w-semi);cursor:pointer}
.ivt-ack{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--ok);font-weight:var(--w-semi);font-size:var(--t-xs)}
.ivt-ack .ic{width:14px;height:14px}
.ivt-need{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--r);background:var(--bad-soft);color:var(--bad);font-size:var(--t-xs)}
.ivt-need .ic{width:16px;height:16px;flex:none}
.ivt-act{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ivt-btn{min-height:48px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-weight:var(--w-bold);font-size:var(--t-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;padding:0 12px;transition:background var(--d1),border-color var(--d1)}
.ivt-btn .ic{width:18px;height:18px}
.ivt-btn:hover{border-color:var(--line-hi)}
.ivt-btn.ok{background:var(--ok);border-color:var(--ok);color:white}
.ivt-btn.ghost{justify-self:start;min-height:40px;font-weight:var(--w-semi)}
.ivt-btn[aria-expanded=true]{border-color:var(--pri);color:var(--pri);background:var(--pri-soft)}
.ivt-btn:disabled{opacity:.5;cursor:not-allowed}
.ivt-done{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r);background:var(--ok-soft);color:var(--ok);font-weight:var(--w-semi);font-size:var(--t-sm)}
.ivt-done .ic{width:18px;height:18px;flex:none}
.ivt-alts{display:grid;gap:8px;padding:12px;border-radius:var(--r);background:var(--field);border:1px solid var(--line2)}
.ivt-alts > b{display:flex;align-items:center;gap:6px;font-size:var(--t-sm)}
.ivt-alts > b .ic{width:16px;height:16px;color:var(--pri)}
.ivt-alts > small{color:var(--mute);font-size:var(--t-xs)}
.ivt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}
.ivt-grid button{min-height:48px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-weight:var(--w-semi);cursor:pointer;display:grid;place-items:center;align-content:center;gap:0;padding:4px;transition:border-color var(--d1),background var(--d1)}
.ivt-grid button small{font-size:var(--t-2xs);font-weight:var(--w-reg);color:var(--mute);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ivt-grid button:hover:not(:disabled){border-color:var(--pri);background:var(--pri-soft)}
.ivt-grid button.mine{border-color:var(--warn);background:var(--warn-soft);color:var(--warn)}
.ivt-grid button.taken{background:var(--field);color:var(--mute);border-style:dashed}
.ivt-grid button:disabled:not(.mine){opacity:.4;text-decoration:line-through;cursor:not-allowed}
.ivt-lg{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--t-2xs);color:var(--mute)}
.ivt-lg span{display:inline-flex;align-items:center;gap:4px}
.ivt-lg i{width:10px;height:10px;border-radius:3px;border:1.5px solid var(--line);background:var(--surface)}
.ivt-lg i.m{border-color:var(--warn);background:var(--warn-soft)}.ivt-lg i.t{opacity:.4}
.ivt-none{justify-self:start;border:0;background:transparent;color:var(--bad);font-size:var(--t-xs);text-decoration:underline;cursor:pointer;padding:6px 0}
/* ===== المسؤول: رأس التبويب ===== */
.ivh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ivh-t{display:flex;gap:12px;align-items:center}
.ivh-t h3{margin:0;font-size:var(--t-md)}
.ivh-t p{margin:2px 0 0;font-size:var(--t-xs)}
.ivh-ic,.ivcm-ic{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--c3);background:color-mix(in srgb,var(--c3) 15%,transparent)}
.ivh-ic .ic,.ivcm-ic .ic{width:22px;height:22px}
.ivh .ep-hact select{min-height:36px;max-width:260px}
.ivh-empty{display:grid;justify-items:center;gap:12px;padding-bottom:20px}
.ivr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px;font-size:var(--t-xs)}
.ivr > b{font-size:var(--t-sm)}
.ivr-d{display:inline-flex;align-items:center;gap:4px;margin-inline-end:10px}
.ivr-d .ic{width:12px;height:12px}
.ivr-c{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cc,var(--mute))}
.ivk{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:12px}
.ivk-i{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);--k:var(--c3)}
.ivk-i.ok{--k:var(--ok)}.ivk-i.bad{--k:var(--bad)}.ivk-i.pri{--k:var(--pri)}.ivk-i.mute{--k:var(--mute)}
.ivk-ic{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--k);background:color-mix(in srgb,var(--k) 14%,transparent)}
.ivk-ic .ic{width:18px;height:18px}
.ivk-i b{display:block;font-size:var(--t-lg);font-weight:var(--w-bold);line-height:1.1}
.ivk-i small{font-size:var(--t-2xs);color:var(--mute)}
.ivsub{margin-bottom:12px}
.ivsub button{display:inline-flex;align-items:center;gap:6px}
/* ===== الإعدادات (3-أ) ===== */
.ivc h3{display:flex;align-items:center;gap:8px}
.ivc-ses{display:flex;flex-wrap:wrap;gap:6px}
.ivc-ses button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:4px 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink2);cursor:pointer;font-size:var(--t-xs)}
.ivc-ses button .ic{width:14px;height:14px}
.ivc-ses button small{color:var(--mute)}
.ivc-ses button b{min-width:24px;padding:0 6px;border-radius:999px;background:var(--field);text-align:center}
.ivc-ses button.on{border-color:var(--pri);background:var(--pri-soft);color:var(--pri)}
.ivc-ses button.on b{background:var(--pri);color:var(--pri-ink)}
.ivc-aud{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:var(--r);background:var(--field)}
.ivc-n{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm)}
.ivc-n .ic{width:16px;height:16px;color:var(--c3)}
.ivc-cats{display:flex;flex-wrap:wrap;gap:4px;flex:1}
.ivc-nums .seg{flex-wrap:wrap}
.ivc-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.ivd{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-1)}
.ivd header{display:flex;align-items:center;gap:8px}
.ivd header b{flex:1;font-size:var(--t-sm)}
.ivd-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--c3);color:var(--pri-ink);font-size:var(--t-xs);font-weight:var(--w-bold)}
.ivd-f{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ivd-f label{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--t-xs);color:var(--mute)}
.ivd-f label:last-child{grid-column:1 / -1}
.ivd-f .ic{width:14px;height:14px;flex:none}
.ivd-f input{min-width:0;flex:1}
.ivd-cats{display:flex;flex-wrap:wrap;gap:6px}
.ivd-cats button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:2px 10px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--mute);font-size:var(--t-xs);cursor:pointer;transition:background var(--d1),color var(--d1),border-color var(--d1)}
.ivd-cats button .ic{width:14px;height:14px;color:var(--cc)}
.ivd-cats button.on{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 16%,var(--surface));color:var(--ink);font-weight:var(--w-semi)}
.ivd-brk{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--t-xs)}
.ivd-bt{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.ivd-brk input[type=time],.ivd-brk input.uid{width:96px;flex:none}
.ivd-cap{display:grid;gap:6px}
.ivd-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--field)}
.ivd-bar i{display:block;height:100%;background:var(--cc,var(--c3))}
.ivd-bar i.ov{background:var(--vio)}
.ivd-bar i.sp{background:repeating-linear-gradient(45deg,var(--line) 0 4px,transparent 4px 8px)}
.ivd-sum{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--t-2xs);color:var(--mute)}
.ivd-sum b{color:var(--ink)}
.ivd-sum span{display:inline-flex;align-items:center;gap:4px}
.ivd-sum .ic{width:12px;height:12px}
.ivd-sum .vio{color:var(--vio)}
.ivd-add{display:grid;place-items:center;align-content:center;gap:4px;min-height:96px;border:1.5px dashed var(--line);border-radius:var(--r);background:transparent;color:var(--mute);cursor:pointer;font-weight:var(--w-semi)}
.ivd-add .ic{width:20px;height:20px}
.ivd-add:hover{border-color:var(--pri);color:var(--pri)}
.ivw-warn,.ivw-ok{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:var(--r-sm);font-size:var(--t-xs)}
.ivw-warn{background:var(--bad-soft);color:var(--bad)}
.ivw-ok{background:var(--ok-soft);color:var(--ok)}
.ivw-warn .ic,.ivw-ok .ic{width:16px;height:16px;flex:none}
.ivc-ov > span{display:inline-flex;align-items:center;gap:6px}
.ivc-ov > span .ic{width:16px;height:16px;color:var(--vio)}
.ivc-ovl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ivc-ovl li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-radius:var(--r-sm);background:var(--vio-soft);font-size:var(--t-xs)}
.ivc-arr{color:var(--vio)}
.ivc-ova{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ivc-ova select{flex:1;min-width:160px}
.ivc-foot{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line2)}
.ivap{display:grid;gap:12px;max-height:56vh;overflow:auto}
.ivap h4{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.ivap section > div{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px}
.ivap label{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:var(--t-xs)}
.ivap label.on{background:var(--pri-soft)}
.ivap label small{display:inline-flex;align-items:center;gap:2px;margin-inline-start:auto}
.ivap label small .ic{width:12px;height:12px}
/* ===== التصفية والجداول (4-ب · 7-أ) ===== */
.ivf{display:grid;gap:6px;margin-bottom:10px}
.ivf-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ivf-l{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--mute);background:var(--field);flex:none}
.ivf-l .ic{width:14px;height:14px}
.ivf-chips{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.ivf-chips button{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink2);font-size:var(--t-xs);cursor:pointer}
.ivf-chips button .ic{width:12px;height:12px}
.ivf-chips button.on{background:var(--pri);border-color:var(--pri);color:var(--pri-ink)}
.ivf-chips button.st-warn:not(.on) .ic{color:var(--warn)}.ivf-chips button.st-ok:not(.on) .ic,.ivf-chips button.st-ok2:not(.on) .ic{color:var(--ok)}.ivf-chips button.st-bad:not(.on) .ic{color:var(--bad)}.ivf-chips button.st-vio:not(.on) .ic{color:var(--vio)}
.ivf-q{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--field)}
.ivf-q .ic{width:14px;height:14px;color:var(--mute)}
.ivf-q input{border:0;background:transparent;min-height:32px;width:150px}
.ivt-when2{display:grid;line-height:1.2}
.ivt-when2 small{font-size:var(--t-2xs);color:var(--mute)}
.ivt-when2 b{font-size:var(--t-sm)}
.ivt-ac{white-space:nowrap}
.ivtp-d{margin-bottom:10px;flex-wrap:wrap}
.ivtp-d button{display:inline-flex;align-items:center;gap:6px}
/* ===== المقابلات: لجنة اليوم وقائمة اليوم ===== */
.ivcm{display:grid;gap:10px}
.ivcm.need{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:color-mix(in srgb,var(--warn) 5%,var(--surface))}
.ivcm-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ivcm-h > div{flex:1;display:grid}
.ivcm-h small{font-size:var(--t-xs)}
.ivcm-m{display:flex;flex-wrap:wrap;gap:6px}
.ivcm-p{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 2px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:var(--t-xs);font-weight:var(--w-semi)}
.ivcm-p .ic{width:12px;height:12px;color:var(--mute)}
.ivcm-av{width:28px;height:28px;flex:none;border-radius:50%;display:inline-grid;place-items:center;background:color-mix(in srgb,var(--c3) 16%,var(--surface));color:var(--c3);font-weight:var(--w-bold);font-size:var(--t-xs)}
.ivcm-log summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:var(--t-xs);color:var(--mute)}
.ivcm-log summary .ic{width:14px;height:14px}
.ivcm-log ol{margin:6px 0 0;padding-inline-start:18px;font-size:var(--t-xs);color:var(--ink2)}
.ivq{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.ivq button{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) auto 20px;align-items:center;gap:10px;min-height:56px;padding:6px 12px;border:1px solid var(--line);border-inline-start:3px solid var(--warn);border-radius:var(--r);background:var(--surface);color:var(--ink);cursor:pointer;text-align:start;transition:background var(--d1),border-color var(--d1)}
.ivq li.dn button{border-inline-start-color:var(--ok)}
.ivq li.ab button{border-inline-start-color:var(--mute);opacity:.75}
.ivq button:hover:not(:disabled){background:var(--row-hover)}
.ivq button:disabled{opacity:.55;cursor:not-allowed}
.ivq-t{font-size:var(--t-md);font-weight:var(--w-bold)}
.ivq-n{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.ivq-s{display:flex;gap:4px}
.ivq-go .ic{width:16px;height:16px;color:var(--mute)}
.ivce{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}
.ivce li{display:flex;align-items:center;gap:8px}
.ivce input{flex:1;min-width:0}
/* ===== شاشة المقابلة (5-أ · 6-ج) ===== */
.ivm-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line2);margin-bottom:12px}
.ivm-av{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--pri-soft);color:var(--pri);font-size:var(--t-lg);font-weight:var(--w-bold)}
.ivm-n{display:grid;gap:4px;flex:1;min-width:160px}
.ivm-n b{font-size:var(--t-md)}
.ivm-n > span{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-xs)}
.ivm-n .ic{width:12px;height:12px}
.ivm-test{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:999px;background:var(--field);font-size:var(--t-xs)}
.ivm-test small{display:block;color:var(--mute);font-size:var(--t-2xs)}
.ivm-test b{font-size:var(--t-sm)}
.ivm-tr,.ivm-ring{--p:0;position:relative;width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pri) calc(var(--p) * 1%),var(--line2) 0)}
.ivm-tr::before,.ivm-ring::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--surface)}
.ivm-tr b,.ivm-ring b{position:relative;font-size:var(--t-2xs);font-weight:var(--w-bold)}
.ivm-ring{width:72px;height:72px}
.ivm-ring::before{inset:6px}
.ivm-ring b{font-size:var(--t-md)}
.ivm-ring.sm{width:22px;height:22px}
.ivm-ring.sm::before{inset:4px}
.ivm-by{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:var(--t-xs)}
.ivm-by .ic{width:12px;height:12px}
.ivm-tw{margin-bottom:12px}
.ivm-mx{width:100%;border-collapse:separate;border-spacing:0;min-width:520px}
.ivm-mx th,.ivm-mx td{padding:8px;border-bottom:1px solid var(--line2);text-align:center;vertical-align:middle}
.ivm-mx thead th{font-size:var(--t-xs);font-weight:var(--w-semi);vertical-align:bottom}
.ivm-mx thead th b{display:block;margin:4px 0}
.ivm-mx th:first-child{text-align:start;width:130px}
.ivm-mx thead th.out,.ivm-mx td.out{opacity:.45}
.ivm-out{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-2xs);font-weight:var(--w-reg);color:var(--mute);cursor:pointer}
.ivm-ax{display:inline-flex;align-items:center;gap:8px;font-weight:var(--w-semi);font-size:var(--t-sm)}
.ivm-ax .ic{width:16px;height:16px;color:var(--c3)}
.ivm-sl{display:grid;gap:2px;justify-items:center;min-width:110px}
.ivm-sl b{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--pri);line-height:1}
.ivm-sl input[type=range]{width:100%;accent-color:var(--pri);min-height:28px}
.ivm-sl.empty b{color:var(--mute)}
.ivm-sl.empty input[type=range]{opacity:.45}
.ivm-tk{display:flex;justify-content:space-between;width:100%;font-size:var(--t-2xs);color:var(--mute);direction:ltr}
.ivm-mx tfoot th,.ivm-mx tfoot td{border-bottom:0;font-weight:var(--w-semi)}
.ivm-mx tfoot b{color:var(--pri);font-size:var(--t-md)}
.ivm-fin{display:flex;align-items:center;gap:14px;padding:12px;border-radius:var(--r);background:var(--field);margin-bottom:12px}
.ivm-fin > div{display:grid;gap:2px}
.ivm-fin small{font-size:var(--t-xs)}
.ivm-rec{display:grid;gap:8px;padding:10px 12px;border:2px solid var(--line);border-radius:var(--r);transition:border-color var(--d2),background var(--d2)}
.ivm-rec.on{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 7%,var(--surface))}
.ivm-rs{display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:36px}
.ivm-rs .ic{width:18px;height:18px;color:var(--warn)}
.ivm-who{display:flex;flex-wrap:wrap;gap:6px}
.ivm-who button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:2px 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink2);cursor:pointer;font-size:var(--t-xs)}
.ivm-who button .ic{width:14px;height:14px}
.ivm-who button.on{background:var(--ok);border-color:var(--ok);color:white}
.ivm-rec small{font-size:var(--t-xs)}
.iva{display:grid;gap:8px;max-height:42vh;overflow:auto;margin-bottom:12px;padding:10px;border-radius:var(--r);background:var(--field)}
.iva h4{display:flex;align-items:center;gap:6px;margin:0}
.iva h4 .ic{width:16px;height:16px}
.iva article{padding:8px 10px;border-radius:var(--r-sm);background:var(--surface);border-inline-start:3px solid var(--line)}
.iva article.ok{border-inline-start-color:var(--ok)}.iva article.half{border-inline-start-color:var(--warn)}.iva article.no{border-inline-start-color:var(--bad)}
.iva header{display:flex;align-items:center;gap:6px}
.iva-n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--field);font-size:var(--t-2xs);font-weight:var(--w-bold)}
.iva p{margin:6px 0;font-size:var(--t-xs)}
.iva ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.iva li{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);padding:4px 6px;border-radius:var(--r-xs)}
.iva li .ic{width:12px;height:12px;flex:none}
.iva li small{margin-inline-start:auto;font-size:var(--t-2xs);font-weight:var(--w-semi)}
.iva li.hit{background:var(--ok-soft);color:var(--ok)}.iva li.wr{background:var(--bad-soft);color:var(--bad)}.iva li.ms{background:color-mix(in srgb,var(--ok) 8%,var(--surface));color:var(--ok)}
.iva-w{display:flex;gap:6px;color:var(--mute)}
.iva-w .ic{width:12px;height:12px;flex:none;margin-top:2px}
/* ===== النتائج (7-أ) ===== */
.ivres-h{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);margin:0 0 8px}
.ivres-h .ic{width:14px;height:14px}
.ivres tr.rec td{background:color-mix(in srgb,var(--ok) 6%,var(--surface))}
.ivres tr.ab td{opacity:.6}
.ivres td small{display:block;font-size:var(--t-2xs)}
.ivres-rk{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;background:var(--field);font-weight:var(--w-bold);font-size:var(--t-xs)}
.ivres-rk.top{background:var(--warn-soft);color:var(--warn)}
.ivres-p{display:inline-flex;align-items:center;gap:6px}
.ivres-rec{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--ok);color:white;font-size:var(--t-2xs);font-weight:var(--w-semi)}
.ivres-rec .ic{width:12px;height:12px}
@media (max-width:640px){.ivt-act{grid-template-columns:1fr}.ivd-f{grid-template-columns:1fr}.ivq button{grid-template-columns:56px minmax(0,1fr) 20px}.ivq-s{grid-column:2}.ivf-q input{width:110px}}
/* ---------------- (الحزمة 181 — مدة المقابلة كتابةً) ---------------- */
.ivc-dur{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--field);color:var(--mute);font-size:var(--t-sm)}
.ivc-dur:focus-within{border-color:var(--pri)}
.ivc-dur .ic{width:16px;height:16px;color:var(--c3)}
.ivc-dur input{width:72px;min-height:40px;border:0;background:transparent;text-align:center;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);padding:0}
/* ---------------- (الحزمة 182 — الاختبار من حضور الجلسات · رابط النشر العامّ للمقترح) ---------------- */
.epz-ses{margin-top:6px}
.epz-psl{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.mtk-pub{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--c5);background:var(--field);border:1px solid var(--c5);text-decoration:none}
.mtk-pub .ic{width:12px;height:12px}
.mtk-pub:hover{background:var(--pri-soft)}
/* ---------------- (الحزمة 184 — جداول المستخدمين: بحث · تصفية · ترتيب — public/tkit.js) ---------------- */
.tk-bar{display:grid;gap:6px;margin:0 0 8px}
.tk-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tk-row .sp{flex:1}
.tk-q{display:inline-flex;align-items:center;gap:6px;flex:1 1 220px;max-width:360px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--field);color:var(--mute)}
.tk-q:focus-within{border-color:var(--pri)}
.tk-q .ic{width:16px;height:16px;flex:none}
.tk-q input{flex:1;min-width:0;min-height:36px;padding:0;border:0;background:transparent;color:var(--ink);box-shadow:none}
.tk-q input:focus{outline:none;box-shadow:none}
.tk-pop .tk-q{max-width:none}
.tk-nf{color:var(--pri);font-weight:var(--w-bold)}
.tk-chips:empty{display:none}
table[data-tk] tr.tk-hide{display:none}
table[data-tk] th.tk-s{cursor:pointer;user-select:none}
table[data-tk] th.tk-s:hover{color:var(--pri)}
table[data-tk] th.tk-asc::after{content:" ▲";color:var(--pri)}
table[data-tk] th.tk-desc::after{content:" ▼";color:var(--pri)}
table[data-tk] th .tk-fun{margin-inline-start:2px}
.tk-pop{position:fixed;z-index:var(--z-palette)}
.tk-cl{gap:4px}
.tk-cb{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:4px 8px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--ink);font:inherit;font-size:var(--t-sm);text-align:start;cursor:pointer}
.tk-cb:hover{background:var(--field)}
.tk-cb.on{background:var(--pri-soft);color:var(--pri)}
.tk-cb .ic{width:14px;height:14px;flex:none}
.tk-cb span{flex:1;min-width:0}
.tk-cb small{color:var(--mute);font-size:var(--t-2xs)}
.tk-back{justify-self:start}
/* ---------------- (الحزمة 188 — إسناد موعد لأي مهندس) ---------------- */
.ivap2{display:grid;gap:4px;max-height:50vh;overflow:auto;margin-top:6px}
.ivap2 .tk-cb .ep-cat{flex:none}
/* ---------------- (الحزمة 189 — الجولة 78) أعياد الميلاد · «لوحة تفاعل المتطوعين» · «السجل السابق» للنقاط ---------------- */
:root{--vw-cork:#C59A63;--vw-cork-dot:rgba(90,55,20,.24);--vw-cork-hi:rgba(255,240,210,.2);--vw-frame:#8A5A2B;--vw-frame-d:#6E4520;--vw-paper:#FFFFFF;--vw-ink:#2B2410;--vw-pin:#C4153F;--vw-pin-hi:#FF8A8A;--vw-n-y:#FFE680;--vw-n-p:#FFC4D6;--vw-n-b:#BDE3FF;--vw-n-g:#C8F2C2;--vw-n-o:#FFD3A6;--vw-glow:rgba(255,214,0,.95);--vw-shade:rgba(13,20,51,.5);--vw-shade-d:rgba(0,13,56,.92);--vw-k0:#0D1433;--vw-k1:#C4153F;--vw-k2:#0616C4;--vw-k3:#0B7A43;--vw-k4:#E08A00;--bd-cake:#B06A0E}

/* ===== أعياد الميلاد: النافذة ===== */
.bdg{text-align:center}
.bdg .art{display:flex;justify-content:center;margin:0 0 4px}
.bdg .art svg{width:96px;height:96px}
.bdg h2{margin:0 0 4px;font-size:var(--t-lg);font-weight:var(--w-bold)}
.bdg p{margin:0 0 12px;color:var(--mute);font-size:var(--t-sm)}
.bdg-ch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.bdg-ch button{border:2px solid var(--line);background:var(--surface);border-radius:var(--r);padding:10px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:var(--t-sm);color:var(--ink);transition:border-color var(--d1),background var(--d1)}
.bdg-ch button svg{width:22px;height:22px}
.bdg-ch button small{color:var(--mute);font-size:var(--t-xs);line-height:1.4}
.bdg-ch button.on{border-color:var(--pri);background:var(--pri-soft);color:var(--pri);font-weight:var(--w-bold)}
.bdg-ch button.on small{color:var(--pri)}
.bdg-pv{display:flex;align-items:center;gap:8px;justify-content:center;border:1px dashed var(--line);border-radius:var(--r-sm);padding:8px 10px;font-size:var(--t-sm);margin:0 0 10px}
.bdg-pv.off{color:var(--mute)}
.bdg-pv svg{width:18px;height:18px;color:var(--bd-cake)}
.bdg-dt{display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;font-size:var(--t-sm);margin:0 0 4px}
.bdg-dt small{color:var(--mute);font-size:var(--t-xs)}
.bdg-hb h2{color:var(--bd-cake)}

/* ===== أعياد الميلاد: الشريط في اللوحة الرئيسية ===== */
.bdbar{display:flex;align-items:center;gap:12px;border-radius:var(--r);padding:10px 14px;margin:0 0 12px;background:color-mix(in srgb,var(--bd-cake) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--bd-cake) 30%,var(--line));font-size:var(--t-sm)}
.bdbar>svg{width:28px;height:28px;color:var(--bd-cake);flex:none}
.bdbar b{color:var(--bd-cake)}
.bdbar a{margin-inline-start:auto;white-space:nowrap}

/* ===== أعياد الميلاد: الصفحة ===== */
.bdp{display:grid;gap:12px}
.bdp-me{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bdp-me .sp{flex:1}
.bdp-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bdp-strip div{border-radius:var(--r-sm);padding:8px 10px;background:var(--field);min-width:0}
.bdp-strip div b{display:block;font-size:var(--t-xs);color:var(--mute);font-weight:var(--w-semi)}
.bdp-strip div span{display:block;font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdp-strip div.t{background:color-mix(in srgb,var(--bd-cake) 14%,var(--surface))}
.bdp-strip div.t b{color:var(--bd-cake)}
.bdp-mh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}
.bdp-mh b{font-size:var(--t-md)}
.bdp-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.bdp-cal .w{font-size:var(--t-xs);color:var(--mute);text-align:center;padding:2px 0}
.bdp-cal .d{min-height:64px;border-radius:var(--r-sm);background:var(--field);padding:4px 6px;font-size:var(--t-xs);border:2px solid transparent;text-align:start;color:var(--ink);cursor:default}
.bdp-cal .d.x{background:transparent}
.bdp-cal .d.td{border-color:var(--pri)}
.bdp-cal .d.has{background:color-mix(in srgb,var(--bd-cake) 13%,var(--surface));cursor:pointer}
.bdp-cal .d.has.on{border-color:var(--bd-cake)}
.bdp-cal .d em{font-style:normal;color:var(--mute)}
.bdp-cal .av{display:flex;gap:2px;margin-top:4px;flex-wrap:wrap}
.bdp-cal .av i{width:20px;height:20px;border-radius:50%;font-style:normal;font-size:var(--t-2xs);font-weight:var(--w-bold);display:grid;place-items:center;background:var(--bd-cake);color:white}
.bdp-day{display:grid;gap:6px;margin-top:10px}
.bdp-it{display:flex;align-items:center;gap:10px;background:var(--field);border-radius:var(--r-sm);padding:8px 10px}
.bdp-it .a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:var(--w-bold);background:var(--pri-soft);color:var(--pri);flex:none}
.bdp-it .n{flex:1;min-width:0}
.bdp-it .n b{display:block}
.bdp-it .n small{color:var(--mute)}
.bdp-it .g{font-weight:var(--w-bold);color:var(--bd-cake);white-space:nowrap}
@media (max-width:640px){.bdp-strip{grid-template-columns:1fr}.bdp-cal .d{min-height:52px;padding:2px 4px}.bdp-cal .av i{width:16px;height:16px}}

/* ===== لوحة التفاعل ===== */
.vw-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vw-top .sp{flex:1}
.vw-hint{font-size:var(--t-sm);color:var(--mute);display:flex;align-items:center;gap:6px}
.vw{position:relative;width:100%;aspect-ratio:16/10;border-radius:var(--r);background:var(--vw-cork);background-image:radial-gradient(var(--vw-cork-dot) 1px,transparent 1.5px),radial-gradient(var(--vw-cork-hi) 1px,transparent 1.5px);background-size:9px 9px,13px 13px;background-position:0 0,4px 6px;border:8px solid var(--vw-frame);outline:2px solid var(--vw-frame-d);outline-offset:-10px;user-select:none;-webkit-user-select:none}
.vw.post{cursor:copy}
.vw-clip{position:absolute;inset:0;overflow:hidden;border-radius:var(--r-xs)}
.vw-cv{position:absolute;left:0;top:0;width:1000px;height:625px;transform-origin:0 0}
.vw-it{position:absolute;transform:translate(-50%,-50%) rotate(var(--rt,0deg));transition:opacity var(--d2),filter var(--d2);cursor:default}
.vw-it.act{cursor:pointer}
.vw-note{width:150px;min-height:112px;padding:14px 12px 20px;font-size:var(--t-sm);line-height:1.55;color:var(--vw-ink);box-shadow:var(--sh-2);border-radius:2px;word-break:break-word;white-space:pre-wrap;position:relative;text-align:start}
.vw-note.y{background:var(--vw-n-y)}.vw-note.p{background:var(--vw-n-p)}.vw-note.b{background:var(--vw-n-b)}.vw-note.g{background:var(--vw-n-g)}.vw-note.o{background:var(--vw-n-o)}
.vw-pin{position:absolute;top:-8px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--vw-pin-hi),var(--vw-pin) 65%);box-shadow:var(--sh-1)}
.vw-by{position:absolute;bottom:4px;inset-inline-end:8px;font-size:var(--t-2xs);opacity:.7;color:var(--vw-ink)}
.vw-draw{background:var(--vw-paper);border-radius:2px;padding:6px;box-shadow:var(--sh-2);position:relative}
.vw-draw svg{display:block;width:170px;height:118px}
.vw-draw .vw-by{bottom:2px}
.vw-emo{display:block;font-size:var(--t-xl);line-height:1;transform:scale(2.2);padding:12px}
.vw-rx{position:absolute;top:100%;left:50%;transform:translate(-50%,4px) rotate(calc(var(--rt,0deg) * -1));display:flex;gap:2px;background:var(--surface);border-radius:999px;padding:2px 4px;box-shadow:var(--sh-1);white-space:nowrap}
.vw-rx button{border:0;background:transparent;border-radius:999px;padding:2px 6px;display:inline-flex;align-items:center;gap:2px;font-size:var(--t-2xs);color:var(--mute);cursor:pointer}
.vw-rx button svg{width:14px;height:14px}
.vw-rx button.on{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.vw-rx button[disabled]{cursor:default}
.vw-it.pend{opacity:.9}
.vw-it.pend::after{content:'';position:absolute;inset:-6px;border:2px dashed var(--pri);border-radius:var(--r-sm);pointer-events:none}
.vw-it.pend .vw-tag{position:absolute;top:-12px;inset-inline-start:-8px;background:var(--pri);color:var(--pri-ink);border-radius:999px;font-size:var(--t-2xs);padding:1px 8px;white-space:nowrap;z-index:var(--z-raise)}
.vw-shade{position:absolute;inset:0;background:var(--vw-shade);z-index:var(--z-raise);pointer-events:none}
.vw-it.hot{z-index:var(--z-raise2);animation:vwGlow var(--d3) ease-in-out infinite alternate}
@keyframes vwGlow{from{filter:drop-shadow(0 0 0 transparent)}to{filter:drop-shadow(0 0 12px var(--vw-glow))}}
.vw-fl{position:absolute;inset-inline:12px;bottom:12px;z-index:var(--z-raise3);background:var(--surface);border-radius:var(--r);box-shadow:var(--sh-3);padding:10px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm)}
.vw-fl.top{bottom:auto;top:12px}
.vw-fl .k{font-size:var(--t-lg);width:36px;height:36px;border-radius:var(--r-sm);background:var(--field);display:grid;place-items:center;flex:none}
.vw-fl .k svg{width:18px;height:18px}
.vw-fl .n{flex:1;min-width:140px}
.vw-fl .n b{display:block}
.vw-fl .n small{color:var(--mute)}
.vw-ed{position:absolute;z-index:var(--z-raise3);width:260px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-3);padding:8px;cursor:default}
.vw-tabs{display:flex;gap:4px;background:var(--field);border-radius:var(--r-sm);padding:4px;margin:0 0 8px}
.vw-tabs button{flex:1;border:0;background:transparent;border-radius:var(--r-xs);padding:6px 4px;font-size:var(--t-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--ink)}
.vw-tabs button svg{width:16px;height:16px}
.vw-tabs button.on{background:var(--surface);color:var(--pri);font-weight:var(--w-bold);box-shadow:var(--sh-1)}
.vw-ed textarea{width:100%;min-height:84px;resize:none;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px;background:var(--field);color:var(--ink);font-size:var(--t-sm)}
.vw-pad{display:block;width:100%;height:150px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--vw-paper);touch-action:none;cursor:crosshair}
.vw-sw{display:flex;align-items:center;gap:6px;margin:8px 0 0;flex-wrap:wrap;font-size:var(--t-xs);color:var(--mute)}
.vw-sw button{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.vw-sw button.on{border-color:var(--ink)}
.vw-sw .sp{flex:1}
.vw-sw .y{background:var(--vw-n-y)}.vw-sw .p{background:var(--vw-n-p)}.vw-sw .b{background:var(--vw-n-b)}.vw-sw .g{background:var(--vw-n-g)}.vw-sw .o{background:var(--vw-n-o)}
.vw-sw .k0{background:var(--vw-k0)}.vw-sw .k1{background:var(--vw-k1)}.vw-sw .k2{background:var(--vw-k2)}.vw-sw .k3{background:var(--vw-k3)}.vw-sw .k4{background:var(--vw-k4)}
.vw-emg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.vw-emg button{font-size:var(--t-lg);border:1px solid transparent;background:var(--field);border-radius:var(--r-sm);padding:4px 0;cursor:pointer}
.vw-emg button.on{border-color:var(--pri);background:var(--pri-soft)}
.vw-ft{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.vw-ft .sp{flex:1}
.vw-ft label{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);color:var(--mute)}
.vw-rot{position:fixed;inset:0;z-index:var(--z-modal);background:var(--vw-shade-d);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}
.vw-rot svg{width:56px;height:56px;animation:vwRot var(--d3) ease-in-out infinite alternate}
.vw-rot b{font-size:var(--t-md)}
.vw-rot .btn{background:white;color:var(--navy-900);border-color:white}
.vw-rot small{font-size:var(--t-sm);opacity:.85;max-width:320px}
@keyframes vwRot{from{transform:rotate(0)}to{transform:rotate(-90deg)}}
.vw-arch{display:grid;gap:12px}
.vw-arch h4{margin:0 0 6px;font-size:var(--t-sm)}
@media (prefers-reduced-motion:reduce){.vw-it.hot,.vw-rot svg{animation:none}}

/* ===== «السجل السابق» للنقاط ===== */
.xpo{border:1px solid var(--line);border-radius:var(--r);margin:0 0 8px;overflow:hidden}
.xpo>button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;background:var(--field);cursor:pointer;color:var(--ink);font-size:var(--t-sm);text-align:start;flex-wrap:wrap}
.xpo>button .sp{flex:1}
.xpo>button .x{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--vio)}
.xpo .bd{display:none;padding:8px 12px}
.xpo.open .bd{display:block}
.xpo-ro{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-2xs);border-radius:999px;padding:1px 8px;background:color-mix(in srgb,var(--vio) 12%,var(--surface));color:var(--vio);font-weight:var(--w-semi)}
.xpo-ro svg{width:12px;height:12px}
.xpo table{width:100%;border-collapse:collapse;font-size:var(--t-xs)}
.xpo td{padding:6px 4px;border-top:1px solid var(--line)}
.xpo td:last-child{text-align:end;font-weight:var(--w-bold)}
.xpc-ro{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:var(--t-sm)}
/* ---------------- (الحزمة 190 — الجولة 79) «العبارات المقترحة»: شريط الرابط · المؤشرات · الحلقة · الجدول ---------------- */
.phs{display:grid;gap:12px}
.phs-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.phs-tools .sp{flex:1}
.phs-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--mute);background:var(--field);border-radius:var(--r-sm);padding:6px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phs-link svg{width:16px;height:16px;flex:none}
.phs-q{display:flex;align-items:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}
.phs-q .f{flex:1;min-width:220px;margin:0}
.phs-kp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.phs-k{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;box-shadow:var(--sh-1);min-width:0}
.phs-k .ic{width:44px;height:44px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--kc) 14%,var(--surface));color:var(--kc)}
.phs-k .ic svg{width:22px;height:22px}
.phs-k b{display:block;font-size:var(--t-xl);font-weight:var(--w-bold);line-height:1.2}
.phs-k small{color:var(--mute);font-size:var(--t-xs)}
.phs-k em{display:block;font-style:normal;font-size:var(--t-2xs);color:var(--ok);font-weight:var(--w-semi)}
.phs-g{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}
.phs-c{margin:0}
.phs-dn{display:block;width:100%;max-width:200px;margin:0 auto}
.phs-dn .b{fill:none;stroke:var(--gold);stroke-width:16px}
.phs-dn .f{fill:none;stroke:var(--c1);stroke-width:16px;transition:stroke-dasharray var(--d3)}
.phs-dn text{font-size:var(--t-lg);font-weight:var(--w-bold);fill:var(--ink)}
.phs-lg{display:flex;flex-direction:column;gap:6px;font-size:var(--t-sm);margin-top:8px}
.phs-lg span{display:flex;align-items:center;gap:8px}
.phs-lg i{width:12px;height:12px;border-radius:var(--r-xs);display:inline-block}
.phs-lg i.a{background:var(--c1)}.phs-lg i.v{background:var(--gold)}
.phs-lg b{margin-inline-start:auto}
.phs table td.phs-tx{white-space:normal;min-width:220px;max-width:520px;line-height:1.6}
.phs tr[data-row]{cursor:pointer}
.phs tr.phs-op td{background:var(--pri-soft)}
.phs tr.phs-op td.phs-tx{font-weight:var(--w-semi)}
.phs tr.phs-hid td{opacity:.55}
.phs-qrb{text-align:center}
.phs-qr{background:white;border-radius:var(--r);padding:12px;display:inline-block}
.phs-qr svg{display:block;width:220px;height:220px}
.phs-qrb p{font-size:var(--t-sm);color:var(--mute);word-break:break-all}
@media (max-width:820px){.phs-kp{grid-template-columns:repeat(2,minmax(0,1fr))}.phs-g{grid-template-columns:1fr}}
/* ---------------- (الحزمة 191 — الجولة 80) نافذة «لوحة التفاعل» · تعديل طلب الحضور وضمّ المدّة · جدول الطلبات · إحصاء مقابلات EngiPath ---------------- */
:root{--wi-bg:#2A1A0A;--wi-cap:rgba(0,13,56,.86);--wi-cap0:rgba(0,13,56,0);--wi-bar:#00175A;--wi-yel:#FFD34D;--wi-yel-ink:#00175A;--wi-dim:rgba(255,255,255,.22);--wi-dim2:rgba(255,255,255,.4);--wi-paper:#FFFBEA}
/* نافذة «لوحة التفاعل» (1-أ) */
.wi{display:flex;flex-direction:column;gap:12px}
.wi-med{border-radius:var(--r);overflow:hidden;background:var(--wi-bg)}
.wi-scr{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden}
.wi-cv{position:absolute;left:0;top:0;width:760px;height:475px;transform-origin:0 0}
.wi-cork{position:absolute;inset:0;background:var(--vw-cork);background-image:radial-gradient(var(--vw-cork-dot) 1px,transparent 1.5px),radial-gradient(var(--vw-cork-hi) 1px,transparent 1.5px);background-size:9px 9px,13px 13px;background-position:0 0,4px 6px;border:10px solid var(--vw-frame)}
.wi-cv .vw-it{transition:none}
.wi-cv .vw-rx{transition:opacity var(--d2)}
.wi-ed{position:absolute;width:220px;background:var(--surface);border-radius:var(--r);box-shadow:var(--sh-3);padding:8px;opacity:0;transform:scale(.85);transform-origin:top center;transition:opacity var(--d2),transform var(--d2);color:var(--ink);z-index:var(--z-raise2)}
.wi-ed.on{opacity:1;transform:none}
.wi-ed .vw-tabs button{pointer-events:none}
.wi-ta{min-height:56px;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 8px;font-size:var(--t-sm);line-height:1.5;background:var(--wi-paper);color:var(--vw-ink)}
.wi-ta i{display:inline-block;width:2px;height:14px;background:var(--pri);vertical-align:-2px;animation:wiBl var(--d3) steps(1) infinite alternate}
@keyframes wiBl{to{opacity:0}}
.wi-ft{display:flex;align-items:center;gap:6px;margin-top:6px}
.wi-ft small{flex:1;color:var(--mute);font-size:var(--t-2xs)}
.wi-sd{display:inline-flex;align-items:center;gap:4px;background:var(--pri);color:var(--pri-ink);border-radius:var(--r-sm);padding:4px 10px;font-size:var(--t-xs);font-weight:var(--w-bold);transition:transform var(--d1)}
.wi-sd svg{width:14px;height:14px}
.wi-sd.pr{transform:scale(.9)}
.wi-stamp{position:absolute;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);color:var(--ink);border-radius:var(--r);box-shadow:var(--sh-3);font-size:var(--t-xs);white-space:nowrap;transform:translate(-50%,-50%) scale(.6);opacity:0;transition:opacity var(--d2),transform var(--d3);z-index:var(--z-raise3)}
.wi-stamp.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.wi-stamp i{width:28px;height:28px;border-radius:50%;background:var(--ok);color:white;display:grid;place-items:center}
.wi-stamp i svg{width:16px;height:16px}
.wi-stamp b{display:block;font-size:var(--t-sm)}
.wi-stamp small{display:block;color:var(--mute)}
.wi-cur{position:absolute;width:34px;height:34px;left:0;top:0;margin:-4px 0 0 -8px;pointer-events:none;opacity:0;transition:opacity var(--d2);z-index:var(--z-raise3)}
.wi-rip{position:absolute;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;border:3px solid white;opacity:0;pointer-events:none;z-index:var(--z-raise2)}
.wi-rip.go{animation:wiRip var(--d3) ease-out 2}
@keyframes wiRip{from{opacity:.95;transform:scale(.3)}to{opacity:0;transform:scale(1.5)}}
.wi-cap{position:absolute;inset-inline:0;bottom:0;padding:28px 16px 10px;background:linear-gradient(to top,var(--wi-cap),var(--wi-cap0));color:white;text-align:center;line-height:1.5;pointer-events:none;z-index:var(--z-raise3)}
.wi-cap b{display:block;font-size:var(--t-md);font-weight:var(--w-bold)}
.wi-cap small{display:block;font-size:var(--t-xs);opacity:.88}
.wi-ctl{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--wi-bar);color:white}
.wi-pl{border:0;width:32px;height:32px;border-radius:50%;background:var(--wi-yel);color:var(--wi-yel-ink);display:grid;place-items:center;cursor:pointer;flex:none}
.wi-pl svg{width:18px;height:18px}
.wi-chs{flex:1;display:flex;gap:4px;min-width:0}
.wi-ch{flex:1;border:0;padding:6px 0;background:transparent;cursor:pointer;min-width:0}
.wi-ch u{display:block;height:4px;border-radius:2px;background:var(--wi-dim);overflow:hidden;position:relative}
.wi-ch u i{position:absolute;inset-block:0;inset-inline-start:0;width:0;background:var(--wi-yel)}
.wi-ch:hover u{background:var(--wi-dim2)}
.wi-ch:focus-visible{outline:2px solid var(--wi-yel);outline-offset:2px}
.wi-tm{font-size:var(--t-xs);opacity:.85;flex:none;direction:ltr}
.wi-ok{display:flex;gap:10px;align-items:flex-start;background:var(--pri-soft);border-radius:var(--r);padding:10px 12px;font-size:var(--t-sm);line-height:1.6}
.wi-ok>svg{width:22px;height:22px;color:var(--pri);flex:none;margin-top:2px}
.wi-ok small{display:block;color:var(--mute);font-size:var(--t-xs);margin-top:2px}
.vw-okl{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:var(--t-xs);color:var(--pri)}
.vw-okl svg{width:14px;height:14px;flex:none}
/* تعديل طلب الحضور (2-أ) */
.ae191 .ae-who{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ae191 .f.ae-chg input,.ae191 .f.ae-chg select{border-color:var(--warn)}
.ae191 .ae-chg>span:first-child{color:var(--warn)}
.ae191 .ae-was{font-size:var(--t-2xs);font-weight:var(--w-semi);background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:1px 8px;margin-inline-start:4px}
.ae191 .ae-route{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--t-xs);color:var(--mute);margin-top:4px}
.ae191 .ae-route svg{width:14px;height:14px}
.ae191 .ae-route b{color:var(--ink)}
.ae191 .ae-move{color:var(--warn);font-weight:var(--w-semi)}
.ae191 .ae-org{border:1px dashed var(--line);border-radius:var(--r);padding:8px 10px;display:flex;flex-direction:column;gap:8px;background:var(--vio-soft)}
.ae191 .ae-org.ae-chg{border-color:var(--warn)}
.ae191 .ae-ck{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:var(--w-semi);cursor:pointer}
.ae191 .ae-ck input{width:auto}
.ae191 .ae-ck small{font-weight:var(--w-reg)}
.ae191 .ae-sum{border-top:1px solid var(--line);padding-top:10px;font-size:var(--t-sm)}
.ae191 .ae-sum ul{margin:4px 0 0;padding-inline-start:18px}
.ae191 .ae-sum li{margin:2px 0}
.ae191 .ae-cutn,.ae191 .ae-hint{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:var(--t-xs);color:var(--mute)}
.ae191 .ae-cutn{color:var(--warn)}
.ae191 .ae-cutn svg,.ae191 .ae-hint svg{width:14px;height:14px;flex:none}
/* ضمّ المدّة المزالة (3-ج) */
.aecut{display:flex;flex-direction:column;gap:12px}
.aecut-p{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.aecut-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aecut-h svg{width:18px;height:18px;color:var(--warn)}
.aecut-sug{display:flex;align-items:flex-start;gap:8px;background:var(--pri-soft);border-radius:var(--r-sm);padding:8px 10px;font-size:var(--t-sm);line-height:1.6}
.aecut-sug svg{width:18px;height:18px;color:var(--pri);flex:none;margin-top:2px}
.aecut-o{display:flex;flex-wrap:wrap;gap:6px}
.aecut-o .btn{flex-direction:column;align-items:flex-start;height:auto;gap:2px}
.aecut-o .btn small{font-size:var(--t-2xs);opacity:.8}
.aecut-r{margin:0;font-size:var(--t-xs);color:var(--mute)}
/* جدول الطلبات (4-ب) */
.att-vw{margin-inline-start:4px}
.att-vw button{display:inline-flex;align-items:center;gap:4px}
.att-vw svg{width:14px;height:14px}
.att-tbl tbody tr{cursor:pointer}
/* EngiPath ← الإحصاء ← المقابلات (5-أ) */
.ivs-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.ivs-top select{width:auto;min-width:200px}
.ivs-trk-card{padding:14px}
.ivs-trk-card h3{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-md)}
.ivs-trk-card h3 svg{width:18px;height:18px;color:var(--pri)}
.ivs-n{margin:4px 0 8px;font-size:var(--t-xs)}
.ivs-cat{display:grid;grid-template-columns:150px minmax(0,1fr) 92px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line2)}
.ivs-cn{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.ivs-m button{padding:2px 10px;font-size:var(--t-xs)}
.ivs-tr{position:relative;height:52px}
.ivs-ax{position:absolute;inset-inline:0;top:26px;height:2px;background:var(--line)}
.ivs-sc{position:absolute;bottom:0;font-size:var(--t-2xs);color:var(--mute);transform:translateX(-50%)}
.ivs-dot{position:absolute;top:27px;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--mute);opacity:.45;border:2px solid var(--surface);transition:background var(--d1),opacity var(--d1),transform var(--d1)}
.ivs-dot.on{background:var(--cc);opacity:1}
.ivs-dot.rec{box-shadow:0 0 0 2px var(--warn)}
.ivs-dot.rec.th{box-shadow:0 0 0 1px var(--warn)}
.ivs-dot:hover{transform:scale(1.4);z-index:var(--z-raise)}
.ivs-tr input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:var(--z-raise2)}
.ivs-line{position:absolute;top:2px;bottom:12px;width:0;border-inline-start:2px solid var(--ink);pointer-events:none}
.ivs-line b{position:absolute;top:-2px;transform:translateX(-50%);background:var(--ink);color:var(--surface);font-size:var(--t-2xs);border-radius:var(--r-xs);padding:0 6px;white-space:nowrap}
.ivs-tr input[type=range]:focus-visible~.ivs-line{border-color:var(--pri)}
.ivs-cnt{text-align:end}
.ivs-cnt b{display:block;font-size:var(--t-lg)}
.ivs-cnt small{color:var(--mute);font-size:var(--t-xs)}
.ivs-cta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border-radius:var(--r);background:var(--ok-soft);font-size:var(--t-sm)}
.ivs-cta>svg{width:18px;height:18px;color:var(--ok)}
.ivs-cta .sp{flex:1}
.ivs-cf{margin:0 0 8px}
.ivs-rth{display:inline-flex;align-items:center;gap:4px;margin-inline-start:6px;font-size:var(--t-2xs);color:var(--mute);cursor:pointer}
.ivs-rth input{width:auto}
.ivs-pass{display:flex;flex-direction:column;gap:10px}
.ivs-pg{border:1px solid var(--line);border-inline-start:4px solid var(--cc);border-radius:var(--r);padding:10px 12px}
.ivs-pg h4{margin:0 0 8px;display:flex;align-items:center;gap:8px}
.ivs-pp{display:flex;flex-wrap:wrap;gap:6px}
.ivs-pi{display:inline-flex;align-items:center;gap:6px;background:var(--surface2);border-radius:999px;padding:2px 4px 2px 12px;font-size:var(--t-xs)}
.ivs-pi small{color:var(--mute)}
.ivs-pi .ibtn{width:24px;height:24px;min-width:24px;background:transparent;color:var(--mute);box-shadow:none}
.ivs-pi .ibtn svg{width:12px;height:12px}
.ivs-pa{display:flex;gap:8px;justify-content:flex-end}
@media (max-width:820px){.ivs-cat{grid-template-columns:minmax(0,1fr) 80px}.ivs-cn{grid-column:1 / -1;flex-direction:row;align-items:center;flex-wrap:wrap}.wi-cap b{font-size:var(--t-sm)}}
@media (prefers-reduced-motion:reduce){.wi-ed,.wi-stamp,.wi-sd,.ivs-dot{transition:none}.wi-rip.go,.wi-ta i{animation:none}}
/* ---------------- (الحزمة 193 — §5-ص228) ترتيب دبابيس «لوحة تفاعل المتطوعين»: المعتمِد يسحب العناصر ---------------- */
.vw.arr .vw-it.drg{cursor:grab;touch-action:none}
.vw.arr .vw-it.drg::before{content:'';position:absolute;inset:-6px;border:2px dashed var(--pri);border-radius:var(--r-sm);pointer-events:none;opacity:.55}
.vw.arr .vw-it.drg.on{cursor:grabbing;transition:none;z-index:var(--z-raise2)}
.vw.arr .vw-it.drg.on::before{opacity:1}
/* ---------------- (الحزمة 194 — §5-ص231 · §5-ص232) قواعد المالك على كل المنصة: الجداول · القوائم المنسدلة · منتقي الوقت · تفاصيل نشاط الميديا ---------------- */
/* (ق1) «الأسطر ملونة بشكل متناوب بطيف بسيط جداً» + «النصوص داخل الخلايا في الوسط أفقياً وشاقولياً» — كل جداول المنصة وفي كل الكسوات
   الطيف على الصفّ نفسه (tr) لا على الخلايا ⇒ تمييز الصفّ عند التأشير (على الخلايا) يبقى فوقه في كل كسوة · .tl للخروج إلى البداية */
:root{--zb:color-mix(in srgb,var(--pri) 4%,transparent)}
:root[data-mode=dark]{--zb:color-mix(in srgb,var(--pri) 7%,transparent)}
:root tbody tr:nth-child(even){background-color:var(--zb)}
:root table th,:root table td,:root[data-skin] table th,:root[data-skin] table td{text-align:center;vertical-align:middle}
:root[data-skin] table th.tl,:root[data-skin] table td.tl,:root table th.tl,:root table td.tl{text-align:start}
:root[data-skin] table td > :is(div,span,a,label,p,nav):only-child,:root table td > :is(div,span,a,label,p,nav):only-child,:root[data-skin] table td > .av,:root[data-skin] table td > .acts{justify-content:center;justify-items:center}

/* (ق2) القوائم المنسدلة: الحقل المغلق كبسولة بسهم داخل دائرة تتلوّن عند التأشير والفتح (بدل شكل المتصفح) — والقائمة نفسها من ui-select.js */
:root{--sel-ar:var(--mute);--sel-pill:var(--field)}
:root select:not([multiple]):not([size]):not(.chip):not(.qst):not([data-native]),
:root[data-skin] select:not([multiple]):not([size]):not(.chip):not(.qst):not([data-native]){
  appearance:none;-webkit-appearance:none;cursor:pointer;padding-inline-end:40px;
  background-image:linear-gradient(45deg,transparent 50%,var(--sel-ar) 50%),linear-gradient(135deg,var(--sel-ar) 50%,transparent 50%),radial-gradient(circle,var(--sel-pill) 11px,transparent 12px);
  background-repeat:no-repeat;background-size:5px 5px,5px 5px,26px 26px;
  background-position:left 15px center,left 20px center,left 6px center;
  transition:border-color var(--d1),box-shadow var(--d1),background-color var(--d1)
}
[dir=ltr] select:not([multiple]):not([size]):not(.chip):not(.qst):not([data-native]){background-position:right 20px center,right 15px center,right 6px center}
:root select:not([multiple]):not([size]):not(.chip):not(.qst):not([data-native]):hover,
:root select:not([multiple]):not([size]):not(.chip):not(.qst):not([data-native]):focus,
:root select[aria-expanded=true]:not([multiple]):not([size]){--sel-ar:var(--pri);--sel-pill:var(--pri-soft);border-color:color-mix(in srgb,var(--pri) 55%,var(--line))}
:root select[aria-expanded=true]:not([multiple]):not([size]):not(.chip):not(.qst):not([data-native]){background-image:linear-gradient(135deg,transparent 50%,var(--sel-ar) 50%),linear-gradient(45deg,var(--sel-ar) 50%,transparent 50%),radial-gradient(circle,var(--sel-pill) 11px,transparent 12px)}
:root select:disabled{cursor:not-allowed;opacity:.6}
/* القائمة المفتوحة: صفوف بحلقة اختيار وأيقونة · المحدَّد بعلامة داخل دائرة ملوّنة · دخول متتابع خفيف */
.uis .uis-o{position:relative;gap:10px;margin:2px 0;transition:background-color var(--d1),color var(--d1)}
.uis .uis-o::after{content:'';flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line-hi,var(--line));box-sizing:border-box;order:3}
.uis .uis-o.on::after{display:none}
.uis .uis-o.on > .ic{width:18px;height:18px;padding:2px;border-radius:50%;background:var(--pri);color:var(--pri-ink);order:3;box-sizing:border-box}
.uis .uis-o .uis-ic{display:inline-grid;place-items:center;flex:none;color:var(--ic,var(--mute))}
.uis .uis-o .uis-ic .ic{width:18px;height:18px}
.uis .uis-o.on .uis-ic{color:var(--pri)}
.uis .uis-o.hi{background:color-mix(in srgb,var(--pri) 8%,transparent)}
.uis .uis-g{display:flex;align-items:center;gap:8px;text-transform:none}
.uis .uis-g::after{content:'';flex:1;height:1px;background:var(--line2)}
.uis .uis-ls > .uis-o{animation:uisIn var(--d2) var(--ease) both}
@keyframes uisIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.uis .uis-ls > .uis-o{animation:none}:root select{transition:none}}

/* (ق3) منتقي الوقت بنظام 12 ساعة: عنوانا «صباحاً» و«ظهراً ومساءً» يمتدّان على الشبكة */
.uit-h{grid-column:1/-1;display:flex;align-items:center;gap:6px;padding:6px 2px 2px;font-size:var(--t-2xs);font-weight:var(--w-bold);color:var(--mute)}
.uit-h .ic{width:14px;height:14px}
.uit-h:not(:first-child){margin-top:6px;border-top:1px solid var(--line2);padding-top:10px}

/* (§5-ص232 «ب») تفاصيل النشاط لعضو فريق الميديا — زرّ البطاقة ونافذة التفاصيل */
.mtk-h .mtk-av{margin-inline-start:auto;flex:none;align-self:center}
.av{display:grid;gap:16px}
.av-load{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px 16px;color:var(--mute);font-size:var(--t-sm)}
.av-load .ic{width:20px;height:20px;animation:ddspin 1.2s linear infinite}
.av-hero{position:relative;display:grid;gap:8px;padding:16px 18px;border-radius:var(--r);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,var(--surface)),var(--surface) 70%);border:1px solid color-mix(in srgb,var(--c) 30%,var(--line));overflow:hidden}
.av-hero::before{content:'';position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:var(--c)}
.av-hero h3{margin:0;font-size:var(--t-lg);font-weight:var(--w-bold);line-height:1.4}
.av-trk{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:var(--w-semi);color:color-mix(in srgb,var(--c) 70%,var(--ink))}
.av-trk i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.av-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--mute)}
.av-days{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.av-day{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:var(--t-xs)}
.av-day .ic{width:14px;height:14px;color:var(--c)}
.av-tm{display:inline-flex;align-items:center;gap:4px;color:var(--mute)}
.av-sec{display:grid;gap:10px}
.av-sec h4{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink2)}
.av-sec h4 .ic{width:18px;height:18px;color:var(--c5)}
.av-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.av-f{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);min-width:0;transition:border-color var(--d1),transform var(--d1)}
.av-f:hover{border-color:color-mix(in srgb,var(--c5) 40%,var(--line));transform:translateY(-1px)}
.av-f.wide{grid-column:1/-1}
.av-fi{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--r-sm);background:color-mix(in srgb,var(--c5) 12%,transparent);color:var(--c5)}
.av-fi .ic{width:18px;height:18px}
.av-fb{display:grid;gap:4px;min-width:0;flex:1}
.av-fb small{font-size:var(--t-2xs);font-weight:var(--w-semi);color:var(--mute)}
.av-fb p{margin:0;font-size:var(--t-sm);line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.av-fb > b.num{font-size:var(--t-md)}
.av-chips{display:flex;flex-wrap:wrap;gap:6px}
.av-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;background:var(--field);font-size:var(--t-xs)}
.av-ul{margin:0;padding-inline-start:18px;display:grid;gap:4px;font-size:var(--t-sm)}
.av-tw{overflow-x:auto;border:1px solid var(--line2);border-radius:var(--r-xs)}
.av-t{font-size:var(--t-xs)}
.av-t th,.av-t td{padding:6px 10px}
.av-kv{display:grid;gap:4px;font-size:var(--t-sm)}
.av-kv > div{display:flex;gap:6px;flex-wrap:wrap}
.av-lk{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:var(--t-sm);color:var(--pri)}
.av-lk .ic{width:14px;height:14px;flex:none}
.av-prop{padding:12px 14px;border-radius:var(--r-sm);border:1px dashed color-mix(in srgb,var(--c5) 45%,var(--line));background:color-mix(in srgb,var(--c5) 5%,transparent)}
.av-prop p{margin:0;font-size:var(--t-sm)}
.av-ph{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.av-note{display:flex;gap:6px;align-items:flex-start;color:var(--ink2)}
.av-note .ic{width:14px;height:14px;flex:none;margin-top:4px;color:var(--c5)}
.av-med{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.av-mi{display:grid;gap:6px;align-content:start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm)}
.av-mi p{margin:0;font-size:var(--t-xs);color:var(--mute)}
.av-mi ol{margin:0;padding-inline-start:18px;font-size:var(--t-xs);display:grid;gap:2px}
.av-fin{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--t-xs);color:var(--mute)}
.av-fin .ic{width:14px;height:14px}
@media (max-width:640px){.av-grid,.av-med{grid-template-columns:1fr}.mtk-h{flex-wrap:wrap}.mtk-h .mtk-av{margin-inline-start:0}}
@media (prefers-reduced-motion:reduce){.av-f{transition:none}.av-f:hover{transform:none}.av-load .ic{animation:none}}
/* ---------------- (الحزمة 195 — الجولة 83 «1-أ» + س2 · س3) «إدارة المنصة الرسمية»: الألسنة بالأيقونات · المؤشرات · التصفية · الجدول · البطاقة · صحة التكامل ---------------- */
.ofc{display:grid;gap:16px}
.ofc-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 10px}
.ofc-tabs{display:flex;gap:6px;flex-wrap:wrap}
.ofc-tabs button{display:inline-flex;align-items:center;gap:8px;height:40px;min-width:40px;padding:0 10px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--mute);font:inherit;font-size:var(--t-sm);cursor:pointer;transition:background-color var(--d1),color var(--d1),border-color var(--d1)}
.ofc-tabs button .ic{width:20px;height:20px}
.ofc-tabs button span{display:none}
.ofc-tabs button:hover{background:var(--field);color:var(--ink)}
.ofc-tabs button.on{background:var(--pri-soft);border-color:color-mix(in srgb,var(--pri) 40%,transparent);color:var(--pri);font-weight:var(--w-semi)}
.ofc-tabs button.on span{display:inline}
.ofc-hint{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;font-size:var(--t-xs);color:var(--mute)}
.ofc-hint .ic{width:14px;height:14px}
.ofc-body{display:grid;gap:16px}
.ofc-body > div{display:grid;gap:16px}
/* المؤشرات */
.ofc-kp{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.ofc-k{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-1)}
.ofc-ki{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--r-sm);background:color-mix(in srgb,var(--kc) 14%,transparent);color:var(--kc)}
.ofc-ki .ic{width:22px;height:22px}
.ofc-kb{display:grid;gap:2px;min-width:0;flex:1}
.ofc-kb b{font-size:var(--t-lg);font-weight:var(--w-bold);line-height:1.2}
.ofc-kb small{font-size:var(--t-xs);color:var(--mute)}
.ofc-kb em{font-style:normal;font-size:var(--t-2xs);color:var(--mute)}
.ofc-kbar{display:block;height:4px;margin-top:4px;border-radius:999px;background:var(--field);overflow:hidden}
.ofc-kbar i{display:block;height:100%;border-radius:999px;background:var(--kc);transition:width var(--d3) var(--ease)}
.ofc-lnk{padding:0;border:0;background:none;color:var(--pri);font:inherit;font-size:var(--t-2xs);font-weight:var(--w-semi);cursor:pointer;text-decoration:underline}
/* التصفية */
.ofc-f{display:grid;gap:10px;padding:14px}
.ofc-fq{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ofc-srch{position:relative;flex:1 1 320px;display:flex;align-items:center}
.ofc-srch .ic{position:absolute;inset-inline-start:12px;width:18px;height:18px;color:var(--mute);pointer-events:none}
.ofc-srch input{padding-inline-start:40px}
.ofc-seg{display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-sm);background:var(--field);flex-wrap:wrap}
.ofc-seg button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--mute);font:inherit;font-size:var(--t-xs);cursor:pointer;transition:background-color var(--d1),color var(--d1)}
.ofc-seg button .ic{width:15px;height:15px}
.ofc-seg button.on{background:var(--surface);color:var(--ink);font-weight:var(--w-semi);box-shadow:var(--sh-1)}
.ofc-seg button.s-active.on{color:var(--ok)}.ofc-seg button.s-unverified.on{color:var(--warn)}.ofc-seg button.s-deleted.on{color:var(--bad)}
.ofc-fs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ofc-sel{position:relative;display:flex;align-items:center;flex:1 1 170px;max-width:260px}
.ofc-sel > .ic{position:absolute;inset-inline-start:12px;width:16px;height:16px;color:var(--mute);pointer-events:none;z-index:var(--z-raise)}
.ofc-sel select{padding-inline-start:36px;font-size:var(--t-sm)}
.ofc-fsp{flex:1}
.ofc-sy{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--t-xs);color:var(--mute)}
.ofc-sy .ic{width:14px;height:14px}
/* الجدول */
.ofc-t .ch{flex-wrap:wrap;gap:8px}
.ofc-per label{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--mute)}
.ofc-per select{width:auto;min-width:88px;font-size:var(--t-xs)}
.ofc-tw{transition:opacity var(--d2)}
.ofc-tw.ld{opacity:.55;pointer-events:none}
.ofc-tbl{font-size:var(--t-sm)}
.ofc-tbl th,.ofc-tbl td{white-space:nowrap}
.ofc-tbl td.ofc-nm{white-space:normal;min-width:160px}
.ofc-nm a,.ofc-code{color:var(--ink);font-weight:var(--w-semi);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--pri) 45%,transparent)}
.ofc-nm a:hover,.ofc-code:hover{color:var(--pri)}
.ofc-code{font-weight:var(--w-med)}
.ofc-mod{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:2px;font-size:var(--t-2xs);color:var(--vio)}
.ofc-mod .ic{width:12px;height:12px}
.ofc-lv{display:block;font-size:var(--t-2xs);color:var(--mute)}
.ofc-wait .ic{width:16px;height:16px;color:var(--mute);opacity:.7}
.ofc-ck{width:40px}
.ofc-act{white-space:nowrap}
.ofc-act .btn + .btn{margin-inline-start:6px}
.ofc-tbl tbody tr.sel > td{background:color-mix(in srgb,var(--ok) 9%,transparent)}
.ofc-pg{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;padding:12px}
.ofc-pg button{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-sm);cursor:pointer;transition:border-color var(--d1),background-color var(--d1)}
.ofc-pg button .ic{width:16px;height:16px}
.ofc-pg button.nx .ic{transform:scaleX(-1)}
.ofc-pg button:hover:not(:disabled){border-color:var(--pri)}
.ofc-pg button.on{background:var(--pri);border-color:var(--pri);color:var(--pri-ink);font-weight:var(--w-bold)}
.ofc-pg button:disabled{opacity:.4;cursor:not-allowed}
.ofc-gap{padding:0 4px;color:var(--mute)}
.ofc-bulk{position:sticky;bottom:12px;z-index:var(--z-sticky);display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-self:center;padding:10px 14px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--line));border-radius:999px;background:var(--surface);box-shadow:var(--sh-3);animation:uisIn var(--d2) var(--ease) both}
.ofc-bulk > span{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm)}
.ofc-bulk > span .ic{width:16px;height:16px;color:var(--ok)}
.ofc-prog{display:grid;gap:10px}
.ofc-pbar{display:block;height:8px;border-radius:999px;background:var(--field);overflow:hidden}
.ofc-pbar i{display:block;height:100%;border-radius:999px;background:var(--ok);transition:width var(--d2) var(--ease)}
.ofc-res{display:flex;gap:8px;flex-wrap:wrap}
.ofc-errs{margin:0;padding-inline-start:18px;font-size:var(--t-xs);color:var(--bad)}
/* البطاقة الجانبية */
.ofc-dr{position:fixed;inset-block:0;inset-inline-end:0;z-index:var(--z-mdrawer);display:flex;flex-direction:column;width:min(460px,100%);background:var(--solid);border-inline-start:1px solid var(--line);box-shadow:var(--sh-3);animation:ofcIn var(--d3) var(--ease) both}
.ofc-dr.out{animation:ofcOut var(--d2) var(--ease) both}
@keyframes ofcIn{from{transform:translateX(-24px);opacity:0}to{transform:none;opacity:1}}
@keyframes ofcOut{to{transform:translateX(-24px);opacity:0}}
[dir=ltr] .ofc-dr{animation-name:ofcInL}
@keyframes ofcInL{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.ofc-drh{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line2)}
.ofc-drh b{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm)}
.ofc-drh b .ic{width:18px;height:18px;color:var(--pri)}
.ofc-drb{flex:1;min-height:0;overflow:auto;padding:16px;display:grid;gap:16px;align-content:start}
.ofc-ld{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px 8px;color:var(--mute);font-size:var(--t-sm)}
.ofc-ld .ic{width:20px;height:20px;animation:ddspin 1.2s linear infinite}
.ofc-dh{position:relative;display:flex;gap:12px;align-items:center;padding:14px;border-radius:var(--r);background:linear-gradient(135deg,color-mix(in srgb,var(--sc,var(--pri)) 13%,var(--surface)),var(--surface) 75%);border:1px solid color-mix(in srgb,var(--sc,var(--pri)) 28%,var(--line))}
.ofc-dh.s-active{--sc:var(--ok)}.ofc-dh.s-unverified,.ofc-dh.s-request_updating{--sc:var(--warn)}.ofc-dh.s-deleted{--sc:var(--bad)}
.ofc-av{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--sc,var(--pri)) 20%,transparent);color:color-mix(in srgb,var(--sc,var(--pri)) 70%,var(--ink));font-size:var(--t-md);font-weight:var(--w-bold)}
.ofc-dh h3{margin:0;font-size:var(--t-md);font-weight:var(--w-bold);line-height:1.4}
.ofc-dh h3 small{display:block;font-size:var(--t-xs);font-weight:var(--w-reg);color:var(--mute)}
.ofc-dm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:var(--t-xs)}
.ofc-dm a{color:var(--pri)}
.ofc-warn{display:flex;align-items:center;gap:6px;margin:0;padding:8px 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--warn) 10%,transparent);color:var(--warn);font-size:var(--t-xs)}
.ofc-warn .ic{width:16px;height:16px;flex:none}
.ofc-da{display:flex;gap:8px;flex-wrap:wrap}
.ofc-sec{display:grid;gap:8px}
.ofc-sec h4{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink2)}
.ofc-sec h4 .ic{width:16px;height:16px;color:var(--pri)}
.ofc-sec{grid-template-columns:repeat(2,minmax(0,1fr))}
.ofc-sec > h4,.ofc-sec > p,.ofc-sec > .ofc-docs,.ofc-sec > .ofc-log,.ofc-sec > .st,.ofc-fd.w{grid-column:1/-1}
.ofc-sec > .st{justify-self:start}
.ofc-fd{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface);min-width:0}
.ofc-fd span{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-2xs);color:var(--mute)}
.ofc-fd span .ic{width:13px;height:13px}
.ofc-fd b{font-size:var(--t-sm);font-weight:var(--w-semi);overflow-wrap:anywhere}
.ofc-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.ofc-doc{display:grid;gap:4px;padding:6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);text-decoration:none;font-size:var(--t-2xs);text-align:center;transition:border-color var(--d1),transform var(--d1)}
.ofc-doc:hover{border-color:var(--pri);transform:translateY(-1px)}
.ofc-doc img{width:100%;height:90px;object-fit:cover;border-radius:var(--r-xs);background:var(--field)}
.ofc-doc.nf{place-items:center;min-height:90px;color:var(--mute)}
.ofc-doc.nf .ic{width:22px;height:22px}
.ofc-ins{display:flex;gap:6px;align-items:flex-start;margin:0;font-size:var(--t-sm);line-height:1.7}
.ofc-ins .ic{width:14px;height:14px;flex:none;margin-top:4px;color:var(--vio)}
.ofc-log{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.ofc-log li{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:var(--r-sm);background:var(--field);font-size:var(--t-xs)}
.ofc-log li .ic{width:16px;height:16px;flex:none;margin-top:2px}
.ofc-log li.ok .ic{color:var(--ok)}.ofc-log li.bad .ic{color:var(--bad)}
.ofc-log small{display:block;color:var(--mute)}
/* صحة التكامل */
.ofc-acc{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-inline-start:4px solid var(--ok)}
.ofc-acc.bad{border-inline-start-color:var(--bad)}
.ofc-acc > div{display:grid;gap:2px;flex:1;min-width:0}
.ofc-acc small{color:var(--mute);font-size:var(--t-xs)}
.ofc-ji{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--r-sm);background:var(--pri-soft);color:var(--pri)}
.ofc-ji .ic{width:20px;height:20px}
.ofc-acc.bad .ofc-ji{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.ofc-jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.ofc-j{display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:14px 16px;border-top:3px solid var(--line)}
.ofc-j.s-ok{border-top-color:var(--ok)}.ofc-j.s-bad{border-top-color:var(--bad)}.ofc-j.s-warn{border-top-color:var(--warn)}.ofc-j.s-info{border-top-color:var(--info)}
.ofc-jh{display:flex;gap:10px;align-items:center}
.ofc-jh > div{display:grid;gap:4px;justify-items:start}
.ofc-jh b{font-size:var(--t-sm)}
.ofc-j.s-info .ofc-ji .ic{animation:ddspin 1.4s linear infinite}
.ofc-jb{display:grid;gap:6px;align-content:start;font-size:var(--t-xs);color:var(--ink2)}
.ofc-jb p{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}
.ofc-jb p .ic{width:14px;height:14px;color:var(--mute)}
.ofc-err{color:var(--bad)}.ofc-err .ic{color:var(--bad)}
.ofc-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.ofc-nums span{display:grid;gap:2px;justify-items:center;padding:6px;border-radius:var(--r-xs);background:var(--field);font-size:var(--t-2xs);color:var(--mute)}
.ofc-nums b{font-size:var(--t-md);color:var(--ink)}
.ofc-parts{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.ofc-parts li{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--r-xs);background:var(--field)}
.ofc-parts li .ic{width:14px;height:14px;color:var(--ok)}
.ofc-parts li.bad .ic{color:var(--bad)}
.ofc-parts li b{margin-inline-start:auto}
.ofc-fbar{display:flex;align-items:center;gap:8px}
.ofc-fbar .ofc-pbar{flex:1}
.ofc-fbar .ofc-pbar i{background:var(--vio)}
.ofc-jf{display:flex;gap:8px}
.ofc-cfg .ch{flex-wrap:wrap;gap:8px}
.ofc-on{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm)}
@media (max-width:820px){.ofc-hint{display:none}.ofc-sel{max-width:none}.ofc-nums{grid-template-columns:repeat(2,minmax(0,1fr))}.ofc-sec{grid-template-columns:1fr}.ofc-bulk{border-radius:var(--r)}}
@media (max-width:640px){.ofc-dr{width:100%;inset-block-start:auto;height:88vh;border-radius:var(--r-lg) var(--r-lg) 0 0;border-inline-start:0;animation-name:ofcUp}.ofc-dr.out{animation-name:ofcDown}}
@keyframes ofcUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes ofcDown{to{transform:translateY(40px);opacity:0}}
@media (prefers-reduced-motion:reduce){.ofc-dr,.ofc-dr.out,.ofc-bulk{animation:none}.ofc-kbar i,.ofc-pbar i,.ofc-tw,.ofc-tabs button,.ofc-seg button,.ofc-pg button,.ofc-doc{transition:none}.ofc-ld .ic,.ofc-j.s-info .ofc-ji .ic{animation:none}}
/* ---------------- (الحزمة 196 — الجولة 83 «2-ب» · «8-أ») الطلبات · نافذة «طلب تعديل» · طلبات التطوع ونافذتها · «رسائل طلبات التعديل» ---------------- */
.ofc-tabs button{position:relative}
.ofc-bdg{position:absolute;inset-block-start:-4px;inset-inline-end:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--warn);color:var(--pri-ink);font-style:normal;font-size:var(--t-2xs);font-weight:var(--w-bold);line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--surface)}
.ofc-sub{flex:none}
.ofc-srch.sm{flex:0 1 220px}
.ofc-srch.sm input{min-height:var(--h-sm)}
.ofc-wrap{white-space:normal!important;min-width:180px;max-width:320px}
.ofc-wrap .st{margin:2px}
.ofc-ins1{display:inline-block;max-width:300px;white-space:normal;font-size:var(--t-xs);color:var(--ink2)}
.btn.ofc-mr{--ac:var(--vio);background:color-mix(in srgb,var(--vio) 14%,transparent);color:var(--vio);border-color:color-mix(in srgb,var(--vio) 35%,transparent)}
.btn.ofc-mr:hover{background:var(--vio);color:var(--pri-ink)}
/* نافذة «طلب تعديل» */
.ofc-mm{gap:14px}
.ofc-mmu{display:flex;align-items:center;gap:10px}
.ofc-mmu > div{display:grid;gap:2px}
.ofc-mmu small{font-size:var(--t-xs);color:var(--mute)}
.ofc-av.sm{width:40px;height:40px;font-size:var(--t-sm)}
.ofc-mt{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.ofc-mt button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-sm);text-align:start;cursor:pointer;transition:border-color var(--d1),background-color var(--d1),transform var(--d1)}
.ofc-mt button .ic{width:16px;height:16px;flex:none;color:var(--vio)}
.ofc-mt button span{flex:1;min-width:0}
.ofc-mt button em{font-style:normal;font-size:var(--t-2xs);color:var(--warn)}
.ofc-mt button:hover:not(.dis){border-color:var(--vio);transform:translateY(-1px)}
.ofc-mt button.on{border-color:var(--vio);background:color-mix(in srgb,var(--vio) 10%,var(--surface));font-weight:var(--w-semi)}
.ofc-mt button.dis{opacity:.6;cursor:not-allowed}
.ofc-mt button.dis .ic{color:var(--mute)}
.ofc-h4{display:flex;align-items:center;gap:6px;margin:12px 0 6px;font-size:var(--t-sm);font-weight:var(--w-bold)}
.ofc-h4 .ic{width:16px;height:16px;color:var(--vio)}
.ofc-chips{display:flex;flex-wrap:wrap;gap:6px}
/* طلبات التطوع: النافذة والمقياس */
.ofc-win{display:grid;gap:14px;padding:16px;border-inline-start:4px solid var(--mute)}
.ofc-win.on{border-inline-start-color:var(--ok)}
.ofc-wh{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ofc-wh > div{display:grid;gap:2px;flex:1;min-width:0}
.ofc-wh small{font-size:var(--t-xs);color:var(--mute)}
.ofc-win.on .ofc-ji{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
.ofc-sw{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:var(--w-semi)}
.ofc-gauge{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ofc-gt{display:inline-flex;align-items:baseline;gap:6px;font-size:var(--t-sm);color:var(--mute)}
.ofc-gt b{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink)}
.ofc-gauge .ofc-pbar{flex:1 1 200px;height:10px}
.ofc-gauge .ofc-pbar i{background:linear-gradient(90deg,var(--ok),color-mix(in srgb,var(--ok) 60%,var(--pri)))}
.ofc-need{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--mute)}
.ofc-need input{width:96px;text-align:center}
.ofc-smart{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-xs);color:var(--mute)}
.ofc-smart > .ic{width:16px;height:16px;color:var(--vio)}
.ofc-smart .chip .ic{width:14px;height:14px}
.ofc-bulk .btn.bad{--ac:var(--bad)}
/* «رسائل طلبات التعديل» */
.ofc-msgs .ch{flex-wrap:wrap;gap:8px}
.ofc-new{border:1.5px dashed color-mix(in srgb,var(--vio) 40%,var(--line));border-radius:var(--r-sm);padding:10px 12px}
.ofc-new summary{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:var(--w-semi);color:var(--vio)}
.ofc-new summary .ic{width:16px;height:16px}
.ofc-new[open] summary{margin-bottom:10px}
.ofc-ml{display:grid;gap:12px}
.ofc-mi{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-inline-start:4px solid var(--ok);border-radius:var(--r-sm);background:var(--surface);transition:border-color var(--d1),opacity var(--d1)}
.ofc-mi.need{border-inline-start-color:var(--warn)}
.ofc-mi.off{opacity:.6}
.ofc-mh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ofc-mh .ofc-ji{width:34px;height:34px}
.ofc-mi.need .ofc-ji{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}
.ofc-mtt{flex:1 1 220px;width:auto;font-weight:var(--w-semi)}
.ofc-mf{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ofc-mf .sp{flex:1}
.ofc .hint,.ofc-mm .hint{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ofc .hint > .ic,.ofc-mm .hint > .ic{width:14px;height:14px;flex:none}
.ofc-av{white-space:nowrap}
@media (max-width:640px){.ofc-mt{grid-template-columns:1fr}.ofc-gauge .ofc-pbar{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.ofc-mt button,.ofc-mi{transition:none}.ofc-mt button:hover:not(.dis){transform:none}}
/* ---------------- (الحزمة 197 — الجولة 83 «3-ب» · «4-أ») قاعة المطالعة (الحجوزات والجلسات · المخالفات) · الشكاوى ونافذة المعالجة ---------------- */
.ofc-zone{display:grid;gap:16px}
.ofc-zh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 10px}
.ofc-days{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ofc-days .chip .ic{width:14px;height:14px}
.ofc-dt{display:inline-flex;min-width:170px}
.ofc-zst button .ic{width:14px;height:14px}
.ofc-zst button.z-att.on{color:var(--ok)}.ofc-zst button.z-in.on{color:var(--info)}.ofc-zst button.z-over.on{color:var(--warn)}.ofc-zst button.z-nos.on{color:var(--bad)}.ofc-zst button.z-up.on{color:var(--vio)}
.ofc-rng{white-space:nowrap}
.ofc-ent{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--field);font-size:var(--t-2xs);color:var(--ink2)}
.ofc-ent.x{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn)}
.ofc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mute)}
.ofc-dot.t-warn{background:var(--warn)}.ofc-dot.t-bad{background:var(--bad)}.ofc-dot.t-vio{background:var(--vio)}.ofc-dot.t-info{background:var(--info)}.ofc-dot.t-c1{background:var(--c1)}
.st.c1{color:var(--c1);background:color-mix(in srgb,var(--c1) 12%,transparent)}
.ofc-ded{color:var(--bad);font-weight:var(--w-bold)}
.ofc-lv .ic{width:12px;height:12px;vertical-align:middle}
/* الشكاوى */
.ofc-tt{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:var(--t-xs);font-weight:var(--w-semi);color:color-mix(in srgb,var(--tc) 75%,var(--ink));background:color-mix(in srgb,var(--tc) 14%,transparent);border:1px solid color-mix(in srgb,var(--tc) 35%,transparent)}
.ofc-tt::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--tc)}
.ofc-tkm{display:grid;gap:14px}
.ofc-tkh{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;padding:14px;border-radius:var(--r);background:var(--field)}
.ofc-tkh h3{margin:2px 0 6px;font-size:var(--t-md);font-weight:var(--w-bold)}
.ofc-tku{display:grid;gap:2px;justify-items:end;font-size:var(--t-xs);color:var(--mute)}
.ofc-tku a{display:inline-flex;align-items:center;gap:6px;font-weight:var(--w-semi);color:var(--pri)}
.ofc-tku a .ic{width:14px;height:14px}
.ofc-tkd{margin:0;padding:12px 14px;border-inline-start:3px solid var(--warn);border-radius:var(--r-xs);background:color-mix(in srgb,var(--warn) 6%,transparent);font-size:var(--t-sm);line-height:1.8;white-space:pre-line}
.ofc-thr{display:grid;gap:10px;max-height:320px;overflow:auto;padding:4px}
.ofc-msg{display:grid;gap:4px;max-width:82%;padding:10px 12px;border-radius:var(--r);font-size:var(--t-sm)}
.ofc-msg b{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs)}
.ofc-msg b .ic{width:14px;height:14px}
.ofc-msg p{margin:0;line-height:1.7}
.ofc-msg.usr{justify-self:start;background:var(--field);border-start-start-radius:var(--r-xs)}
.ofc-msg.adm{justify-self:end;background:color-mix(in srgb,var(--pri) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--pri) 25%,transparent);border-start-end-radius:var(--r-xs)}
.ofc-in{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--vio) 10%,transparent);color:var(--vio);font-size:var(--t-2xs)}
.ofc-in .ic{width:12px;height:12px}
.ofc-tka{padding-top:12px;border-top:1px solid var(--line2)}
@media (max-width:640px){.ofc-msg{max-width:100%}.ofc-tku{justify-items:start}}
/* ---------------- (الحزمة 198 — الجولة 83 «7-أ» · س9 · س10) طلبا «إغلاق قاعة المطالعة» و«الحدّ من الحضور» ومراحل تنفيذهما ---------------- */
.hl-now{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r);background:linear-gradient(135deg,color-mix(in srgb,var(--pri) 10%,var(--surface)),var(--field));border:1px solid color-mix(in srgb,var(--pri) 18%,transparent)}
.hl-now>.ic{width:34px;height:34px;padding:6px;border-radius:var(--r-sm);color:var(--pri);background:color-mix(in srgb,var(--pri) 14%,transparent);--duo:.25;flex:none}
.hl-now b{display:block;font-weight:var(--w-bold)}
.hl-now small{color:var(--ink2);font-size:var(--t-xs)}
.hl-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:10px 0 14px}
.hl-wd{display:grid;gap:2px;justify-items:center;padding:6px 4px;border-radius:var(--r-xs);background:var(--field);border:1px solid var(--line2);text-align:center;transition:transform var(--d1) var(--ease)}
.hl-wd b{font-size:var(--t-2xs);font-weight:var(--w-semi)}
.hl-wd small{font-size:var(--t-2xs);color:var(--mute);line-height:1.35}
.hl-wd.off{background:color-mix(in srgb,var(--bad) 8%,transparent);border-color:color-mix(in srgb,var(--bad) 25%,transparent)}
.hl-wd.off small{color:var(--bad);font-weight:var(--w-semi)}
.hl-days{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:34px}
.hl-dc{display:inline-flex;align-items:center;gap:6px;animation:hlIn var(--d2) var(--ease)}
.hl-dc .ic{width:14px;height:14px}
.hl-x{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,currentColor 14%,transparent);color:inherit;cursor:pointer}
.hl-x .ic{width:11px;height:11px}
.hl-x:hover{background:color-mix(in srgb,var(--bad) 22%,transparent);color:var(--bad)}
.hl-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.hl-add input[type=date],.hl-add input.uid{flex:0 1 220px;max-width:220px}
.hl-mode{flex-wrap:wrap}
.hl-mode button .ic{width:15px;height:15px}
.hl-note{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:10px 12px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--info) 8%,transparent);border-inline-start:3px solid var(--info);font-size:var(--t-xs);line-height:1.8;color:var(--ink2)}
.hl-note .ic{width:16px;height:16px;flex:none;margin-top:2px;color:var(--info)}
/* تفاصيل الطلب */
.hl-sum{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--r);background:var(--field);margin-bottom:12px}
.hl-sum>.ic{width:38px;height:38px;padding:8px;border-radius:var(--r-sm);flex:none;color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);--duo:.25}
.hl-sum>div{display:grid;gap:8px;flex:1;min-width:0}
.hl-sum small{color:var(--ink2)}
.hl-cap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hl-cap span{display:grid;gap:2px;justify-items:center;padding:8px;border-radius:var(--r-xs);background:var(--surface);border:1px solid var(--line2)}
.hl-cap small{font-size:var(--t-2xs);color:var(--mute)}
.hl-cap b{font-size:var(--t-md);font-weight:var(--w-bold)}
.hl-tl{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.hl-tl li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 0;position:relative;animation:hlIn var(--d3) var(--ease) both}
.hl-tl li:nth-child(2){animation-delay:.05s}.hl-tl li:nth-child(3){animation-delay:.1s}.hl-tl li:nth-child(4){animation-delay:.15s}.hl-tl li:nth-child(n+5){animation-delay:.2s}
.hl-tl li:not(:last-child)::after{content:'';position:absolute;inset-inline-start:15px;top:42px;bottom:-6px;width:2px;background:var(--line2)}
.hl-ic{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--field);border:2px solid var(--line2);color:var(--mute);position:relative;z-index:var(--z-raise)}
.hl-ic .ic{width:15px;height:15px}
.hl-tl li.s-done .hl-ic{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 10%,var(--surface))}
.hl-tl li.s-pending .hl-ic{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}
.hl-tl li.s-failed .hl-ic{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}
.hl-tl li.s-cancelled{opacity:.6}
.hl-tl .st::before{display:none}
.hl-tl li b{display:block;font-size:var(--t-sm);font-weight:var(--w-semi)}
.hl-tl li small{font-size:var(--t-2xs);color:var(--mute)}
.hl-tl li small .bad{color:var(--bad)}
@keyframes hlIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hl-dc,.hl-tl li{animation:none}}
@media (max-width:640px){.hl-week{grid-template-columns:repeat(4,minmax(0,1fr))}.hl-cap{grid-template-columns:repeat(2,minmax(0,1fr))}.hl-tl li{grid-template-columns:auto 1fr}.hl-tl li>.st{grid-column:2;justify-self:start}}
/* ---------------- (الحزمة 199 — الجولة 83 «5-أ» · س6) «الحسابات المتشابهة»: بطاقة لكل مجموعة · شبكة مقارنة · «سليم» للمعايَن ---------------- */
.dp-list{display:grid;gap:14px;transition:opacity var(--d2) var(--ease)}
.dp-list.ld{opacity:.55;pointer-events:none}
.dp-g{--gc:var(--warn);border:1px solid color-mix(in srgb,var(--gc) 35%,var(--line));border-inline-start:4px solid var(--gc);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-1);overflow:hidden;transition:opacity var(--d3) var(--ease),transform var(--d3) var(--ease),box-shadow var(--d2) var(--ease)}
.dp-g.l-hi{--gc:var(--bad)}
.dp-g:hover{box-shadow:var(--sh-2)}
.dp-g.dp-done{opacity:0;transform:translateX(-12px) scale(.98)}
.dp-h{display:flex;align-items:center;gap:14px;padding:14px 16px;flex-wrap:wrap}
.dp-ic,.dp-ok{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-sm);flex:none;color:var(--gc);background:color-mix(in srgb,var(--gc) 12%,transparent);--duo:.25}
.dp-ic .ic,.dp-ok .ic{width:20px;height:20px}
.dp-t{flex:1;min-width:200px;display:grid;gap:6px}
.dp-names{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:var(--w-semi);font-size:var(--t-md)}
.dp-sep{display:inline-grid;place-items:center;color:var(--mute)}
.dp-sep .ic{width:14px;height:14px}
.dp-tags{display:flex;gap:6px;flex-wrap:wrap}
.dp-tags .st::before{display:none}
.dp-pcts{display:flex;gap:8px}
.dp-pct{--pc:var(--mute);display:grid;justify-items:center;gap:2px;min-width:86px;padding:8px 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--pc) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--pc) 28%,transparent);color:var(--pc)}
.dp-pct .ic{width:14px;height:14px}
.dp-pct small{font-size:var(--t-2xs);color:var(--ink2)}
.dp-pct b{font-size:var(--t-lg);font-weight:var(--w-bold);line-height:1.1}
.dp-pct.l-hi{--pc:var(--bad)}.dp-pct.l-mid{--pc:var(--warn)}.dp-pct.l-lo{--pc:var(--vio)}
.dp-act{display:flex;gap:8px;flex-wrap:wrap}
.dp-rv{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent);font-weight:var(--w-semi)}
.dp-rv:hover{background:var(--ok);color:var(--on-ok,var(--surface))}
.dp-rv .ic{--duo:.3}
.dp-b{padding:0 16px 16px;display:grid;gap:10px}
.dp-pairs{display:flex;gap:6px;flex-wrap:wrap}
.dp-pr{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--field);font-size:var(--t-xs)}
.dp-pr i{font-style:normal;font-weight:var(--w-bold)}
.dp-pr .ic{width:12px;height:12px;color:var(--mute)}
.dp-pr b.l-hi{color:var(--bad)}.dp-pr b.l-mid{color:var(--warn)}
/* شبكة المقارنة: عمود التسميات ثم عمود لكل حساب — كل حقل في صفّ واحد عبر الأعمدة */
.dp-grid{display:grid;grid-template-columns:minmax(150px,max-content) repeat(var(--n),minmax(170px,1fr));border:1px solid var(--line2);border-radius:var(--r-sm);overflow:auto}
.dp-row{display:contents}
.dp-row>span{padding:8px 12px;border-bottom:1px solid var(--line2);display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;flex-wrap:wrap;min-height:40px}
.dp-row:nth-child(even)>span{background:var(--zebra,color-mix(in srgb,var(--field) 45%,transparent))}
.dp-row:last-child>span{border-bottom:0}
.dp-lbl{justify-content:flex-start!important;text-align:start!important;color:var(--ink2);font-size:var(--t-xs);font-weight:var(--w-semi);position:sticky;inset-inline-start:0;background:var(--surface);z-index:var(--z-raise)}
.dp-lbl .ic{width:14px;height:14px;color:var(--mute)}
.dp-row.same>span{background:color-mix(in srgb,var(--warn) 10%,var(--surface))}
.dp-row.same .dp-c{color:var(--ink);font-weight:var(--w-semi)}
.dp-eq{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn);margin-inline-start:auto}
.dp-eq .ic{width:11px;height:11px}
.dp-hd>span{background:var(--field)!important;border-bottom:1px solid var(--line)}
.dp-av{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pri);color:var(--on-pri,var(--surface));font-style:normal;font-weight:var(--w-bold);font-size:var(--t-sm)}
.dp-c a{color:var(--pri);font-weight:var(--w-semi)}
.dp-nofa{display:inline-flex;align-items:center;gap:4px;color:var(--mute);font-size:var(--t-2xs)}
.dp-nofa .ic{width:12px;height:12px}
/* «سليم»: بطاقة هادئة بطيف أخضر خفيف ودرع — مطويّة إلى سطر الأسماء والنسب */
.dp-g.ok{--gc:var(--ok);border-color:color-mix(in srgb,var(--ok) 25%,var(--line));background:color-mix(in srgb,var(--ok) 5%,var(--surface));box-shadow:none}
.dp-g.ok .dp-names{font-size:var(--t-sm);color:var(--ink2)}
.dp-g.ok .dp-pct{opacity:.6;filter:saturate(.4)}
.dp-g.ok .dp-pct b{font-size:var(--t-md)}
.dp-by{color:var(--ok);font-weight:var(--w-semi);font-size:var(--t-xs)}
.dp-th{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--ink2)}
.dp-th .ic{width:16px;height:16px}
.dp-th input{width:72px;text-align:center}
.dp-pg{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}
.dp-pg [data-pg]:first-child .ic{transform:rotate(-90deg)}
.dp-pg [data-pg]:last-child .ic{transform:rotate(90deg)}
@media (prefers-reduced-motion:reduce){.dp-g,.dp-list{transition:none}}
@media (max-width:640px){.dp-pcts{width:100%}.dp-pct{flex:1}.dp-act{width:100%}.dp-act .btn{flex:1;justify-content:center}.dp-grid{grid-template-columns:minmax(110px,max-content) repeat(var(--n),minmax(150px,1fr))}}
/* ---------------- (الحزمة 200 — الجولة 83 «6-ب» · س7 · س8) «الشرائح والإشعارات»: عمودان — الجمهور · الرسالة والوجهة ---------------- */
/* (الحزمة 204) أنماط لسان «الشرائح والإشعارات» (200) حُذفت — الواجهة الجديدة في «إرسال الإشعارات» بأصناف bc2- */
/* ---------------- (الحزمة 202 — §5-ص241) «الأداة»: ملء شاشة المنصة · الإحصائيات · شاشة الأنشطة · روابط المشاركة ---------------- */
body.tool-full .side,body.tool-full .top,body.tool-full .bnav,body.tool-full .fab,body.tool-full .tdock,body.tool-full #greet{display:none!important}
body.tool-full #app{grid-template-columns:1fr!important}
body.tool-full .content{padding:0!important;margin:0!important;max-width:none!important}
body.tool-full #view{animation:none}
.tl-frame{display:block;width:100%;border:0;background:var(--surface)}
.tl-frame.full{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:var(--z-drawer)}
.tl-frame.page{height:calc(100vh - 220px);height:calc(100dvh - 220px);min-height:520px}
.tl-card{padding:0!important;overflow:hidden;border-radius:var(--r)}
.tl-bar{position:fixed;bottom:8px;inset-inline-start:8px;z-index:var(--z-fab);display:flex;gap:6px;align-items:center;opacity:.3;transition:opacity var(--d2) var(--ease)}
.tl-bar:hover,.tl-bar:focus-within{opacity:1}
.tl-b{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--menu);color:var(--ink);box-shadow:var(--sh-2);font-size:var(--t-xs);font-weight:var(--w-semi);cursor:pointer;text-decoration:none;transition:transform var(--d1) var(--ease)}
.tl-b:active{transform:scale(.97)}
.tl-b .ic{width:15px;height:15px}
.tl-b.warn{color:var(--warn);padding:0 10px}
.tl-bar .tl-b{padding:0 10px}
.tl-bar .tl-b span{display:none}
.tl-bar:hover .tl-b span,.tl-bar:focus-within .tl-b span{display:inline}
.tl-bar:hover .tl-b,.tl-bar:focus-within .tl-b{padding:0 12px}
.tl-tabsc{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px!important;margin-bottom:12px}
.tl-tabs .ic{width:15px;height:15px}
.tl-warn{margin-bottom:12px}
.tl-links{display:grid;gap:12px}
.tl-new{display:flex;gap:8px}
.tl-new input{flex:1;min-width:0}
.tl-ll{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:min(52vh,420px);overflow:auto}
.tl-ll li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--surface)}
.tl-ll li.off{opacity:.55}
.tl-ll li>div{flex:1;min-width:0;display:grid;gap:2px}
.tl-ll b{font-weight:var(--w-semi)}
.tl-ll small{color:var(--mute);font-size:var(--t-2xs)}
.tl-li{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--pri) 12%,transparent);color:var(--pri);flex:none}
.tl-ll li.off .tl-li{background:var(--field);color:var(--mute)}
.tl-li .ic{width:15px;height:15px}
@media (max-width:640px){.tl-frame.page{height:calc(100dvh - 190px);min-height:440px}.tl-b span{display:none}.tl-new{flex-direction:column}.tl-ll li{flex-wrap:wrap}}
/* ---------------- (الحزمة 203 — §5-ص241) التقرير PDF في طبقة بملء الشاشة · فقرات «الإحصائيات» في الخارطة (الإعدادات) ---------------- */
.tl-rep{position:fixed;inset:0;z-index:var(--z-modal);display:flex;flex-direction:column;background:var(--bg);animation:hlIn var(--d2) var(--ease)}
.tl-reph{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.tl-reph>.ic{width:20px;height:20px;color:var(--pri)}
.tl-reph b{font-weight:var(--w-bold)}
.tl-reph small{color:var(--mute);font-size:var(--t-xs);flex:1;min-width:200px}
.tl-rep .tl-frame{flex:1;min-height:0;height:auto}
body.tl-noscroll{overflow:hidden}
.tl-sth{display:inline-flex;align-items:center;gap:8px;color:var(--ink2);font-size:var(--t-sm)}
.tl-sth .ic{width:18px;height:18px;color:var(--pri)}
.tl-acts{display:flex;gap:6px;flex-wrap:wrap}
.msx-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:900px}
.msx-chips .chip{cursor:pointer}
.msx-chips .chip .ic{width:12px;height:12px}
@media (max-width:640px){.tl-reph small{display:none}}
/* ---------------- (الحزمة 204 — §5-ص244 الجولة 84 «1-أ · 2-أ · 3-أ · 4-أ · 5-ب») «إرسال الإشعارات» الموحّدة · روابط الإشعار · «الشرائح» · روابط المنجزين في الميديا ---------------- */
.bc2-lay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.bc2-steps{display:grid;gap:16px;min-width:0}
.bc2-st .ch h3{display:flex;align-items:center;gap:10px}
.bc2-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--pri);color:var(--on-pri,var(--surface));font-size:var(--t-xs);font-weight:var(--w-bold);flex:none}
.bc2-st .ch .muted{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs)}
.bc2-st .ch .muted .ic{width:14px;height:14px}
.bc2-side{position:sticky;top:calc(var(--top-h) + var(--sat) + 16px);display:grid;gap:12px;min-width:0}
.bc2-hist{margin-top:16px}
/* ① الوجهة */
.bc2-dest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px 16px}
.bc2-dest button{display:grid;justify-items:center;gap:4px;padding:14px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;color:var(--ink);text-align:center;transition:border-color var(--d1) var(--ease),background var(--d1) var(--ease),transform var(--d1) var(--ease)}
.bc2-dest button:hover:not([disabled]){border-color:color-mix(in srgb,var(--pri) 45%,transparent)}
.bc2-dest button:active:not([disabled]){transform:scale(.97)}
.bc2-dest button.on{border-color:var(--pri);background:color-mix(in srgb,var(--pri) 8%,var(--surface));box-shadow:0 0 0 1px var(--pri) inset}
.bc2-dest button[disabled]{opacity:.5;cursor:not-allowed}
.bc2-dest b{font-size:var(--t-sm);font-weight:var(--w-semi)}
.bc2-dest small{color:var(--mute);font-size:var(--t-2xs);line-height:1.5}
.bc2-di{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--field);color:var(--ink2)}
.bc2-dest .on .bc2-di{background:var(--pri);color:var(--on-pri,var(--surface))}
.bc2-di .ic{width:18px;height:18px}
/* ② الجمهور */
.bc2-leg{display:flex;gap:6px;flex-wrap:wrap}
.bc2-src{--sc:var(--c1);display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:var(--t-2xs);font-weight:var(--w-bold);color:var(--sc);background:color-mix(in srgb,var(--sc) 12%,transparent);border:1px solid color-mix(in srgb,var(--sc) 30%,transparent);white-space:nowrap}
.bc2-src .ic{width:12px;height:12px}
.bc2-src.s-ours{--sc:var(--c3)}
.bc2-note{display:flex;align-items:flex-start;gap:6px;margin:0 16px 10px;padding:8px 12px;border-radius:var(--r-xs);background:var(--surface2);color:var(--ink2);font-size:var(--t-xs)}
.bc2-note .ic{width:14px;height:14px;flex:none;margin-top:2px}
.bc2-split{display:grid;grid-template-columns:minmax(0,1fr) 0;transition:grid-template-columns var(--d2) var(--ease)}
.bc2-split.open{grid-template-columns:minmax(0,1fr) 300px}
.bc2-main{display:grid;gap:12px;align-content:start;padding:0 16px 16px;min-width:0}
.bc2-quick{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--t-xs)}
.bc2-quick .chip{--qc:var(--pri);cursor:pointer}
.bc2-quick .chip .ic{width:14px;height:14px;color:var(--qc)}
.bc2-quick .chip b{color:var(--mute);font-weight:var(--w-med)}
.bc2-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}
.bc2-saved{flex:1;min-width:200px;max-width:320px}
.bc2-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink2)}
.bc2-rows{display:grid}
.bc2-join{justify-self:center;margin:4px 0;padding:2px 12px;border-radius:999px;background:var(--field);color:var(--ink2);font-size:var(--t-2xs);font-weight:var(--w-bold)}
.bc2-row{--sc:var(--c1);display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid color-mix(in srgb,var(--sc) 22%,var(--line));border-inline-start:4px solid var(--sc);border-radius:var(--r-sm);background:var(--surface);transition:box-shadow var(--d2) var(--ease)}
.bc2-row.s-ours{--sc:var(--c3)}
.bc2-row:hover{box-shadow:var(--sh-1)}
.bc2-row.bc2-new{animation:bc2In var(--d3) var(--ease)}
.bc2-lbl{font-weight:var(--w-semi);font-size:var(--t-sm)}
.bc2-row>select{width:auto;min-width:130px;max-width:200px}
.bc2-opx{color:var(--ink2);font-size:var(--t-sm)}
.bc2-val{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1;min-width:160px}
.bc2-val input[type=number]{max-width:120px}
.bc2-val textarea{width:100%;min-height:56px}
.bc2-two{display:inline-flex;align-items:center;gap:6px}
.bc2-two input{max-width:120px}
.bc2-yn{display:inline-flex;gap:6px}
.bc2-chips{display:grid;gap:6px;width:100%}
.bc2-cq{display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--field)}
.bc2-cq .ic{width:14px;height:14px;color:var(--mute)}
.bc2-cq input{border:0;background:transparent;flex:1;min-width:0;height:32px}
.bc2-ch{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow:auto;padding:2px}
.bc2-ch .chip,.bc2-yn .chip{cursor:pointer}
.bc2-ch .chip .ic,.bc2-yn .chip .ic{width:12px;height:12px}
.bc2-rm{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--mute);cursor:pointer;margin-inline-start:auto;transition:background var(--d1) var(--ease),color var(--d1) var(--ease)}
.bc2-rm:hover{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.bc2-rm .ic{width:14px;height:14px}
.bc2-empty{display:grid;justify-items:center;gap:4px;padding:18px 12px;border:2px dashed var(--line);border-radius:var(--r);color:var(--mute);text-align:center}
.bc2-empty .ic{width:30px;height:30px;color:var(--pri)}
.bc2-empty b{color:var(--ink2);font-weight:var(--w-semi)}
.bc2-empty small{font-size:var(--t-xs)}
.bc2-empty.sm{padding:12px}
.bc2-add{width:100%;justify-content:center;border:1px dashed color-mix(in srgb,var(--pri) 45%,transparent);background:color-mix(in srgb,var(--pri) 6%,transparent);color:var(--pri);font-weight:var(--w-semi)}
.bc2-add:hover{background:color-mix(in srgb,var(--pri) 12%,transparent)}
.bc2-foot{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line2)}
.bc2-cnt{display:flex;align-items:center;gap:12px;transition:opacity var(--d2) var(--ease)}
.bc2-cnt.busy{opacity:.6}
.bc2-ci{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-sm);color:var(--pri);background:color-mix(in srgb,var(--pri) 12%,transparent)}
.bc2-cnt.bad .bc2-ci{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}
.bc2-ci .ic{width:20px;height:20px}
.bc2-cnt b{display:block;font-size:var(--t-xl);font-weight:var(--w-bold);line-height:1.1}
.bc2-cnt small{display:block;color:var(--ink2);font-size:var(--t-xs)}
.bc2-cnt small.warn{color:var(--warn)}
.bc2-cnt.bad small{color:var(--bad)}
/* لوحة المعايير الجانبية (2-أ) */
.bc2-drawer{overflow:hidden;border-inline-start:1px solid var(--line);background:var(--surface2);min-width:0}
.bc2-din{width:300px;height:100%;max-height:560px;padding:12px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:8px}
.bc2-dh{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bc2-dh b{display:inline-flex;align-items:center;gap:6px;font-weight:var(--w-semi)}
.bc2-dh b .ic{width:16px;height:16px;color:var(--pri)}
.bc2-pq{display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--field)}
.bc2-pq .ic{width:15px;height:15px;color:var(--mute)}
.bc2-pq input{border:0;background:transparent;flex:1;min-width:0;height:36px}
.bc2-pf{display:flex;gap:4px;flex-wrap:wrap}
.bc2-pf .chip{cursor:pointer}
.bc2-pl{overflow:auto;min-height:0;display:grid;gap:10px;align-content:start;padding-inline-end:2px}
.bc2-pg{--sc:var(--c1);display:grid;gap:2px}
.bc2-pg.s-ours{--sc:var(--c3)}
.bc2-pg h6{display:flex;align-items:center;gap:6px;margin:2px 0;font-size:var(--t-xs);color:var(--ink2)}
.bc2-pg h6 .ic{width:14px;height:14px;color:var(--sc)}
.bc2-pg h6 .num{margin-inline-start:auto;color:var(--mute);font-weight:var(--w-reg)}
.bc2-pi{display:flex;align-items:flex-start;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:var(--r-xs);background:transparent;text-align:start;cursor:pointer;color:var(--ink);transition:background var(--d1) var(--ease)}
.bc2-pi:hover,.bc2-pi:focus-visible{background:color-mix(in srgb,var(--sc) 10%,transparent)}
.bc2-pi b{display:block;font-weight:var(--w-semi);font-size:var(--t-sm)}
.bc2-pi small{display:block;color:var(--mute);font-size:var(--t-2xs);line-height:1.45}
.bc2-pi>.ic{width:14px;height:14px;color:var(--ok);margin-inline-start:auto;flex:none}
.bc2-pi.done{opacity:.6}
.bc2-pty{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--sc) 12%,transparent);color:var(--sc);flex:none}
.bc2-pty .ic{width:13px;height:13px}
/* ③ الرسالة */
.bc2-tb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.bc2-found{display:inline-flex;align-items:center;gap:4px;color:var(--mute);font-size:var(--t-xs)}
.bc2-found .ic{width:13px;height:13px}
.bc2-types{flex-wrap:wrap}
/* العمود الجانبي */
.bc2-pv .cb{display:grid;gap:12px}
.bc2-ofc small,.bc2-bellw small{display:inline-flex;align-items:center;gap:4px;color:var(--mute);font-size:var(--t-2xs);margin-bottom:4px}
.bc2-ofc small .ic,.bc2-bellw small .ic{width:12px;height:12px}
.bc2-ofcn{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface2);border:1px dashed var(--line)}
.bc2-ofci{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-xs);background:var(--c1);color:var(--surface);flex:none}
.bc2-ofci .ic{width:15px;height:15px}
.bc2-ofcn b{display:block;font-size:var(--t-sm)}
.bc2-ofcn p{margin:2px 0 0;font-size:var(--t-xs);color:var(--ink2);white-space:pre-line;overflow-wrap:anywhere;max-height:160px;overflow:auto}
.bc2-bell{cursor:default}
.bc2-bt{flex:1;min-width:0}
.bc2-lk{display:inline-flex;align-items:center;gap:4px;margin-top:6px;color:var(--mute);font-size:var(--t-2xs)}
.bc2-lk .ic{width:12px;height:12px}
.bc2-go .cb{display:grid;gap:10px}
.bc2-send{width:100%;justify-content:center}
.bc2-rr{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.bc2-rr span{--rc:var(--c1);display:grid;justify-items:center;gap:2px;padding:10px 6px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--rc) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--rc) 25%,transparent);color:var(--rc);text-align:center}
.bc2-rr .s-ours{--rc:var(--c3)}.bc2-rr .s-ex{--rc:var(--mute)}
.bc2-rr .ic{width:16px;height:16px}
.bc2-rr small{color:var(--ink2);font-size:var(--t-2xs);line-height:1.4}
.bc2-rr b{font-size:var(--t-lg);font-weight:var(--w-bold)}
/* السجلّ */
.bc2-hm{max-width:420px;text-align:start}
.bc2-hb{max-height:64px;overflow:hidden;font-size:var(--t-xs)}
.bc2-ha{max-width:260px;font-size:var(--t-xs);white-space:normal}
.bc2-hm small.warn{display:inline-flex;align-items:center;gap:4px;color:var(--warn);font-size:var(--t-2xs)}
.bc2-hm small.warn .ic{width:12px;height:12px}
/* روابط الإشعار في الجرس وصفحة الإشعارات (5-ب) */
.nf-body{font-size:var(--t-xs);color:var(--ink2);white-space:pre-line;overflow-wrap:anywhere;line-height:1.7}
.nf-a{color:var(--pri);font-weight:var(--w-semi);text-decoration:underline;text-underline-offset:3px;border-radius:var(--r-xs);padding:0 2px;cursor:pointer}
.nf-a:hover{background:color-mix(in srgb,var(--pri) 10%,transparent)}
.nf-a:focus-visible{outline:2px solid var(--pri);outline-offset:1px}
.nf-a.nf-u{direction:ltr;unicode-bidi:isolate}
.nf-a svg.ic,.notif .nf-a svg.ic{display:inline-block;width:11px;height:11px;margin:0;margin-inline-start:2px;vertical-align:-1px;flex:none}
/* «الشرائح» في إدارة المنصة الرسمية (س2) */
.sgs .ch .btn .ic{width:15px;height:15px}
.sgs-n{display:flex;align-items:flex-start;gap:6px;margin:0 16px 12px;font-size:var(--t-xs)}
.sgs-n .ic{width:14px;height:14px;flex:none;margin-top:2px}
.sgs-d{display:block;font-size:var(--t-2xs)}
.sgs-a{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}
/* «روابط المنجزين» في مهام الميديا */
.mtl{display:grid;gap:6px;margin-top:10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface2);border:1px solid var(--line2)}
.mtl-h{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink2)}
.mtl-h .ic{width:14px;height:14px;color:var(--c5)}
.mtl-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-xs)}
.mtl-who{display:inline-flex;align-items:center;gap:4px;min-width:150px}
.mtl-who .ic{width:14px;height:14px;color:var(--c5)}
.mtl-who small{color:var(--mute)}
.mtl-u{flex:1;min-width:120px;color:var(--pri);text-decoration:underline;text-underline-offset:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start}
.mtl-a{display:inline-flex;gap:4px}
@keyframes bc2In{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bc2-row.bc2-new{animation:none}.bc2-split{transition:none}}
@media (max-width:1300px){.bc2-lay{grid-template-columns:minmax(0,1fr)}.bc2-side{position:static}}
@media (max-width:820px){.bc2-split,.bc2-split.open{grid-template-columns:minmax(0,1fr)}.bc2-drawer{display:none;border-inline-start:0;border-top:1px solid var(--line)}.bc2-split.open .bc2-drawer{display:block}.bc2-din{width:auto;max-height:420px}}
@media (max-width:640px){.bc2-dest{grid-template-columns:minmax(0,1fr)}.bc2-dest button{grid-template-columns:auto 1fr;justify-items:start;text-align:start}.bc2-dest small{grid-column:2}.bc2-saved{max-width:none}.bc2-row>select{max-width:none;flex:1}.mtl-who{min-width:0}}
/* ---------------- (الحزمة 205 — §5-ص246) «مستشار تنفيذي» للاطلاع فقط: شارة الشريط العلوي · أفعال الكتابة مخفية ---------------- */
.ro-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--warn) 12%,var(--surface));color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);font-size:var(--t-xs);font-weight:var(--w-semi);white-space:nowrap;cursor:default}
.ro-pill .ic{width:14px;height:14px}
/* الوزن (0,5,2) فوق «:root[data-skin] .btn.ib» (0,4,0) وكسوات الأزرار */
html body.dd-ro.dd-ro #addBtn,html body.dd-ro.dd-ro #fab,
html body.dd-ro.dd-ro .btn.btn:has(use[href="#i-plus"]),html body.dd-ro.dd-ro .btn.btn:has(use[href="#i-edit"]),html body.dd-ro.dd-ro .btn.btn:has(use[href="#i-trash"]),
html body.dd-ro.dd-ro .btn.btn:has(use[href="#i-save"]),html body.dd-ro.dd-ro .btn.btn:has(use[href="#i-upload"]),html body.dd-ro.dd-ro .btn.btn:has(use[href="#i-send"]),
html body.dd-ro.dd-ro .btn.btn:has(use[href="#i-cart"]),html body.dd-ro.dd-ro .btn.btn:has(use[href="#i-wrench"]),html body.dd-ro.dd-ro .btn.btn.w-act,
html body.dd-ro.dd-ro .ibtn.ibtn:has(use[href="#i-edit"]),html body.dd-ro.dd-ro .ibtn.ibtn:has(use[href="#i-trash"]){display:none}
@media (max-width:640px){.ro-pill span{display:none}.ro-pill{padding:4px 8px}}
/* ---------------- (الحزمة 206 — §5-ص248) «تقويم الأنشطة» عنوان رئيسي بألسنة · استيراد معاينات الملف في «الحسابات المتشابهة» ---------------- */
.act-tabsc[hidden]{display:none}
.dp-imp{display:grid;gap:12px}
.dp-file{position:relative;display:flex;align-items:center;justify-content:center;min-height:88px;padding:12px;border:1px dashed var(--line);border-radius:var(--r);background:var(--surface2);cursor:pointer;transition:border-color var(--d1) var(--ease),background-color var(--d1) var(--ease)}
.dp-file:hover,.dp-file:focus-within{border-color:var(--pri);background:color-mix(in srgb,var(--pri) 6%,var(--surface))}
.dp-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.dp-file span{display:inline-flex;align-items:center;gap:8px;color:var(--ink2);text-align:center}
.dp-file .ic{width:20px;height:20px;color:var(--pri);flex:none}
/* ---------------- (الحزمة 207 — §5-ص249) ترويسة الجداول الثابتة لا تكون شفافة أبداً ----------------
   كل th ثابتة (sticky) منذ البداية، والكسوة map (الافتراضية) تجعل خلفيتها شفافة ⇒ نصّ الخلايا يظهر من تحتها عند التمرير.
   لون ترويسة الكسوة (أو شفافها) فوق سطح معتم --solid (في map = لون البطاقة نفسه) — الوزن (0,3,1) فوق «:root[data-skin=map] th» و«:root[data-skin=neo] th» */
:root[data-skin][data-skin] th,:root:not([data-skin]) th{background:linear-gradient(var(--th-bg),var(--th-bg)),var(--solid)}
/* ---------------- (الحزمة 209 — §5-ص250 §6) حساب كل مستخدم في المنصة الرسمية · «نشاط الموظفين» ---------------- */
.oa-ppl{margin-bottom:12px}
.oa-ppl .ch .st .ic{width:14px;height:14px}
.oa-pa{white-space:nowrap}
.oa-pa .btn{min-width:36px;padding-inline:8px}
.oa-legacy{margin-top:12px;border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;background:var(--surface2)}
.oa-legacy>summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:var(--w-semi);color:var(--ink2);list-style:none}
.oa-legacy>summary::-webkit-details-marker{display:none}
.oa-legacy>summary .ic{width:16px;height:16px;color:var(--mute)}
.oa-legacy[open]>summary{margin-bottom:8px}
.act-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.act-tabsc{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px!important;margin-bottom:12px}
.act-tabsc .tl-tabs .ic{width:15px;height:15px}
.act-op{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--pri) 8%,var(--surface));color:var(--ink);font-size:var(--t-xs);white-space:nowrap}
.act-op .ic{width:14px;height:14px;color:var(--pri);flex:none}
.act-ops{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.act-by{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.act-tbl .ofc-nm small{display:block}
.act-jobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.act-job{display:grid;gap:8px;padding:14px!important;border-inline-start:3px solid var(--line)}
.act-job.ok{border-inline-start-color:var(--ok)}
.act-job.bad{border-inline-start-color:var(--bad)}
.act-jh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.act-jh b{flex:1;min-width:0}
.act-jb{display:grid;gap:6px;font-size:var(--t-sm);color:var(--ink2)}
.act-jb>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.act-jb .ic{width:14px;height:14px;color:var(--mute);flex:none}
.act-prog{display:grid!important;gap:4px}
@media (max-width:640px){.act-jobs{grid-template-columns:1fr}}
/* ---------------- (الحزمة 211 — §5-ص253 · §5-ص254) نافذة «المقبولون» · «غير المقبولين» · ذاكرة الطلبات · قائمة الاحتياط · الإغلاق ---------------- */
.rcx-prior{display:inline-flex;align-items:center;gap:4px;margin-inline-start:6px;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));background:var(--warn-soft);color:var(--warn);font-size:var(--t-2xs);font-weight:var(--w-semi);cursor:pointer;white-space:nowrap;vertical-align:middle}
.rcx-prior .ic{width:12px;height:12px}
.rcx-prior:hover{border-color:var(--warn)}
.rcx-prior:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.rcx{display:grid;gap:12px;min-width:0}
.rcx-steps{display:flex;gap:6px;flex-wrap:wrap}
.rcx-step{flex:1;min-width:160px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:8px 12px;cursor:pointer;text-align:start;color:var(--mute)}
.rcx-step b{display:block;font-size:var(--t-sm);color:var(--ink2)}
.rcx-step small{font-size:var(--t-xs)}
.rcx-step .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:var(--w-bold);font-size:var(--t-sm);background:var(--surface2);border:1px solid var(--line);flex:none}
.rcx-step .n .ic{width:14px;height:14px}
.rcx-step.on{border-color:var(--pri);background:var(--pri-soft)}
.rcx-step.on .n{background:var(--pri);border-color:var(--pri);color:var(--pri-ink)}
.rcx-step.dn .n{background:var(--ok);border-color:var(--ok);color:var(--surface)}
.rcx-step[disabled]{opacity:.55;cursor:not-allowed}
.rcx-srch{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--field);border-radius:var(--r);padding:0 12px;min-height:42px}
.rcx-srch .ic{width:16px;height:16px;color:var(--mute)}
.rcx-srch input{border:0;background:transparent;flex:1;min-width:0;outline:0;padding:8px 0}
.rcx-srch:focus-within{border-color:var(--pri)}
.rcx-gh{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--mute);margin:12px 0 6px}
.rcx-gh .ic{width:15px;height:15px}
.rcx-res{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface);margin-bottom:6px;min-width:0}
.rcx-res:nth-child(even){background:var(--zebra)}
.rcx-res.in{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}
.rcx-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:var(--w-bold);font-size:var(--t-sm);flex:none;color:var(--pri);background:var(--pri-soft)}
.rcx-av.o{color:var(--vio);background:var(--vio-soft)}
.rcx-who{flex:1;min-width:0}
.rcx-who>b{display:block}
.rcx-who small{display:block;font-size:var(--t-xs);color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcx-bad{color:var(--bad)}
.rcx-chips{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.rcx-chips .chip .ic{width:12px;height:12px}
.rcx-bask{border:1px dashed color-mix(in srgb,var(--ok) 45%,var(--line));background:var(--ok-soft);border-radius:var(--r);padding:10px 12px}
.rcx-bask h5{margin:0 0 8px;font-size:var(--t-sm);display:flex;align-items:center;gap:6px;color:var(--ok)}
.rcx-bask h5 .ic{width:15px;height:15px}
.rcx-chipsb{display:flex;flex-wrap:wrap;gap:6px}
.rcx-bc{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 6px 2px 10px;font-size:var(--t-sm)}
.rcx-bc button{border:0;background:var(--surface2);border-radius:50%;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;color:var(--mute)}
.rcx-bc button .ic{width:11px;height:11px}
.rcx-ft{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}
.rcx-ft .sp{flex:1}
.rcx-tbl td,.rcx-tbl th{vertical-align:middle}
.rcx-nm{text-align:start!important}
.rcx-nm b{display:block}
.rcx-nm small{display:block;color:var(--mute)}
.rcx-route{display:flex;align-items:stretch;min-width:380px}
.rcx-rn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;padding:0 4px;min-width:96px}
.rcx-rn .d{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor;background:var(--surface);position:relative}
.rcx-rn .d .ic{width:14px;height:14px}
.rcx-rn small{font-size:var(--t-xs);line-height:1.35;text-align:center;color:var(--ink2)}
.rcx-rn small em{display:block;font-style:normal;color:var(--mute)}
.rcx-rn:not(:last-child)::before{content:"";position:absolute;top:14px;inset-inline-start:calc(50% + 16px);inset-inline-end:calc(-50% + 16px);height:2px;background:var(--line)}
.rcx-rn.ok{color:var(--ok)}.rcx-rn.pri{color:var(--pri)}.rcx-rn.warn{color:var(--warn)}.rcx-rn.bad{color:var(--bad)}.rcx-rn.mute{color:var(--mute)}.rcx-rn.vio{color:var(--vio)}.rcx-rn.info{color:var(--info)}
.rcx-nf{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px}
.rcx-vars{display:flex;flex-wrap:wrap;gap:4px}
.rcx-vars .chip{cursor:pointer}
.rcx-sec{display:flex;gap:8px;align-items:flex-start;font-size:var(--t-sm);border-radius:var(--r);padding:8px 10px;margin:0;background:var(--warn-soft);color:var(--ink2)}
.rcx-sec .ic{width:16px;height:16px;color:var(--warn);flex:none;margin-top:2px}
.rcx-pcol{display:grid;gap:8px;align-content:start;min-width:0}
.rcx-ph{background:var(--deep);border-radius:var(--r-lg);padding:12px;color:#fff;min-width:0}
.rcx-pht{display:flex;justify-content:space-between;font-size:var(--t-xs);opacity:.75;margin-bottom:8px}
.rcx-phc{background:rgba(255,255,255,.1);border-radius:var(--r);padding:10px 12px;font-size:var(--t-sm);line-height:1.75;overflow-wrap:anywhere}
.rcx-phc b{display:block;margin-bottom:4px}
.rcx-pwho{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute);flex-wrap:wrap}
.rcx-pwho .ic{width:14px;height:14px}
.rcx-pwho select{flex:1;min-width:140px}
.rcx-prog{display:grid;gap:8px}
.rcx-pgh{display:flex;align-items:center;gap:8px}
.rcx-pgh .ic{width:16px;height:16px;color:var(--pri)}
.rcx-pgh b{flex:1}
.rcx-prog .bar{display:block;height:8px;border-radius:999px;background:var(--line2);overflow:hidden}
.rcx-prog .bar i{display:block;height:100%;background:var(--pri);border-radius:999px;transition:width var(--d2)}
.rcx-pgl{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:280px;overflow:auto}
.rcx-pgl li{display:flex;align-items:flex-start;gap:6px;font-size:var(--t-sm);flex-wrap:wrap}
.rcx-pgl li .ic{width:14px;height:14px;flex:none;margin-top:4px}
.rcx-pgl li small{flex-basis:100%;padding-inline-start:20px;color:var(--mute)}
.rcx-pgl li.sent .ic{color:var(--ok)}.rcx-pgl li.failed .ic{color:var(--bad)}.rcx-pgl li.skipped .ic{color:var(--warn)}.rcx-pgl li.pending .ic{color:var(--mute)}
.rcx-done{display:grid;gap:12px}
.rcx-dh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r);background:var(--ok-soft)}
.rcx-dh .ic{width:18px;height:18px;color:var(--ok)}
.rcx-dh small{flex-basis:100%;color:var(--mute)}
.rcx-seg{flex-wrap:nowrap}
:root .rcx-seg.seg button.on.bad{background:var(--bad);color:var(--surface)}
:root .rcx-seg.seg button.on.warn{background:var(--warn);color:var(--surface)}
.rcx-all{margin-inline-start:auto;display:inline-flex;align-items:center;gap:4px;font-weight:var(--w-reg)}
.rcx-xl{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;border:1px solid var(--line2);border-radius:var(--r);padding:6px}
.rcx-xl.big{max-height:420px}
.rcx-xl label{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--r-sm);cursor:pointer;flex-wrap:wrap}
.rcx-xl label:nth-child(even){background:var(--zebra)}
.rcx-xl label.dis{opacity:.6;cursor:default}
.rcx-opts{display:grid;gap:8px;border:1px solid var(--line2);border-radius:var(--r);padding:12px;background:var(--surface)}
.rcx-opt{display:flex;align-items:flex-start;gap:8px}
.rcx-opt>.ic{width:16px;height:16px;color:var(--mute);flex:none;margin-top:4px}
.rcx-opt b{display:block}
.rcx-opt small{display:block;color:var(--mute);font-size:var(--t-xs)}
.rcx-opt.sw{cursor:pointer}
.rcx-opt.sw input{margin-top:4px}
.rcx-dr .ofc-drb{display:grid;gap:12px}
.rcx-tl{list-style:none;margin:0;padding:0;position:relative}
.rcx-tl::before{content:"";position:absolute;top:6px;bottom:6px;inset-inline-start:10px;width:2px;background:var(--line)}
.rcx-tl>li{position:relative;padding:0 0 18px;padding-inline-start:32px}
.rcx-tl>li .d{position:absolute;inset-inline-start:3px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--mute)}
.rcx-tl>li.bad .d{border-color:var(--bad)}.rcx-tl>li.warn .d{border-color:var(--warn)}
.rcx-tl>li>b{display:block}
.rcx-tl>li>small{display:block;color:var(--mute);font-size:var(--t-xs)}
.rcx-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:var(--t-sm);margin:8px 0 0}
.rcx-kv dt{color:var(--mute)}
.rcx-kv dd{margin:0;font-weight:var(--w-semi);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rcx-bar{display:inline-block;width:110px;height:7px;border-radius:999px;background:var(--line2);overflow:hidden}
.rcx-bar i{display:block;height:100%;background:var(--pri);border-radius:999px}
.rcx-bar.w i{background:var(--warn)}
.rcx-more{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rcx-ivt{margin-top:8px}
.rcx-notes{margin:8px 0 0;padding-inline-start:18px;font-size:var(--t-sm)}
.rcx-notes b{display:block}
.rcx-ntx{white-space:pre-wrap;font-size:var(--t-sm);background:var(--surface2);border-radius:var(--r);padding:8px 10px;margin:8px 0 0}
tr.rcx-dim td{opacity:.6}
.rcx-tabs{margin:0}
.rcx-mem{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--warn) 32%,var(--line));background:var(--warn-soft);margin:8px 0}
.rcx-mem>b{display:inline-flex;align-items:center;gap:6px;color:var(--warn)}
.rcx-mem>b .ic{width:16px;height:16px}
.rcx-sum{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.rcx-sc{border:1px solid var(--line2);border-radius:var(--r);padding:10px 12px;background:var(--surface)}
.rcx-sc .h{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute);font-weight:var(--w-semi)}
.rcx-sc .h .ic{width:16px;height:16px}
.rcx-sc>b{display:block;font-size:var(--t-xl);line-height:1.3}
.rcx-sc p{margin:2px 0 0;font-size:var(--t-xs);color:var(--ink2)}
.rcx-sc.ok .h .ic,.rcx-sc.ok>b{color:var(--ok)}.rcx-sc.bad .h .ic,.rcx-sc.bad>b{color:var(--bad)}.rcx-sc.warn .h .ic,.rcx-sc.warn>b{color:var(--warn)}.rcx-sc.info .h .ic,.rcx-sc.info>b{color:var(--info)}.rcx-sc.mute .h .ic,.rcx-sc.mute>b{color:var(--mute)}
.rcx-conf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.rcx-conf input{width:160px;text-align:center}
.rcx-empty{text-align:center}
.rcx-ea{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 16px 18px}
@media (max-width:820px){.rcx-nf{grid-template-columns:minmax(0,1fr)}.rcx-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rcx-res{flex-wrap:wrap}.rcx-chips{justify-content:flex-start}}
/* ---------------- (الحزمة 212 — §5-ص256) أسماء فعالية النتائج بالإنكليزية: النافذة الإجبارية ولسان المسؤول ---------------- */
.ep-en{display:grid;gap:12px}
.ep-enh{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);background:var(--pri-soft)}
.ep-enh>.ic{width:22px;height:22px;color:var(--pri);flex:none;margin-top:2px}
.ep-enh b{display:block;font-size:var(--t-md)}
.ep-enh p{margin:4px 0 0;font-size:var(--t-sm);color:var(--ink2)}
.ep-enar{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px dashed var(--line);border-radius:var(--r)}
.ep-enar small{color:var(--mute);font-size:var(--t-xs)}
.ep-en input[data-en]{font-size:var(--t-md);text-align:left}
.ep-enpv{margin:0;min-height:22px;font-size:var(--t-sm);color:var(--mute)}
.ep-enpv.ok{color:var(--ok)}
.ep-enpv.bad{color:var(--bad)}
.ep-enpv b{margin-inline-start:4px;color:var(--ink)}
.ep-names .ep-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ep-names .ep-chk{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);color:var(--ink2)}
.ep-names .hint{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}
.ep-names .hint>.ic{width:16px;height:16px;flex:none;margin-top:2px}
.ep-names .ep-ttl{margin:4px 0 12px;align-items:flex-end}
.ep-names .ep-ttl .f{flex:1;min-width:220px;margin:0}
/* ---------------- (الحزمة 214 — §5-ص261) نافذة «تذكير من لم يسجّل اسمه»: الملاحظات بأيقونة في السطر نفسه (كلسان الأسماء) ---------------- */
.ep-rem .hint{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}
.ep-rem .hint>.ic{width:16px;height:16px;flex:none;margin-top:2px}
.ep-rem .ep-warn{margin:0 0 10px}
/* ---------------- (الحزمة 215 — §5-ص262 قرار الجولة 86 «1-د») الوقت: الحقل المقسّم .uit (ص/م · الساعة : الدقيقة · زرّ الساعة) + العجلات .uitp2 ---------------- */
.uit{display:inline-flex;align-items:center;gap:2px;direction:ltr;width:100%;min-width:0;min-height:var(--h-ctl);padding:2px 6px 2px 8px;background:var(--field);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:inset 0 1px 2px rgba(0,0,0,.08);font-size:var(--t-md);cursor:text;transition:border-color var(--d1),box-shadow var(--d1)}
.uit:focus-within{border-color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 20%,transparent)}
.uit.bad{border-color:var(--bad)}
.uit.dis{opacity:.6;cursor:not-allowed}
.uit[hidden]{display:none}
.uit input.uit-h,.uit input.uit-m{flex:none;width:2.6ch;min-width:0;min-height:0;padding:2px 0;border:0;border-radius:var(--r-xs);background:transparent;box-shadow:none;color:var(--ink);text-align:center;font-weight:var(--w-semi);font-variant-numeric:tabular-nums;caret-color:transparent}
.uit input.uit-h:focus,.uit input.uit-m:focus{background:color-mix(in srgb,var(--pri) 12%,transparent);color:var(--pri);box-shadow:none}
.uit input.uit-h::placeholder,.uit input.uit-m::placeholder{color:var(--mute)}
.uit-c{flex:none;color:var(--mute);font-weight:var(--w-bold)}
.uit-ap{display:inline-flex;flex:none;margin-inline-end:6px;padding:2px;border:1px solid var(--line2);border-radius:999px;background:var(--surface2)}
.uit-ap button{min-width:30px;height:26px;padding:0 6px;border:0;border-radius:999px;background:transparent;color:var(--mute);font:inherit;font-size:var(--t-xs);font-weight:var(--w-semi);cursor:pointer;transition:background var(--d1),color var(--d1)}
.uit-ap button.on{background:var(--pri);color:var(--pri-ink)}
.uit-clk{flex:none;display:grid;place-items:center;width:32px;height:32px;margin-inline-start:auto;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--mute);cursor:pointer;transition:background var(--d1),color var(--d1)}
.uit-clk:hover{background:var(--surface2);color:var(--pri)}
.uit-clk .ic{width:18px;height:18px}
.uit button:focus-visible{outline:2px solid var(--pri);outline-offset:1px}
.uit button:disabled,.uit input:disabled{cursor:not-allowed}
.rem .rt .uit{width:auto}
td .uit{min-width:168px}
/* العجلات (منبثقة على الحاسوب · صفيحة سفلية على الهاتف) */
.uitp2 .uip-b{padding:10px 12px}
.uit-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.uit-big{font-size:var(--t-xl);font-weight:var(--w-bold)}
.uit-cl,.uit-wh{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;direction:ltr}
.uit-cl{margin-bottom:2px;font-size:var(--t-2xs);color:var(--mute);text-align:center}
.uit-wh{position:relative;height:200px}
.uit-wh::before{content:"";position:absolute;inset-inline:0;top:80px;height:40px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--pri) 10%,transparent);pointer-events:none}
.uit-col{position:relative;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;outline:0;border-radius:var(--r-sm);-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.uit-col::-webkit-scrollbar{display:none}
.uit-col:focus-visible{box-shadow:inset 0 0 0 2px var(--pri)}
.uit-col i{display:block;height:80px}
.uit-col b{display:grid;place-items:center;height:40px;scroll-snap-align:center;font-size:var(--t-lg);font-weight:var(--w-semi);color:var(--mute);cursor:pointer;font-variant-numeric:tabular-nums;transition:color var(--d1),transform var(--d1)}
.uit-col b.on{color:var(--pri);transform:scale(1.1)}
.uit-err{margin:6px 0 0;color:var(--bad);font-size:var(--t-xs)}
@media (prefers-reduced-motion:reduce){.uit-col b,.uit-ap button,.uit-clk{transition:none}}
.uitp2 .uit-wh .uit-col{scrollbar-width:none} /* (0,3,0) تغلب :root[data-skin=map] * {thin} */
/* ---------------- (الحزمة 219 — §5-ص266 قرار الجولة 88 «1-ب · 2-أ») «قرار الإغلاق» في «قائمة الدفعة»: رقاقة «عند الإغلاق» .rc-cd · الشريط العائم .rc-fbar · ذيل البطاقة · نافذة الإغلاق ---------------- */
.rc-cd{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1.5px dashed currentColor;border-radius:var(--r-sm);font-size:var(--t-xs);font-weight:var(--w-semi);white-space:nowrap;background:transparent}
.rc-cd .ic{width:14px;height:14px}
.rc-cd.man{border-style:solid;background:color-mix(in srgb,currentColor 12%,transparent)}
.rc-cd.ok{color:var(--ok)}.rc-cd.warn{color:var(--warn)}.rc-cd.bad{color:var(--bad)}.rc-cd.mute{color:var(--mute)}
.rc-cd small{padding:0 6px;border-radius:var(--r-xs);background:currentColor;font-size:var(--t-2xs)}
.rc-cd small b{color:var(--solid);font-weight:var(--w-bold)}
.rc-cdn{display:block;margin-top:2px;font-size:var(--t-2xs);color:var(--bad)}
.rc-csum{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--t-xs)}
.rc-csum .lb{color:var(--mute);font-weight:var(--w-semi)}
/* الشريط العائم: يصعد من أسفل الشاشة عند التحديد — معكوس السطح (داكن في الفاتح وفاتح في الداكن) */
.rc-fbar{position:fixed;left:0;right:0;margin:0 auto;width:max-content;bottom:calc(24px + var(--sab));z-index:var(--z-pop);display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:calc(100vw - 32px);padding:8px 10px 8px 14px;border-radius:var(--r-lg);background:var(--tip-bg);color:var(--tip-ink);box-shadow:var(--shadow-lg);transform:translateY(16px);opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--d2) var(--ease),opacity var(--d2),visibility var(--d2)}
.rc-fbar.on{transform:none;opacity:1;visibility:visible;pointer-events:auto}
.rc-fbar .n{font-weight:var(--w-bold);font-size:var(--t-sm);padding-inline-end:10px;border-inline-end:1px solid color-mix(in srgb,var(--tip-ink) 22%,transparent);white-space:nowrap}
/* :root[data-mode] يغلب كسوات .seg (:root[data-skin=…] .seg) */
:root[data-mode] .rc-fbar .seg{background:color-mix(in srgb,var(--tip-ink) 8%,transparent);border:1px solid color-mix(in srgb,var(--tip-ink) 18%,transparent);border-radius:var(--r-sm);padding:2px}
:root[data-mode] .rc-fbar .seg button{border-radius:var(--r-xs);background:transparent;box-shadow:none;color:var(--tip-ink);font-size:var(--t-sm);font-weight:var(--w-semi);padding:6px 12px;min-height:34px}
:root[data-mode] .rc-fbar .seg button:hover{background:color-mix(in srgb,var(--tip-ink) 14%,transparent)}
.rc-fbar .seg button:focus-visible,.rc-fbar .x:focus-visible{outline:2px solid var(--tip-ink);outline-offset:2px}
:root[data-mode] .rc-fbar .seg button:disabled{opacity:.55;cursor:progress}
.rc-fbar .x{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--tip-ink);cursor:pointer;opacity:.8}
.rc-fbar .x:hover{opacity:1;background:color-mix(in srgb,var(--tip-ink) 14%,transparent)}
.rc-fbar .x .ic{width:16px;height:16px}
@media (max-width:820px){.rc-fbar{bottom:calc(80px + var(--sab));justify-content:center}:root[data-mode] .rc-fbar .seg button{padding:6px 10px}}
@media (prefers-reduced-motion:reduce){.rc-fbar{transition:none}}
.rc-allf{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line2)}
.rc-allf .hint{flex:1;margin:0}
/* نافذة الإغلاق: أربع بطاقات + «منهم يدوياً» + الأسماء */
.rcx-sum.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:820px){.rcx-sum.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rcx-man{display:inline-block;margin-top:6px;padding:0 8px;border-radius:999px;background:var(--vio-soft);color:var(--vio);font-size:var(--t-2xs);font-weight:var(--w-bold)}
.rc-nm .chip.man{border-color:color-mix(in srgb,var(--vio) 45%,var(--line));background:color-mix(in srgb,var(--vio) 8%,transparent)}
.rc-nm .chip.man::after{content:attr(data-man);margin-inline-start:6px;color:var(--vio);font-size:var(--t-2xs);font-weight:var(--w-bold)}
.rc-tph .ic{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-inline-end:4px}
/* ---------------- (الحزمة 221 — §5-ص269) قوائم الاستقطاب بقرار واحد: ملاحظة قرار التقييم الأولي في «قائمة الدفعة» ---------------- */
.rc-cdn2{display:block;margin-top:2px;font-size:var(--t-2xs);color:var(--mute)}

/* ============================================================================
   (الحزمة 222 — الجولة 90 + 90-ب) وضع المنصة: ختم «الشريط اللاصق» · الشريط المخطّط · أزرار الكتابة الباهتة · صفحة الإعدادات
   ============================================================================ */
:root{--pm-tape:#ffd34d;--pm-tape-ink:#2a2108;--pm-tape-stripe:#1d1d2b}
header.top .sp.pm-host{display:flex;align-items:center;justify-content:center;min-width:0}
.pm-tape{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 28px;color:var(--pm-tape-ink);font-weight:var(--w-bold);font-size:var(--t-sm);line-height:1.2;white-space:nowrap;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 40%),var(--pm-tape);transform:rotate(2.5deg);clip-path:polygon(0 8%,3% 0,6% 9%,9% 0,100% 0,97% 10%,100% 22%,97% 34%,100% 46%,97% 58%,100% 70%,97% 82%,100% 94%,97% 100%,0 100%,3% 88%,0 76%,3% 64%,0 52%,3% 40%,0 28%,3% 16%)}
.pm-tape::before,.pm-tape::after{content:"";position:absolute;top:0;bottom:0;width:18px;background:repeating-linear-gradient(-45deg,var(--pm-tape-stripe) 0 6px,var(--pm-tape) 6px 12px);opacity:.92}
.pm-tape::before{inset-inline-start:4px}
.pm-tape::after{inset-inline-end:4px}
.pm-tape small{font-weight:var(--w-semi);font-size:var(--t-xs);opacity:.8}
.pm-strip{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:12px 18px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--warn) 38%,transparent);background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--warn) 10%,var(--surface)) 0 12px,var(--surface) 12px 24px);color:var(--ink)}
.pm-strip.mv{border-color:color-mix(in srgb,var(--bad) 38%,transparent);background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--bad) 8%,var(--surface)) 0 12px,var(--surface) 12px 24px)}
.pm-strip .pm-si{width:38px;height:38px;border-radius:var(--r);display:grid;place-items:center;background:var(--warn);color:var(--surface);flex:none}
.pm-strip.mv .pm-si{background:var(--bad)}
.pm-strip .pm-si .ic{width:20px;height:20px}
.pm-strip .pm-st{flex:1;min-width:0}
.pm-strip b{font-size:var(--t-md);font-weight:var(--w-bold)}
.pm-strip p{margin:2px 0 0;font-size:var(--t-sm);color:var(--ink2);line-height:1.6}
.pm-strip .pm-when{margin-inline-start:auto;text-align:center;padding:6px 12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);font-size:var(--t-xs);color:var(--mute);white-space:nowrap}
.pm-strip .pm-when b{display:block;font-size:var(--t-sm);color:var(--ink)}
.pm-u{direction:ltr;unicode-bidi:isolate;font-family:ui-monospace,Consolas,monospace}
html body.dd-frz.dd-frz #addBtn,html body.dd-frz.dd-frz #fab,html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-plus"]),html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-edit"]),html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-trash"]),
html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-save"]),html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-upload"]),html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-send"]),html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-cart"]),
html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-wrench"]),html body.dd-frz.dd-frz .btn.btn.w-act,html body.dd-frz.dd-frz .ibtn.ibtn:has(use[href="#i-edit"]),html body.dd-frz.dd-frz .ibtn.ibtn:has(use[href="#i-trash"]){opacity:.4;filter:grayscale(1);cursor:not-allowed;position:relative}
html body.dd-frz.dd-frz #addBtn::after,html body.dd-frz.dd-frz #fab::after,html body.dd-frz.dd-frz .btn.btn:has(use[href="#i-plus"])::after{content:"";position:absolute;top:-4px;inset-inline-end:-4px;width:16px;height:16px;border-radius:50%;background:var(--warn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/10px no-repeat;opacity:1}
@media (max-width:640px){header.top .pm-tape{display:none}.pm-strip{align-items:flex-start;padding:12px 14px}.pm-strip .pm-when{display:none}}
/* الإعدادات ← وضع المنصة والنقل */
.pm-sec{margin:0 0 18px;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.pm-sec>h4{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:var(--t-md)}
.pm-sec>p.muted{margin:0 0 14px;font-size:var(--t-sm)}
.pm-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pm-mode{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);text-align:start;font:inherit;cursor:pointer;transition:border-color var(--d1),box-shadow var(--d1)}
.pm-mode .h{display:flex;align-items:center;gap:8px;font-weight:var(--w-bold);font-size:var(--t-md)}
.pm-mode .h i{width:32px;height:32px;border-radius:var(--r);display:grid;place-items:center;background:color-mix(in srgb,var(--mc) 14%,transparent);color:var(--mc);font-style:normal}
.pm-mode .h em{margin-inline-start:auto;padding:2px 8px;border-radius:999px;background:var(--mc);color:var(--surface);font-style:normal;font-size:var(--t-2xs);font-weight:var(--w-semi)}
.pm-mode .d{font-size:var(--t-xs);line-height:1.65;color:var(--ink2)}
.pm-mode.dng{border-style:dashed}
.pm-mode.on{border-color:var(--mc);box-shadow:0 0 0 3px color-mix(in srgb,var(--mc) 18%,transparent)}
.pm-stat{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:var(--t-sm);color:var(--ink2)}
.pm-stat .dot{width:10px;height:10px;border-radius:50%;background:var(--mc);box-shadow:0 0 0 4px color-mix(in srgb,var(--mc) 18%,transparent)}
.pm-fields{margin-top:14px}
.pm-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.pm-f{display:flex;flex-direction:column;gap:6px;font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink2)}
.pm-row{display:flex;gap:8px;align-items:center}
.pm-row input{flex:1;min-width:0}
.pm-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;font-size:var(--t-xs)}
.pm-map{margin-top:12px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:var(--t-xs)}
.pm-map:empty{display:none}
.pm-map div{display:grid;grid-template-columns:1fr 24px 1fr;gap:8px;padding:8px 12px;font-family:ui-monospace,Consolas,monospace;color:var(--ink2)}
.pm-map div:nth-child(even){background:color-mix(in srgb,var(--line) 35%,transparent)}
.pm-map s{color:var(--mute)}
.pm-map em{font-style:normal;color:var(--pri);font-weight:var(--w-bold)}
.pm-chip{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;border-radius:999px;font-size:var(--t-xs);font-weight:var(--w-semi);background:color-mix(in srgb,var(--mute) 12%,transparent);color:var(--ink2)}
.pm-chip.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
.pm-chip.bad{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.pm-chip .ic{width:14px;height:14px}
.pm-kv{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:var(--t-sm);color:var(--ink2)}
.pm-kv b{color:var(--ink)}
.pm-warn{display:flex;gap:10px;margin:12px 0 0;padding:10px 14px;border-radius:var(--r);background:color-mix(in srgb,var(--bad) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--bad) 28%,transparent);font-size:var(--t-sm);line-height:1.7;color:var(--ink2)}
.pm-warn .ic{color:var(--bad);flex:none;margin-top:4px}
.pm-cf ul{margin:0 0 12px;padding-inline-start:18px;line-height:1.8;font-size:var(--t-sm)}
@media (max-width:820px){.pm-modes,.pm-grid{grid-template-columns:1fr}}
.login-pm{margin:0 0 14px}
.login-pm .pm-tape{transform:rotate(-2deg)}
.login-pm p{margin:10px 0 0;font-size:var(--t-sm);line-height:1.7;color:var(--ink2);max-width:380px}
