/* أنماط الاعتماد الخارجي — مستخرَجة من index.html.
   ⚠️ index.html كان 1698 سطرًا فيها 375 سطر أنماط و1102 سطر جافاسكربت،
   والترقيع الأعمى فيها ولّد أعطالًا (قاعدة مكرّرة ألغت لونًا · سطر استيراد
   لم يُطابَق). الفصل يجعل كل تعديل مرئيًا. */

  @font-face{font-family:"Al Jazeera Arabic";font-weight:400;font-display:block;
             src:url("AlJazeera-Regular.v2.woff2") format("woff2")}
  @font-face{font-family:"Al Jazeera Arabic";font-weight:700;font-display:block;
             src:url("AlJazeera-Bold.v2.woff2") format("woff2")}
  /* ── سلّم أحجام الخطّ ──────────────────────────────────────────
     ⚠️ كان في القشرة **22 حجمًا مختلفًا** (10.5 · 11 · 11.5 · 12 · 12.5 ·
     12.8 · 13 · 13.5 · 14 · 14.5 · 15 · 15.5 · 16 · 16.5 · 19 · 20 · 22 ·
     23 · 24 · 26 …)، و`h1` معرَّفًا ثلاث مرّات بثلاث قيم. فلا يعرف القارئ
     أيّ نصٍّ أهمّ — والفرق بين 13 و13.5 لا تراه العين لكنّه يُفقد الاتّساق.
     سلّمٌ واحد بنسبة ~1.2 في الأعلى وخطوةٍ واحدة في الأسفل حيث تُبنى
     الجداول الكثيفة. والعربية تحتاج قياسًا أكبر من اللاتينية للوضوح نفسه،
     فالأساس 14 لا 13. */
  :root{
    --fs-micro:11px;   /* شارات دقيقة داخل الجداول */
    --fs-xs:12px;      /* ملاحظات · وسوم · نصّ مساعد */
    --fs-sm:13px;      /* نصّ ثانوي · خلايا الجداول الكثيفة */
    --fs-base:14px;    /* النصّ الأساسي */
    --fs-md:16px;      /* عنوان فرعي داخل قسم (h4) */
    --fs-lg:19px;      /* عنوان قسم (h3) */
    --fs-xl:23px;      /* عنوان شاشة (h2) */
    --fs-2xl:28px;     /* عنوان الصفحة (h1) */
    --fs-num:44px;     /* الأرقام الكبيرة وحدها */

  --head-ink:#8c1c13;--head-soft:#fbf1ef;--head-line:#e3bdb6;
    /* ⚠️ `--ink` و`--bg` و`--panel` و`--line` و`--brand-soft` و`--danger` و`--ok`
       لَم تَعُد تُعَرَّفُ هُنا: صارَت **جِسرًا** إلى رُموزِ HeroUI أَسفَلَ المِلَفّ.
       تَعريفانِ لِرَمزٍ واحِدٍ في مِلَفٍّ واحِدٍ يَفتَرِقانِ عِندَ أَوَّلِ تَعديل. */
    --brand-2:#1d7a63; --brand-ink:#0d443a;
    --gold:#a97c1f; --gold-soft:#fbf4e4;
    /* ذهبي الهلال — مستخرَج بِكسليًا من رمز 🌙 في الهيدر (#EAC83C).
       تباينه على خلفية الهيدر #0D443A = 6.7:1 (المعيار 4.5). */
    --gold-bright:#eac83c;
    /* شريط الهوية: أخضر الجهة ← ذهبي */
    --edge:linear-gradient(90deg,var(--brand) 0%,var(--brand-2) 46%,var(--gold) 100%);
    --statusH:34px;   /* ارتفاع شريط الحالة المثبَّت */
  }
  /* الوضع الليلي — تُبدَّل الرموز وحدها فتبقى القواعد كما هي */
  html[data-theme="dark"]{
    --head-ink:#f0a79c;--head-soft:#2b1a18;--head-line:#4a2b26;
    --brand-2:#63d2ae; --brand-ink:#0a1815;
    --gold:#d9ad55; --gold-soft:#2a2418;
  }
  /* ═══ HeroUI-TOKENS: مولَّدة — لا تُحرَّر يدويًّا ═══ */
  :root{
    color-scheme:light;
    /* أَوَّليّاتٌ لا تَتَبَدَّلُ بَينَ الوَضعَين */
    --white:#ffffff;
    --white:oklch(100.00% 0.0000 89.88);
    --black:#000000;
    --black:oklch(0.00% 0.0000 0.00);
    --snow:#fcfcfc;
    --snow:oklch(99.11% 0.0000 89.88);
    --eclipse:#18181b;
    --eclipse:oklch(21.03% 0.0059 285.89);
    --spacing:0.25rem;
    --border-width:1px;
    --field-border-width:0px;
    --disabled-opacity:0.5;
    --ring-offset-width:2px;
    --cursor-interactive:pointer;
    --cursor-disabled:not-allowed;
    /* نِصفُ القُطر: أَساسٌ واحِدٌ وسُلَّمُ Tailwind v4 الذي تَبني عَلَيهِ مُكَوِّناتُ HeroUI */
    --radius:0.5rem;
    --field-radius:calc(var(--radius) * 1.5);
    --radius-xs:0.125rem;--radius-sm:0.25rem;--radius-md:0.375rem;
    --radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;
    /* الأَساس */
    --background:#f2f6f5;
    --background:oklch(96.98% 0.0044 179.73);
    --foreground:#122a25;
    --foreground:oklch(26.37% 0.0318 178.56);
    /* الأَسطُح: لِلمُكَوِّناتِ غَيرِ العائِمة */
    --surface:#ffffff;
    --surface:oklch(100.00% 0.0000 89.88);
    --surface-foreground:var(--foreground);
    --surface-secondary:#eff3f2;
    --surface-secondary:oklch(96.08% 0.0045 179.73);
    --surface-secondary-foreground:var(--foreground);
    --surface-tertiary:#e7eeec;
    --surface-tertiary:oklch(94.33% 0.0079 177.32);
    --surface-tertiary-foreground:var(--foreground);
    /* الطَبَقاتُ العائِمة: تَلميحاتٌ ونَوافِذُ وقَوائِم */
    --overlay:#ffffff;
    --overlay:oklch(100.00% 0.0000 89.88);
    --overlay-foreground:var(--foreground);
    --muted:#43616a;
    --muted:oklch(47.27% 0.0380 218.43);
    --default:#e9efed;
    --default:oklch(94.70% 0.0069 174.37);
    --default-foreground:var(--foreground);
    /* دَرَجاتُ الهُوية — المُبَدَّلُ الوَحيدُ عَن HeroUI */
    --accent:#155e4e;
    --accent:oklch(43.40% 0.0743 174.39);
    --accent-foreground:var(--snow);
    --success:#1d7a52;
    --success:oklch(51.61% 0.1061 159.82);
    --success-foreground:var(--snow);
    --warning:#a97c1f;
    --warning:oklch(61.56% 0.1170 80.43);
    --warning-foreground:var(--snow);
    --danger:#a32b22;
    --danger:oklch(47.70% 0.1578 28.77);
    --danger-foreground:var(--snow);
    /* الحُقول */
    --field-background:#ffffff;
    --field-background:oklch(100.00% 0.0000 89.88);
    --field-foreground:var(--foreground);
    --field-placeholder:var(--muted);
    --field-border:transparent;
    /* حُدودٌ وفَواصِلُ وتَركيز */
    --border:#e2eae9;
    --border:oklch(93.07% 0.0087 188.10);
    --separator:#eaf0ef;
    --separator:oklch(95.03% 0.0065 185.27);
    --focus:var(--accent);
    --link:var(--foreground);
    --backdrop:rgba(0,0,0,0.5);
    /* الظِلال — مِن HeroUI حَرفيًّا */
    --surface-shadow:0 2px 4px 0 rgba(0,0,0,.04),0 1px 2px 0 rgba(0,0,0,.06),0 0 1px 0 rgba(0,0,0,.06);
    --overlay-shadow:0 2px 8px 0 rgba(0,0,0,.06),0 -6px 12px 0 rgba(0,0,0,.03),0 14px 28px 0 rgba(0,0,0,.08);
    --field-shadow:0 2px 4px 0 rgba(0,0,0,.04),0 1px 2px 0 rgba(0,0,0,.06),0 0 1px 0 rgba(0,0,0,.06);
    /* المُشتَقّات — نِسَبُ HeroUI نَفسُها، ولِكُلٍّ احتِياطٌ مَحسوب */
    --surface-hover:#eaeceb;
    --surface-hover:color-mix(in oklab,var(--surface) 92%,var(--surface-foreground) 8%);
    --background-secondary:#e8edec;
    --background-secondary:color-mix(in oklab,var(--background) 96%,var(--foreground) 4%);
    --background-tertiary:#dee4e2;
    --background-tertiary:color-mix(in oklab,var(--background) 92%,var(--foreground) 8%);
    --background-inverse:var(--foreground);
    --default-hover:#dfe6e4;
    --default-hover:color-mix(in oklab,var(--default) 96%,var(--default-foreground) 4%);
    --accent-hover:#326d5e;
    --accent-hover:color-mix(in oklab,var(--accent) 90%,var(--accent-foreground) 10%);
    --success-hover:#3b8762;
    --success-hover:color-mix(in oklab,var(--success) 90%,var(--success-foreground) 10%);
    --warning-hover:#b1893d;
    --warning-hover:color-mix(in oklab,var(--warning) 90%,var(--warning-foreground) 10%);
    --danger-hover:#ae4438;
    --danger-hover:color-mix(in oklab,var(--danger) 90%,var(--danger-foreground) 10%);
    --field-hover:#e4e7e6;
    --field-hover:color-mix(in oklab,var(--field-background) 90%,var(--field-foreground) 2%);
    --field-focus:var(--field-background);
    --field-border-hover:#c6d0cf;
    --field-border-hover:color-mix(in oklab,var(--field-border,var(--border)) 88%,var(--field-foreground) 10%);
    --field-border-focus:#a7b3b1;
    --field-border-focus:color-mix(in oklab,var(--field-border,var(--border)) 74%,var(--field-foreground) 22%);
    /* الأَنعَمُ: خَلفيةٌ شَفّافةٌ ونَصٌّ مُغمَّق — احتِياطُها فَوقَ السَطح */
    --default-soft:#f4f7f6;
    --default-soft:color-mix(in oklab,var(--default) 50%,transparent);
    --default-soft-foreground:var(--default-foreground);
    --default-soft-hover:#f2f5f4;
    --default-soft-hover:color-mix(in oklab,var(--default) 60%,transparent);
    --accent-soft:#dce5e2;
    --accent-soft:color-mix(in oklab,var(--accent) 15%,transparent);
    --accent-soft-foreground:#164e41;
    --accent-soft-foreground:color-mix(in oklab,var(--accent) 70%,var(--foreground) 30%);
    --accent-soft-hover:#d0ddd9;
    --accent-soft-hover:color-mix(in oklab,var(--accent) 20%,transparent);
    --danger-soft:#f5e0dc;
    --danger-soft:color-mix(in oklab,var(--danger) 15%,transparent);
    --danger-soft-foreground:#703226;
    --danger-soft-foreground:color-mix(in oklab,var(--danger) 70%,var(--foreground) 40%);
    --danger-soft-hover:#f1d5d1;
    --danger-soft-hover:color-mix(in oklab,var(--danger) 20%,transparent);
    --warning-soft:#f2ebdf;
    --warning-soft:color-mix(in oklab,var(--warning) 15%,transparent);
    --warning-soft-foreground:#61552b;
    --warning-soft-foreground:color-mix(in oklab,var(--warning) 80%,var(--foreground) 70%);
    --warning-soft-hover:#eee4d5;
    --warning-soft-hover:color-mix(in oklab,var(--warning) 20%,transparent);
    --success-soft:#dfeae3;
    --success-soft:color-mix(in oklab,var(--success) 15%,transparent);
    --success-soft-foreground:#1a563e;
    --success-soft-foreground:color-mix(in oklab,var(--success) 80%,var(--foreground) 60%);
    --success-soft-hover:#d4e4da;
    --success-soft-hover:color-mix(in oklab,var(--success) 20%,transparent);
    --separator-secondary:#d7dcda;
    --separator-secondary:color-mix(in oklab,var(--surface) 85%,var(--surface-foreground) 15%);
    --border-secondary:#c5cbca;
    --border-secondary:color-mix(in oklab,var(--surface) 78%,var(--surface-foreground) 22%);
    --border-tertiary:#a7b0ae;
    --border-tertiary:color-mix(in oklab,var(--surface) 66%,var(--surface-foreground) 34%);
  }
  html[data-theme="dark"]{
    color-scheme:dark;
    /* الأَساس */
    --background:#0d1f1c;
    --background:oklch(22.26% 0.0248 182.03);
    --foreground:#e6f0ee;
    --foreground:oklch(94.71% 0.0109 182.87);
    /* الأَسطُح: لِلمُكَوِّناتِ غَيرِ العائِمة */
    --surface:#132a26;
    --surface:oklch(26.46% 0.0302 181.37);
    --surface-foreground:var(--foreground);
    --surface-secondary:#183330;
    --surface-secondary:oklch(29.86% 0.0336 186.29);
    --surface-secondary-foreground:var(--foreground);
    --surface-tertiary:#1d3b36;
    --surface-tertiary:oklch(32.72% 0.0373 181.92);
    --surface-tertiary-foreground:var(--foreground);
    /* الطَبَقاتُ العائِمة: تَلميحاتٌ ونَوافِذُ وقَوائِم */
    --overlay:#132a26;
    --overlay:oklch(26.46% 0.0302 181.37);
    --overlay-foreground:var(--foreground);
    --muted:#9fb8b3;
    --muted:oklch(76.22% 0.0283 182.14);
    --default:#1b3a34;
    --default:oklch(32.24% 0.0387 179.65);
    --default-foreground:var(--foreground);
    /* دَرَجاتُ الهُوية — المُبَدَّلُ الوَحيدُ عَن HeroUI */
    --accent:#4fbf9c;
    --accent:oklch(73.04% 0.1150 169.47);
    --accent-foreground:var(--eclipse);
    --success:#5fd3a0;
    --success:oklch(78.61% 0.1296 162.21);
    --success-foreground:var(--eclipse);
    --warning:#d9ad55;
    --warning:oklch(77.03% 0.1177 82.71);
    --warning-foreground:var(--eclipse);
    --danger:#f08a80;
    --danger:oklch(74.03% 0.1260 26.45);
    --danger-foreground:var(--eclipse);
    /* الحُقول */
    --field-background:#132a26;
    --field-background:oklch(26.46% 0.0302 181.37);
    --field-foreground:var(--foreground);
    --field-placeholder:var(--muted);
    --field-border:transparent;
    /* حُدودٌ وفَواصِلُ وتَركيز */
    --border:#22403a;
    --border:oklch(34.59% 0.0377 179.66);
    --separator:#1e3833;
    --separator:oklch(31.79% 0.0335 180.38);
    --focus:var(--accent);
    --link:var(--foreground);
    --backdrop:rgba(0,0,0,0.6);
    /* الظِلال — مِن HeroUI حَرفيًّا */
    --surface-shadow:0 0 0 0 transparent inset;
    --overlay-shadow:0 0 1px 0 rgba(255,255,255,.3) inset;
    --field-shadow:0 0 0 0 transparent inset;
    /* المُشتَقّات — نِسَبُ HeroUI نَفسُها، ولِكُلٍّ احتِياطٌ مَحسوب */
    --surface-hover:#223833;
    --surface-hover:color-mix(in oklab,var(--surface) 92%,var(--surface-foreground) 8%);
    --background-secondary:#142623;
    --background-secondary:color-mix(in oklab,var(--background) 96%,var(--foreground) 4%);
    --background-tertiary:#1c2d2a;
    --background-tertiary:color-mix(in oklab,var(--background) 92%,var(--foreground) 8%);
    --background-inverse:var(--foreground);
    --default-hover:#22403a;
    --default-hover:color-mix(in oklab,var(--default) 96%,var(--default-foreground) 4%);
    --accent-hover:#4bac8e;
    --accent-hover:color-mix(in oklab,var(--accent) 90%,var(--accent-foreground) 10%);
    --success-hover:#59be91;
    --success-hover:color-mix(in oklab,var(--success) 90%,var(--success-foreground) 10%);
    --warning-hover:#c39c50;
    --warning-hover:color-mix(in oklab,var(--warning) 90%,var(--warning-foreground) 10%);
    --danger-hover:#d87e75;
    --danger-hover:color-mix(in oklab,var(--danger) 90%,var(--danger-foreground) 10%);
    --field-hover:#253b37;
    --field-hover:color-mix(in oklab,var(--field-background) 90%,var(--field-foreground) 2%);
    --field-focus:var(--field-background);
    --field-border-hover:#37534d;
    --field-border-hover:color-mix(in oklab,var(--field-border,var(--border)) 88%,var(--field-foreground) 10%);
    --field-border-focus:#516a64;
    --field-border-focus:color-mix(in oklab,var(--field-border,var(--border)) 74%,var(--field-foreground) 22%);
    /* الأَنعَمُ: خَلفيةٌ شَفّافةٌ ونَصٌّ مُغمَّق — احتِياطُها فَوقَ السَطح */
    --default-soft:#17322d;
    --default-soft:color-mix(in oklab,var(--default) 50%,transparent);
    --default-soft-foreground:var(--default-foreground);
    --default-soft-hover:#18342e;
    --default-soft-hover:color-mix(in oklab,var(--default) 60%,transparent);
    --accent-soft:#1a3a33;
    --accent-soft:color-mix(in oklab,var(--accent) 12%,transparent);
    --accent-soft-foreground:#84ceb4;
    --accent-soft-foreground:color-mix(in oklab,var(--accent) 70%,var(--foreground) 30%);
    --accent-soft-hover:#1c3f37;
    --accent-soft-hover:color-mix(in oklab,var(--accent) 16%,transparent);
    --danger-soft:#343833;
    --danger-soft:color-mix(in oklab,var(--danger) 15%,transparent);
    --danger-soft-foreground:#f0b0a8;
    --danger-soft-foreground:color-mix(in oklab,var(--danger) 70%,var(--foreground) 40%);
    --danger-soft-hover:#3e3d37;
    --danger-soft-hover:color-mix(in oklab,var(--danger) 20%,transparent);
    --warning-soft:#2a382d;
    --warning-soft:color-mix(in oklab,var(--warning) 12%,transparent);
    --warning-soft-foreground:#e0cda1;
    --warning-soft-foreground:color-mix(in oklab,var(--warning) 80%,var(--foreground) 70%);
    --warning-soft-hover:#313d2f;
    --warning-soft-hover:color-mix(in oklab,var(--warning) 16%,transparent);
    --success-soft:#1b3c33;
    --success-soft:color-mix(in oklab,var(--success) 12%,transparent);
    --success-soft-foreground:#a0e0c1;
    --success-soft-foreground:color-mix(in oklab,var(--success) 80%,var(--foreground) 60%);
    --success-soft-hover:#1e4238;
    --success-soft-hover:color-mix(in oklab,var(--success) 16%,transparent);
    --separator-secondary:#2f4440;
    --separator-secondary:color-mix(in oklab,var(--surface) 85%,var(--surface-foreground) 15%);
    --border-secondary:#3c504c;
    --border-secondary:color-mix(in oklab,var(--surface) 78%,var(--surface-foreground) 22%);
    --border-tertiary:#546763;
    --border-tertiary:color-mix(in oklab,var(--surface) 66%,var(--surface-foreground) 34%);
  }
  /* ═══ /HeroUI-TOKENS ═══ */

  /* ═══ الجِسر: رُموزُ القِشرةِ القَديمةُ تُشتَقُّ مِن رُموزِ HeroUI ═══
     ⚠️ **جِسرٌ لا نَسخ.** ثَمانِمِئةِ سَطرٍ مِنَ الأَنماطِ تَستَعمِلُ `--panel`
        و`--line` و`--sh`؛ فَتُعادُ كِتابَتُها كُلُّها خَطَرٌ بِلا داعٍ، ويَكفي أَن
        تُشتَقَّ الرُموزُ نَفسُها مِن HeroUI فَتَرِثَ الصَفحةُ لُغَتَهُ دَفعةً واحِدة.
     ⚠️ ويُعَرَّفُ في `:root` وَحدَه: `var()` تُحَلُّ عِندَ الاستِعمالِ لا عِندَ
        الإِعلان، فَإِذا حَمَلَ `html` صِنفَ الظَلامِ أَخَذَت قِيَمَهُ هوَ. تَكرارُهُ
        لِلوَضعِ اللَيليِّ نَسخةٌ ثانيةٌ تَفتَرِق. */
  :root{
    --bg:var(--background);
    --panel:var(--surface);
    --ink:var(--foreground);
    --ink-2:var(--muted);
    --line:var(--border);
    --line-2:var(--border-secondary);
    --brand:var(--accent);
    --brand-soft:var(--accent-soft);
    --ok:var(--success);
    /* ⚠️ لا يُجسَرُ `--danger-soft`: HeroUI يُعَرِّفُهُ بِالاسمِ نَفسِه، و
       `--x:var(--x)` حَلقةٌ يُلغيها المُتَصَفِّحُ فَيَصيرُ اللَونُ فارِغًا. */
    /* نِصفُ القُطرِ مِن سُلَّمِ HeroUI: 16px لِلبِطاقاتِ و12px لِلعَناصِرِ الصَغيرة */
    --r:var(--radius-2xl);
    --r-sm:var(--radius-xl);
    /* والظِلالُ ظِلالُه: سَطحٌ لِلبِطاقاتِ وعائِمٌ لِلنَوافِذِ والقَوائِم */
    --sh:var(--surface-shadow);
    --sh-lift:var(--overlay-shadow);
  }
  html[data-theme="dark"] .sig-pad,html[data-theme="dark"] .f-in{background:var(--panel)}
  html[data-theme="dark"] table.rec-table th,html[data-theme="dark"] th{background:#17332d}
  /* بصمة الخلفية: «رُبع الحِزب» — مربّعان متقاطعان بزاوية 45°، بكثافة 5% */
  body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cg fill='none' stroke='%23155e4e' stroke-opacity='.032' stroke-width='.9'%3E%3Crect x='11' y='11' width='18' height='18'/%3E%3Crect x='11' y='11' width='18' height='18' transform='rotate(45 20 20)'/%3E%3C/g%3E%3C/svg%3E");
    background-size:40px 40px}
  .app{position:relative;z-index:1}
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{background:var(--bg);color:var(--ink);font-size:var(--fs-md);line-height:1.8;
       font-family:"Al Jazeera Arabic","Segoe UI",Tahoma,system-ui,Arial,sans-serif;
       -webkit-font-smoothing:antialiased}
  button,input,select,textarea{font-family:inherit}
  a{color:var(--brand-2)}

  /* ── الهيكل ── */
  .app{display:flex;min-height:100vh}
  .nav{width:236px;flex:none;background:var(--brand-ink);color:#cfe6df;
       display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
  .nav.hidden{display:none}
  .nav .brand{display:flex;align-items:center;gap:11px;padding:20px 18px 16px;
              border-bottom:1px solid rgba(255,255,255,.1)}
  .nav .brand .jd{width:40px;height:40px;flex:none;border-radius:11px;display:block;
    box-shadow:0 3px 10px -4px rgba(0,0,0,.5)}
  .nav .brand b{color:var(--gold-bright);font-size:var(--fs-md);line-height:1.35;display:block}
  .nav .brand span{font-size:var(--fs-xs);opacity:.72}
  .nav menu{list-style:none;margin:0;padding:12px 10px;display:grid;gap:3px}
  .nav a{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:var(--r-sm);
         color:#cfe6df;text-decoration:none;font-size:var(--fs-base);cursor:pointer}
  .nav a:hover{background:rgba(255,255,255,.08);color:#fff}
  .nav a.on{background:var(--brand-2);color:#fff;font-weight:700}
  .nav a .ic{width:18px;text-align:center;opacity:.9}
  .nav a .ct{margin-inline-start:auto;font-size:var(--fs-xs);background:rgba(255,255,255,.14);
             border-radius:99px;padding:0 8px;min-width:24px;text-align:center}
  /* ⚠️ شريط الحالة مثبَّت في أسفل النافذة ويغطّي ذيل القائمة الجانبية،
     فيُقتطع زرّ «تبديل المستخدم». يُحجَز له ارتفاعه هنا. */
  .nav .foot{margin-top:auto;padding:14px 18px calc(14px + var(--statusH));
             border-top:1px solid rgba(255,255,255,.1);font-size:var(--fs-sm);opacity:.75}
  .nav .foot b{color:#fff;display:block;font-size:var(--fs-sm);opacity:1}

  main{flex:1;min-width:0;display:flex;flex-direction:column}
  .bar{position:sticky;top:0;z-index:6;background:var(--brand-ink);
       border-bottom:3px solid transparent;border-image:var(--edge) 1;
       padding:10px 22px;display:flex;align-items:center;gap:14px;color:#eaf5f1;
       flex-wrap:wrap;box-shadow:0 2px 14px -6px rgba(0,0,0,.4)}
  .bar .h-btn{background:rgba(255,255,255,.10);color:#eaf5f1;border:1px solid rgba(255,255,255,.16);
              border-radius:9px;padding:7px 12px;font-size:var(--fs-sm);font-weight:400;line-height:1}
  .bar .h-btn:hover{background:rgba(255,255,255,.2)}
  .bar .h-search{position:relative;flex:1;min-width:120px;max-width:340px}
  .bar .h-search input{width:100%;background:rgba(255,255,255,.10);color:#fff;
    border:1px solid rgba(255,255,255,.18);border-radius:9px;padding:8px 34px 8px 12px;font-size:var(--fs-base)}
  .bar .h-search input::placeholder{color:#a9c8c0}
  .bar .h-search input:focus{outline:2px solid var(--brand-2);background:rgba(255,255,255,.16)}
  .bar .h-search .ico{position:absolute;inset-inline-start:11px;inset-block-start:8px;
                      color:#a9c8c0;font-size:var(--fs-sm);pointer-events:none}
  .results{position:absolute;inset-block-start:44px;inset-inline:0;background:var(--panel);
    border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sh-lift);
    max-height:380px;overflow:auto;z-index:20}
  .results a{display:block;padding:10px 14px;font-size:var(--fs-base);color:var(--ink);
             text-decoration:none;border-bottom:1px solid var(--line);cursor:pointer}
  .results a:hover{background:var(--brand-soft)}
  .results .k{font-size:var(--fs-xs);color:var(--ink-2);margin-inline-start:8px}
  .menu-pop{position:fixed;inset-block-start:52px;inset-inline-end:22px;background:var(--panel);
    border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sh-lift);
    min-width:230px;z-index:20;padding:7px}
  .menu-pop button{display:flex;width:100%;justify-content:space-between;align-items:center;
    background:none;border:0;color:var(--ink);padding:9px 12px;font-size:var(--fs-base);font-weight:400;
    border-radius:7px;text-align:right}
  .menu-pop button:hover{background:var(--brand-soft)}
  .menu-pop .sepline{height:1px;background:var(--line);margin:5px 8px}
  /* لوحة هوية واحدة: شعار الجهة ثم شعار الشركة، بينهما فاصل رفيع — على أرضية بيضاء
     كي يُقرأ الشعاران على الخلفية الداكنة. */
  .bar .logos{display:flex;align-items:center;gap:12px;flex:none;background:#fff;
              border-radius:11px;padding:7px 13px;box-shadow:0 2px 10px -4px rgba(0,0,0,.45)}
  .bar .logos img{width:auto;object-fit:contain;display:block}
  .bar .logos img[alt="مدارس ابن خلدون"]{height:30px}
  .bar .logos img.mf{height:19px}
  .bar .divider{width:1px;height:24px;background:#dbe6e3}
  /* ⚠️ اسم المدرسة لا يُقصّ: يأخذ سطرين ولا يُضغط. البحث هو الذي يتقلّص. */
  .bar .crumb{padding-inline-start:12px;border-inline-start:1px solid rgba(255,255,255,.18);
              line-height:1.35;flex:none}
  .bar .crumb b{color:var(--gold-bright);font-size:var(--fs-md);font-weight:700;display:block;
                letter-spacing:.1px}
  .bar .crumb span{color:#a9c8c0;font-size:var(--fs-sm)}
  .bar .divider{background:rgba(255,255,255,.22)}
  .bar .sp{flex:1}
  .wrap{padding:26px 26px calc(30px + var(--statusH));max-width:1180px;width:100%}
  h1{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.2px;margin:0 0 7px}
  h2{font-size:var(--fs-xl);font-weight:700;margin:0 0 15px}
  h3{font-size:var(--fs-lg);font-weight:700;margin:0 0 10px}
  .sub{color:var(--ink-2);font-size:var(--fs-base);margin:0 0 24px;line-height:1.7}

  .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
        padding:26px;box-shadow:var(--sh);margin-bottom:20px;position:relative;overflow:hidden}
  /* الحافّة العلوية هي بصمة كل بطاقة — 3px من الأخضر إلى الذهبي */
  .card::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;background:var(--edge)}
  .card.tight{padding:19px 22px}
  .card h2{display:flex;align-items:center;gap:9px}
  .card h2::before{content:"";width:7px;height:7px;flex:none;transform:rotate(45deg);
                   background:var(--gold);border-radius:1px}
  .grid{display:grid;gap:18px}
  @media(min-width:900px){.grid.c2{grid-template-columns:1fr 1fr}}

  button{cursor:pointer;border-radius:var(--r-sm);border:1px solid transparent;
         padding:10px 18px;font-size:var(--fs-base);font-weight:700}
  .b-main{background:var(--brand);color:#fff}
  .b-main:hover{background:var(--brand-2)}
  .b-ghost{background:var(--panel);color:var(--brand);border-color:var(--line-2)}
  .b-ghost:hover{background:var(--brand-soft)}
  .b-sm{padding:5px 12px;font-size:var(--fs-sm);font-weight:400}

  .tiles{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:22px}
  .tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
        padding:22px 22px 20px;box-shadow:var(--sh);position:relative;overflow:hidden;
        transition:box-shadow .16s,transform .16s,border-color .16s}
  /* توهّج ركني خفيف يعطي البطاقة عمقًا بلا زخرفة */
  .tile::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;background:var(--edge)}
  .tile::after{content:"";position:absolute;inset-block-start:-46px;inset-inline-start:-46px;
    width:118px;height:118px;border-radius:50%;
    background:radial-gradient(circle,rgba(21,94,78,.09),transparent 68%)}
  .tile[data-act]{cursor:pointer}
  .tile[data-act]:hover{border-color:var(--brand-2);transform:translateY(-2px);box-shadow:var(--sh-lift)}
  .tile .n{font-size:var(--fs-num);font-weight:700;color:var(--brand);line-height:1.1;
           font-variant-numeric:tabular-nums;letter-spacing:-.5px}
  .tile .lbl{font-size:var(--fs-sm);color:var(--ink-2);margin-top:8px;padding-top:9px;
             border-top:2px solid var(--gold-soft);display:inline-block}

  table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}
  th,td{text-align:right;padding:11px 13px;border-bottom:1px solid var(--line);line-height:1.65}
  th{color:var(--ink-2);font-weight:700;font-size:var(--fs-sm);letter-spacing:.1px;
     background:#f8fbfa;position:sticky;top:0}
  tbody tr.click{cursor:pointer}
  tbody tr.click:hover{background:var(--brand-soft)}
  tr.weak td{background:var(--gold-soft)}
  .scroll{overflow:auto;max-height:none;border:1px solid var(--line);border-radius:var(--r-sm)}

  .tag{display:inline-block;font-size:var(--fs-xs);background:var(--brand-soft);color:var(--brand);
       border-radius:99px;padding:2px 11px;white-space:nowrap}
  .tag.gray{background:#eef2f2;color:var(--ink-2)}
  .tag.gold{background:var(--gold-soft);color:var(--gold)}
  .muted{color:var(--ink-2);font-size:var(--fs-sm)}
  .note{background:var(--brand-soft);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:13px 16px;font-size:var(--fs-base)}
  .warn{background:var(--gold-soft);border:1px solid #ecdcb4;border-radius:var(--r-sm);padding:13px 16px;font-size:var(--fs-base)}
  .err{background:var(--danger-soft);border:1px solid #eec9c6;border-radius:var(--r-sm);padding:13px 16px;font-size:var(--fs-base);color:var(--danger)}
  .note.sm,.warn.sm,.err.sm{font-size:var(--fs-sm);padding:8px 11px;margin-bottom:10px}
  .bar-m{height:7px;background:#eef2f2;border-radius:4px;overflow:hidden;min-width:96px;display:inline-block;vertical-align:middle}
  .bar-m>i{display:block;height:100%;background:var(--brand-2)}

  ul.people{list-style:none;margin:0;padding:0;display:grid;gap:9px}
  @media(min-width:900px){ul.people{grid-template-columns:1fr 1fr}}
  ul.people button{width:100%;text-align:right;background:var(--panel);border:1px solid var(--line);
                   display:flex;align-items:center;gap:12px;padding:16px 19px;font-weight:400;
                   border-radius:var(--r);box-shadow:var(--sh);position:relative;overflow:hidden;
                   transition:box-shadow .16s,transform .16s,border-color .16s}
  ul.people button::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--edge)}
  ul.people button:hover{border-color:var(--brand-2);transform:translateY(-2px);box-shadow:var(--sh-lift)}
  ul.people .who{font-weight:700;font-size:var(--fs-base)}
  ul.people .role{font-size:var(--fs-sm);color:var(--ink-2);margin-inline-start:auto}

  .rowhead{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}
  .rowhead .sp{flex:1}
  .pager{display:flex;align-items:center;gap:8px}
  .pager .pos{font-size:var(--fs-sm);color:var(--ink-2);min-width:74px;text-align:center}
  .toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
  .search{flex:1;min-width:200px;padding:9px 13px;border:1px solid var(--line-2);
          border-radius:var(--r-sm);font-size:var(--fs-base);background:var(--panel)}

  /* ── نموذج السجل ── */
  .field{margin:0 0 18px}
  .f-label{font-size:var(--fs-base);font-weight:700;margin-bottom:7px}
  /* ⚠️ حزام أمان مزدوج: خطّ الجزيرة يرسم مكان «*» شعارَ القناة. حُذف المحرف من
     الخطّ، ويُفرَض هنا خطّ النظام على العلامة كي لا تعود لو رجع الخطّ الأصلي. */
  .f-label .req{color:var(--danger);font-family:Tahoma,Arial,sans-serif;font-weight:700}
  .f-help{font-size:var(--fs-sm);color:var(--ink-2);margin-top:5px}
  .f-in{width:100%;padding:10px 13px;border:1px solid var(--line-2);border-radius:var(--r-sm);
        font:inherit;background:var(--panel);color:var(--ink)}
  .f-in:focus{outline:2px solid var(--brand-2);outline-offset:-1px;border-color:transparent}
  .f-in.sm{padding:6px 9px;font-size:var(--fs-sm)}
  input.f-in[type=checkbox]{width:20px;height:20px;accent-color:var(--brand)}
  /* ── تدرّج العناوين داخل السجلات ── */
  .sec{display:flex;align-items:center;gap:9px;font-weight:700}
  .sec .sec-mark{flex:none;border-radius:2px}
  .sec.lvl1{font-size:var(--fs-md);color:var(--brand);margin:30px 0 14px;padding-bottom:9px;
            border-bottom:2px solid var(--brand-soft)}
  .sec.lvl1 .sec-mark{width:9px;height:9px;transform:rotate(45deg);background:var(--gold)}
  .sec.lvl2{font-size:var(--fs-base);color:var(--brand-2);margin:22px 0 11px;padding-inline-start:11px;
            border-inline-start:3px solid var(--brand-soft)}
  .sec.lvl2 .sec-mark{display:none}
  .sec.lvl3{font-size:var(--fs-base);color:var(--gold);margin:16px 0 9px;letter-spacing:.2px}
  .sec.lvl3 .sec-mark{width:5px;height:5px;border-radius:50%;background:var(--gold)}
  html[data-theme="dark"] .sec.lvl3{color:var(--gold-bright)}
  /* الحقول: العنوان أغمق من الشرح، والقيمة أوضح من الاثنين */
  .f-label{color:var(--ink)}
  .f-help{color:var(--ink-2)}
  .table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm);padding:9px;background:#fbfdfc}
  table.rec-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);min-width:520px}
  /* ⚠️ `white-space:nowrap` على العنوان يمنع كسره فيمطّ العمود بلا حدّ.
     والعرض الأدنى لكل عمود يُشتقّ الآن في record.js من نوعه ومحتواه. */
  table.rec-table th{background:#f4f8f7;font-size:var(--fs-sm);padding:7px 8px;position:static;
                     white-space:normal;vertical-align:middle;text-align:center;line-height:1.4}
  table.rec-table td{padding:6px 8px;border-bottom:1px solid var(--line);
                     vertical-align:middle;text-align:center}
  table.rec-table td.num,table.rec-table th.num{width:34px;text-align:center;color:var(--ink-2)}
  .sig-pad{border:1px dashed var(--line-2);border-radius:var(--r-sm);background:#fff;display:block;touch-action:none;max-width:100%}
  .primary{display:flex;flex-wrap:wrap;gap:9px 26px;background:var(--brand-soft);
           border:1px solid var(--line-2);border-radius:var(--r-sm);padding:14px 17px;margin-bottom:22px;font-size:var(--fs-base)}
  .primary-cell .k{color:var(--ink-2);margin-inline-end:6px}
  .repeat-item{border:1px solid var(--line);border-radius:var(--r-sm);padding:0 0 15px;
               margin-bottom:16px;overflow:hidden}
  /* ترويسة المحضر: عنوان موسَّط بأحمر غامق على خلفية مميّزة، وزرّ الحذف
     مُزاح إلى الحافّة كي لا يزحزح مركز العنوان. */
  .repeat-head{position:relative;display:flex;align-items:center;justify-content:center;
               background:var(--head-soft);border-bottom:2px solid var(--head-line);
               padding:11px 56px;margin-bottom:15px;min-height:44px}
  .repeat-head .repeat-t{color:var(--head-ink);font-size:var(--fs-base);font-weight:800;
                         text-align:center;line-height:1.5}
  .repeat-head>button{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%)}
  .legend,.multi{display:flex;flex-wrap:wrap;gap:8px}
  .chip{font-size:var(--fs-sm);border-radius:99px;padding:3px 12px;background:#eef2f2}
  .chk{display:flex;align-items:center;gap:7px;font-size:var(--fs-base);border:1px solid var(--line-2);
       border-radius:var(--r-sm);padding:6px 11px}
  .file-row{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);margin-top:7px}
  .sticky-save{position:sticky;bottom:var(--statusH);background:linear-gradient(transparent,var(--bg) 26%);
               padding:18px 0 8px;display:flex;gap:11px;align-items:center;margin-top:20px;z-index:4}

  /* ── الأدوات ── */
  .tools-list{display:grid;gap:10px}
  .tool-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line);
            border-radius:var(--r);padding:16px 19px;background:var(--panel);cursor:pointer;
            text-align:right;width:100%;font:inherit;font-weight:400;box-shadow:var(--sh);
            position:relative;overflow:hidden;transition:box-shadow .16s,transform .16s,border-color .16s}
  .tool-row::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;
                    background:var(--edge)}
  .tool-row:hover{border-color:var(--brand-2);transform:translateY(-2px);box-shadow:var(--sh-lift)}
  .tool-row .nm{flex:1;font-weight:700;font-size:var(--fs-base)}
  .item-card{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:14px;
             background:var(--panel);box-shadow:var(--sh)}
  .item-txt{font-size:var(--fs-base);margin-bottom:11px}
  .item-n{color:var(--ink-2);font-size:var(--fs-sm);margin-inline-end:7px}
  .scale{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .scale label{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);border:1px solid var(--line-2);
               border-radius:var(--r-sm);padding:6px 13px;cursor:pointer}
  .scale label:has(input:checked){background:var(--brand);color:#fff;border-color:var(--brand)}
  .obs{display:grid;gap:6px;margin-bottom:11px}
  .obs label{display:flex;gap:9px;font-size:var(--fs-sm);align-items:flex-start}
  .derived{font-size:var(--fs-sm);font-weight:700;color:var(--brand)}
  .grp{font-size:var(--fs-base);font-weight:700;color:var(--brand);margin:24px 0 12px;
       border-bottom:2px solid var(--brand-soft);padding-bottom:7px}

  /* ── التحسينية ── */
  .kpi{display:grid;gap:13px;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));margin-bottom:22px}
  .kpi .box{border:1px solid var(--line);border-radius:var(--r);padding:17px 19px;background:var(--panel);
            box-shadow:var(--sh);position:relative;overflow:hidden}
  .kpi .box::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;background:var(--edge)}
  .kpi .box .v{font-size:var(--fs-2xl);font-weight:700;color:var(--brand);line-height:1.15;
               font-variant-numeric:tabular-nums;letter-spacing:-.5px}
  .kpi .box .l{font-size:var(--fs-sm);color:var(--ink-2);margin-top:6px;padding-top:7px;
               border-top:2px solid var(--gold-soft);display:inline-block}
  .delta-up{color:var(--ok);font-weight:700}
  .delta-dn{color:var(--danger);font-weight:700}
  .prog{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:14px;
        background:var(--panel);box-shadow:var(--sh);position:relative;overflow:hidden}
  .prog::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--edge)}
  .prog h4{margin:0 0 5px;font-size:var(--fs-base)}
  .prog .stage{border-inline-start:3px solid var(--brand-soft);padding-inline-start:12px;margin-top:10px;font-size:var(--fs-sm)}

  /* ⚠️ pointer-events:none إلزامي — الشريط مثبَّت في الأسفل فيبتلع نقرات آخر
     صفّ في الجدول وزرّ الحفظ. ومعه حشوة سفلية في .wrap بارتفاعه. */
  .status{position:fixed;inset-inline-start:0;inset-block-end:0;width:100%;background:var(--brand-ink);
          color:#cfe6df;font-size:var(--fs-sm);padding:7px 20px;display:flex;gap:13px;align-items:center;
          z-index:9;pointer-events:none}
  .status .dot{width:8px;height:8px;border-radius:50%;background:#5ed3a0}
  ul.people .edit{margin-inline-start:12px;color:var(--ink-2);font-size:var(--fs-base);
                  padding:2px 7px;border-radius:6px}
  ul.people .edit:hover{background:var(--gold-soft);color:var(--gold)}
  .modal{position:fixed;inset:0;background:rgba(10,24,21,.55);display:grid;place-items:center;z-index:40;padding:20px}
  .modal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
              padding:26px;max-width:520px;width:100%;box-shadow:var(--sh-lift);position:relative;overflow:hidden}
  .modal-card::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;background:var(--edge)}
  .proc-group{margin-bottom:22px}
  .proc-group h4{font-size:var(--fs-base);margin:0 0 9px;color:var(--brand);font-weight:700}
  table.proc{font-size:var(--fs-sm);min-width:1180px}
  table.proc th{font-size:var(--fs-xs);white-space:nowrap;background:var(--brand-soft);color:var(--brand)}
  table.proc td{vertical-align:top;line-height:1.6;padding:8px 9px}
  table.proc td:first-child{min-width:200px;font-weight:700}
  table.mirror{font-size:var(--fs-xs);min-width:1100px}
  table.mirror td.mtag{min-width:150px;font-size:var(--fs-xs);line-height:1.5}
  table.mirror th.wk,table.mirror td.wk{width:22px;min-width:22px;text-align:center;padding:4px 0}
  table.mirror th.wk{font-size:var(--fs-micro);color:var(--ink-2)}
  table.mirror td.wk{border-inline-start:1px solid var(--line)}
  table.mirror td.wk.on{background:var(--brand-2)!important}
  table.mirror .sem2{border-inline-start:2px solid var(--gold)!important}
  .f-in.auto{background:var(--gold-soft);border-color:#e3d3ab}
  html[data-theme="dark"] .f-in.auto{background:#2a2418;border-color:#4a3f24}
  .guide-panel{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--brand-soft);
               margin-bottom:18px;overflow:hidden}
  .guide-panel>summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:var(--fs-base);color:var(--brand)}
  .guide-body{padding:0 16px 15px}
  .guide-desc{margin:0 0 11px;font-size:var(--fs-base);line-height:1.75}
  .guide-facts{display:grid;gap:6px}
  .gf{display:flex;gap:10px;font-size:var(--fs-sm);align-items:baseline}
  .gk{color:var(--ink-2);min-width:112px;flex:none}
  .gv{font-weight:700}
  .guide .guide-t{display:block;margin-bottom:6px}
  ul.guide-list{margin:4px 0 0;padding-inline-start:18px}
  ul.guide-list li{margin-bottom:3px}
  details.tree{border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:10px;
               background:var(--panel);overflow:hidden}
  details.tree>summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:var(--fs-base);
                       background:var(--brand-soft);color:var(--brand)}
  details.tree table{border-top:1px solid var(--line)}
  .sig-bar{display:flex;gap:9px;align-items:center;margin-top:9px;flex-wrap:wrap}
  /* شريط التنسيق العائم */
  /* شريط تحرير فاتح فوق الخليّة مباشرة — لا لوحة داكنة تسحب العين عن النصّ */
  .rich-bar{position:absolute;z-index:30;display:flex;flex-wrap:wrap;gap:4px;
            background:#f2f4f3;border:1px solid var(--line);
            border-radius:9px;padding:4px 6px;box-shadow:0 6px 18px -10px rgba(0,0,0,.35);
            max-width:min(94vw,420px)}
  .rich-bar .rb{background:#fff;color:var(--ink-2);border:1px solid var(--line-2);border-radius:6px;
                padding:5px 9px;font-size:var(--fs-sm);font-weight:700;line-height:1;cursor:pointer}
  .rich-bar .rb:hover{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}
  html[data-theme="dark"] .rich-bar{background:#1b2b27;border-color:#2c3d38}
  html[data-theme="dark"] .rich-bar .rb{background:#233631;color:#dcebe6;border-color:#31463f}
  /* الشاشات الضيّقة: شريط مرصوف أسفل الشاشة بدل ملاحقة خليّة أضيق منه */
  .rich-bar.docked{position:fixed;inset-inline:8px;bottom:calc(10px + var(--statusH));
                   top:auto;max-width:none;justify-content:center;
                   box-shadow:0 -6px 22px -12px rgba(0,0,0,.45)}
  /* ⚠️ `anywhere` يكسر داخل الكلمة الواحدة فتتوزّع حروفها على سطرين.
     `break-word` لا يكسرها إلا إن استحال غير ذلك. */
  .f-in.rich{min-height:36px;line-height:1.65;overflow-wrap:break-word;word-break:normal}
  .f-in.rich:empty::before{content:"اكتب هنا…";color:var(--ink-2)}
  /* إخراج المحضر */
  .meeting-scope{border-inline-start:3px solid var(--gold);margin-top:10px}
  h3.sec.meeting{text-align:center;color:var(--brand);font-size:var(--fs-md);border-bottom:0;
                 border-top:2px solid var(--brand-soft);padding-top:12px}
  details.exec-w>summary{background:var(--panel);color:var(--ink)}
  details.exec-w[open]>summary{background:var(--brand-soft);color:var(--brand)}
  .guide-vt{margin-top:13px;font-weight:700;font-size:var(--fs-sm);color:var(--gold);
           border-top:1px solid var(--line-2);padding-top:11px}
  .vcode{display:inline-block;background:var(--gold-soft);color:var(--gold);
         border-radius:5px;padding:1px 7px;font-size:var(--fs-xs);margin-inline-end:6px}
  html[data-theme="dark"] .vcode{background:#2a2418;color:var(--gold-bright)}
  /* ⚠️ رسمة المبنى **طولية بخلفية شفافة** — رسمة غلاف لا صورة عريضة.
     فـobject-fit:cover في شريط عريض يقصّها قصًّا مشوّهًا (قِيس بالعين).
     الصواب: تُحتوى بكامل ارتفاعها في جانب اللافتة والنصّ إلى جوارها. */
  .hero{position:relative;border-radius:var(--r);overflow:hidden;margin:-6px 0 24px;
        min-height:210px;display:flex;align-items:center;gap:22px;padding:18px 26px;
        background:linear-gradient(135deg,var(--brand-ink) 0%,#123f36 58%,#165347 100%)}
  .hero::before{content:"";position:absolute;inset:0;opacity:.5;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cg fill='none' stroke='%23eac83c' stroke-opacity='.10' stroke-width='.9'%3E%3Crect x='11' y='11' width='18' height='18'/%3E%3Crect x='11' y='11' width='18' height='18' transform='rotate(45 20 20)'/%3E%3C/g%3E%3C/svg%3E");
    background-size:40px 40px}
  .hero img{position:relative;z-index:1;height:178px;width:auto;flex:none;
            object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}
  .hero-t{position:relative;z-index:1;flex:1;min-width:0}
  .hero-t b{display:block;color:var(--gold-bright);font-size:var(--fs-2xl);line-height:1.3;letter-spacing:-.2px}
  .hero-t span{color:#dceae6;font-size:var(--fs-base);display:block;margin-top:5px}
  .hero-t .kicker{color:#9fc4bb;font-size:var(--fs-sm);margin-top:10px;display:block}
  @media(max-width:700px){.hero{min-height:0;flex-direction:column;text-align:center;padding:20px}
                          .hero img{height:120px}.hero-t b{font-size:var(--fs-lg)}}
  body.ro #recSave,body.ro #toolSave,body.ro #execSave,body.ro #vaultFull,
  body.ro #saveChan,body.ro #waImport,body.ro .edit{display:none!important}
  body.ro .sticky-save::before{content:"وضع القراءة — الحفظ غير متاح على هذا الجهاز";
    color:var(--gold);font-size:var(--fs-sm);font-weight:700}
  .hidden{display:none!important}
  @media(max-width:860px){.wrap{padding:18px}}

/* ── التنبيهات ── */
.h-btn .badge{position:absolute;inset-block-start:-6px;inset-inline-start:-6px;
  background:var(--danger);color:#fff;border-radius:99px;font-size:var(--fs-micro);font-weight:700;
  min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;
  box-shadow:0 2px 6px rgba(0,0,0,.4)}
#bellBtn{position:relative}
.alerts-pop{position:fixed;inset-block-start:56px;inset-inline-end:16px;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-lift);
  width:min(420px,calc(100vw - 32px));max-height:min(72vh,560px);overflow:auto;z-index:30}
.alerts-pop .ah{padding:14px 18px;border-bottom:1px solid var(--line);font-weight:700;
  display:flex;align-items:center;gap:10px}
.alerts-pop .ah .sub{font-weight:400;font-size:var(--fs-sm);color:var(--ink-2);margin:0}
.alert{display:block;width:100%;text-align:right;background:none;border:0;
  border-bottom:1px solid var(--line);padding:13px 18px;cursor:pointer;font:inherit}
.alert:hover{background:var(--brand-soft)}
.alert .t{font-weight:700;font-size:var(--fs-base);display:block}
.alert .w{font-size:var(--fs-sm);color:var(--ink-2);display:block;margin-top:3px}
.alert .lv{font-size:var(--fs-micro);border-radius:99px;padding:1px 9px;margin-inline-end:8px;white-space:nowrap}
.lv-late{background:#fbeceb;color:var(--danger)}
.lv-today{background:var(--gold-soft);color:var(--gold)}
.lv-week{background:var(--brand-soft);color:var(--brand)}
.lv-soon{background:#eef2f2;color:var(--ink-2)}
.alerts-empty{padding:26px 18px;text-align:center;color:var(--ink-2);font-size:var(--fs-base)}

/* ── التجاوب: القائمة درجًا على الشاشات الصغيرة ── */
.nav-toggle{display:none}
.nav-scrim{position:fixed;inset:0;background:rgba(10,24,21,.5);z-index:7}
@media(max-width:900px){
  .nav-toggle{display:inline-block}
  .nav{position:fixed;inset-block:0;inset-inline-start:0;z-index:8;width:262px;
       transform:translateX(100%);transition:transform .22s ease;height:100vh}
  .nav.open{transform:translateX(0)}
  .bar{padding:9px 14px;gap:10px}
  .bar .logos{padding:5px 9px;gap:9px}
  .bar .logos img[alt="مدارس ابن خلدون"]{height:24px}
  .bar .logos img.mf{height:15px}
  .bar .crumb b{font-size:var(--fs-sm)}
  .bar .crumb span{font-size:var(--fs-xs)}
  .bar .h-btn .lbl{display:none}
  .bar .h-search{order:9;flex-basis:100%;max-width:none;min-width:0}
  .wrap{padding:16px 14px calc(24px + var(--statusH))}
  .rowhead{flex-wrap:wrap}
  .status{font-size:var(--fs-xs);padding:6px 12px}
}
@media(max-width:560px){
  h1{font-size:var(--fs-lg)}
  .card{padding:18px 16px;border-radius:12px}
  .tiles{grid-template-columns:1fr 1fr;gap:11px}
  .tile{padding:15px}
  .tile .n{font-size:var(--fs-2xl)}
  .bar .crumb{border:0;padding:0}
  .kpi{grid-template-columns:1fr 1fr}
  .scale label{padding:8px 12px}
  .f-in{font-size:var(--fs-md)}   /* يمنع تكبير سفاري التلقائي عند التركيز */
  /* صفّان لا ثلاثة: (الشعارات + المسار) ثم (الأزرار + البحث) — يوفّر ~50px من ارتفاع الشاشة */
  .bar{padding:7px 12px;gap:7px}
  /* ⚠️ الاتّكال على التفاف flex التلقائي غير مضمون: ضبطُ الأساس لـ360px
     ردّ 390px إلى ثلاثة صفوف. يُفرَض الفاصل صراحةً فيثبت الصفّان في كل عرض. */
  .bar .crumb{flex:1 1 150px;min-width:0}
  .bar .row-break{flex-basis:100%;height:0;margin:0}
  @media(max-width:380px){
    .bar .logos{padding:4px 7px;gap:7px}
    .bar .logos img[alt="مدارس ابن خلدون"]{height:21px}
    .bar .logos img.mf{height:13px}
  }
  .bar .crumb b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bar .h-btn{padding:7px 10px}
  .bar .h-search{flex:1 1 120px;flex-basis:120px}
}

/* أجهزة اللمس (جوال/آيباد): أي حقل أصغر من 16px يُجبر سفاري على تكبير الصفحة عند التركيز */
@media(pointer:coarse){
  .f-in,input[type=text],input[type=date],input[type=number],input[type=email],
  input[type=tel],textarea,select{font-size:var(--fs-md)}
}

/* شريط المجلد المتصل في شاشة «من أنت؟» — يمنع الكتابة في مجلد مدرسة أخرى */
.connbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;
  padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--brand-soft);font-size:var(--fs-sm);color:var(--ink-2)}
.connbar .cb-ic{font-size:var(--fs-md);line-height:1}
.connbar .cb-t{flex:1;min-width:180px}
.connbar .cb-t b{color:var(--brand);font-weight:700}
.connbar .cb-b{border:1px solid var(--line);background:var(--card);color:var(--ink-2);
  border-radius:var(--r-sm);padding:6px 12px;font:inherit;font-size:var(--fs-sm);cursor:pointer}
.connbar .cb-b:hover{border-color:var(--brand);color:var(--brand)}

/* شريط التراجع عن حذف صف — الحذف كان نهائيًا بلا رجعة */
.undo-bar{display:flex;align-items:center;gap:10px;margin-top:9px;padding:8px 12px;
  border:1px solid var(--gold);border-radius:var(--r-sm);background:#fdf7e8;
  font-size:var(--fs-sm);color:var(--ink-2)}
.undo-bar button{border-color:var(--gold);color:var(--brand);font-weight:700}
.rec-table td.num{text-align:center;color:var(--ink-2);font-variant-numeric:tabular-nums}

/* زرّ طيّ الأعمدة في الجداول العريضة جدًا */
.fold-btn{margin-top:9px;border-color:var(--brand);color:var(--brand);font-weight:700}

/* صفّ الاجتماع الواقع في الأسبوع الجاري */
.rec-table tr.row-now>td{background:var(--gold-soft)}
.rec-table tr.row-now>td:first-child{box-shadow:inset 3px 0 0 var(--gold)}

/* ── اتّزان خلايا الجداول: توسيط رأسي عامّ، وأفقي لما يقصر، وخطّ أصغر
   قليلًا حتى لا تنكسر الكلمة الواحدة. أجهزة اللمس تبقى على 16px لأن
   ما دونها يُجبر سفاري على تكبير الصفحة. ── */
.row-break{display:none}
@media(max-width:900px){.bar .row-break{display:block}}

.rec-table{font-size:var(--fs-sm)}
.rec-table th{line-height:1.4;overflow-wrap:break-word;word-break:normal}
.rec-table td .f-in{text-align:center;overflow-wrap:break-word;word-break:normal}
.rec-table td.t-start,.rec-table td.t-start .f-in{text-align:start}
.rec-table td textarea.f-in{text-align:start;line-height:1.6}
.rec-table td .f-in{font-size:var(--fs-sm);padding:6px 8px;min-height:34px}
.rec-table td .f-in.rich{display:flex;align-items:center;justify-content:center}
.rec-table td.t-start .f-in.rich{justify-content:flex-start;align-items:flex-start}
@media(pointer:coarse){
  .rec-table,.rec-table td .f-in{font-size:var(--fs-md)}
}

/* شواهد الروبرك المتوقّعة تحت كل دلالة تحقّق */
.vevi{margin:0 0 10px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--panel);font-size:var(--fs-sm)}
.vevi>summary{cursor:pointer;padding:7px 11px;color:var(--brand);font-weight:700;list-style:none}
.vevi>summary::-webkit-details-marker{display:none}
.vevi>summary::before{content:"▾ ";opacity:.7}
.vevi[open]>summary{border-bottom:1px solid var(--line)}
.vevi ul{margin:8px 0;padding-inline-start:26px;color:var(--ink-2);line-height:1.75}
.vevi .vsrc{padding:5px 11px 8px;color:var(--ink-2);border-top:1px dashed var(--line)}
.vevi .vsrc b{color:var(--ink)}

/* منع صريح على المتصفّحات التي لا تحفظ — بدل وضع قراءة يوهم المستخدم */
.blockcard{text-align:center;padding:8px 4px}
.blockcard .blockicon{font-size:var(--fs-num);line-height:1;margin-bottom:10px}
.blockcard h2{color:var(--head-ink);font-size:var(--fs-lg);margin:0 0 12px;
  display:block;text-align:center}
.card .blockcard h2::before{content:none}
.blockcard p{color:var(--ink-2);line-height:1.85;max-width:52ch;margin:0 auto 18px}
.blockcard .blockdo{text-align:start;background:var(--brand-soft);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:14px 16px;max-width:52ch;margin:0 auto 18px;font-size:var(--fs-sm)}
.blockcard .blockdo ol{margin:9px 0 0;padding-inline-start:22px;line-height:1.9;color:var(--ink-2)}
.blockcard .blockdo b{color:var(--ink)}

/* اختيار مجلد المدرسة عند الدخول بحساب مايكروسوفت */
.folder-pick{display:grid;gap:7px;margin-top:10px;text-align:start}
.folder-pick button{border:1px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:var(--r-sm);padding:10px 13px;font:inherit;font-size:var(--fs-sm);cursor:pointer;text-align:start}
.folder-pick button:hover{border-color:var(--brand);background:var(--brand-soft)}

/* ضبط Graph — مطويّ عن المستخدم العادي، متاح للمستشار */
.setup-adv{text-align:start;margin-top:6px}
.setup-adv>summary{cursor:pointer;color:var(--ink-2);font-size:var(--fs-sm);padding:6px 0;list-style:none}
.setup-adv>summary::-webkit-details-marker{display:none}
.setup-adv>summary::before{content:"⚙ ";opacity:.7}

/* ── دليل الاستخدام ── */
.way-now{border:1px solid var(--gold);background:#fdf7e8;border-radius:var(--r-sm);
  padding:14px 16px;margin-bottom:18px;font-size:var(--fs-sm);line-height:1.9}
html[data-theme="dark"] .way-now{background:#2a2418;border-color:#5a4a22}
.way-now>b{color:var(--brand);font-size:var(--fs-base);display:block;margin-bottom:6px}
details.way{border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:12px;background:var(--card)}
details.way.live{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
details.way>summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:14px 16px;
  list-style:none;font-size:var(--fs-base)}
details.way>summary::-webkit-details-marker{display:none}
details.way>summary b{flex:1}
details.way .way-ic{font-size:var(--fs-lg);line-height:1}
.way-body{padding:0 16px 16px;border-top:1px solid var(--line)}
.way-meta{font-size:var(--fs-sm);color:var(--ink-2);margin-top:11px}
.way-meta b{color:var(--ink)}
.way-steps{margin:12px 0;padding-inline-start:24px;line-height:2;font-size:var(--fs-sm)}
.way-where{background:var(--brand-soft);border-radius:var(--r-sm);padding:10px 13px;
  margin:12px 0 9px;font-size:var(--fs-sm)}
table.way-files{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-bottom:12px}
table.way-files td{padding:6px 9px;border-bottom:1px solid var(--line);vertical-align:middle}
table.way-files td:first-child{width:34%;color:var(--ink-2)}
table.way-files td.mono{direction:ltr;text-align:right;font-family:ui-monospace,Menlo,monospace;font-size:var(--fs-xs)}
.way-lim{background:#fdf3f1;border:1px solid #e9cdc7;border-radius:var(--r-sm);
  padding:11px 14px;font-size:var(--fs-sm);margin-bottom:14px}
html[data-theme="dark"] .way-lim{background:#2b1a18;border-color:#4a2b26}
.way-lim ul{margin:7px 0 0;padding-inline-start:22px;line-height:1.9;color:var(--ink-2)}

/* شريط وضع الحقيبة — دائم حتى يُرسِل المستخدم ما عبّأ */
/* ⚠️ z-index:9 كان أعلى من درج القائمة (8) والحجاب (7)، فيحجب الشريط
   اللاصق النقر على روابط التنقّل. يبقى فوق المحتوى ودون الدرج. */
.pack-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;
  flex-wrap:wrap;justify-content:space-between;background:#fdf7e8;
  border-bottom:2px solid var(--gold);padding:10px 18px;font-size:var(--fs-sm);color:var(--ink-2)}
html[data-theme="dark"] .pack-bar{background:#2a2418;border-color:#5a4a22}
.pack-bar .pb-t b{color:var(--brand)}
.pack-bar button{padding:7px 14px;font-size:var(--fs-sm)}
.pack-bar button[disabled]{opacity:.45;cursor:not-allowed}
.or-sep{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:var(--fs-sm);margin:16px 0 12px}
.or-sep::before,.or-sep::after{content:"";flex:1;height:1px;background:var(--line)}

/* ── شاشة «من أنت؟» ──
   الشريط الجانبي مخفيّ هنا، فيبقى عمود فارغ في يسار الصفحة بينما ترتفع
   الرسمة داخل الترويسة 178px وتدفع القائمة إلى أسفل الشاشة. تُنقل الرسمة
   إلى الفراغ نفسه: يقصر الطول الرأسي، ويظهر المنسوبون كلهم بلا تصغير. */
/* ⚠️ العتبة كانت 1100px فبقيت الرسمة في الترويسة عند نوافذ أضيق — وأكثر
   المستخدمين لا يملأون الشاشة. تبدأ من 860px، والعمود مرن لا ثابت. */
@media(min-width:860px){
  #screenWho{display:grid;grid-template-columns:minmax(0,1fr) clamp(170px,19vw,290px);
             gap:clamp(14px,2vw,26px);align-items:start}
  #screenWho>.hero{grid-column:1}
  #screenWho>.hero img{display:none}          /* الرسمة انتقلت للعمود */
  #screenWho>h1,#screenWho>.sub,#screenWho>.connbar,#screenWho>ul.people{grid-column:1}
  #whoArt{grid-column:2;grid-row:1 / span 5;position:sticky;top:16px;
          display:flex;flex-direction:column;align-items:center;gap:10px;
          background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
          padding:18px 14px;text-align:center}
  #whoArt img{width:100%;max-width:200px;height:auto;filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}
  #whoArt .wa-t{color:var(--brand);font-weight:700;font-size:var(--fs-sm)}
  #whoArt .wa-s{color:var(--ink-2);font-size:var(--fs-xs);line-height:1.65}
}
@media(max-width:859px){#whoArt{display:none}}
/* ضغط المسافات الرأسية في هذه الشاشة وحدها: 11 منسوبًا بلا تمرير عند 1440×900 */
@media(min-width:860px){
  #screenWho>h1{margin-bottom:5px}
  #screenWho>.sub{margin-bottom:11px}
  #screenWho>.connbar{margin-bottom:11px;padding:8px 13px}
  #screenWho>.hero{margin:-6px 0 14px;min-height:0;padding:15px 24px}
  #screenWho>.hero .hero-t b{font-size:var(--fs-xl)}
  #screenWho>.hero .hero-t .kicker{margin-top:6px}
}
/* ضغط المسافات في هذه الشاشة وحدها ليظهر الجميع بلا تمرير عند 1440×900 */
#screenWho>h1{margin-bottom:6px}
#screenWho>.sub{margin-bottom:12px}
#screenWho>.connbar{margin-bottom:12px}
@media(min-width:1100px){#screenWho>.hero{margin-bottom:16px;min-height:0;padding:16px 24px}
                         #screenWho>.hero .hero-t b{font-size:var(--fs-xl)}}

/* خطّ المنسوبين أصغر قليلًا ليظهروا جميعًا عند تكبير 100% */
ul.people button{padding:11px 15px;gap:9px}
ul.people .who{font-size:var(--fs-sm)}
ul.people .role{font-size:var(--fs-xs)}
ul.people{gap:7px}
/* ⚠️ ثلاثة أعمدة عند 1440 مع عمود الرسمة تكسر الاسم إلى سطرين — العتبة
   تُقاس بما يتبقّى للقائمة لا بعرض الشاشة. */
@media(min-width:1680px){ul.people{grid-template-columns:1fr 1fr 1fr}}
ul.people .who{overflow-wrap:break-word;word-break:normal}

/* حقائب العمل واستلام الإدخالات في شاشة المستودع */
.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.pack-grid button.pk{display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  border:1px solid var(--line);background:var(--panel);border-radius:var(--r-sm);
  padding:10px 13px;font:inherit;cursor:pointer;text-align:start}
.pack-grid button.pk:hover{border-color:var(--brand);background:var(--brand-soft)}
.pack-grid button.pk b{font-size:var(--fs-sm)}
.pack-grid button.pk .muted{font-size:var(--fs-xs)}
ul.imp-list{margin:9px 0 0;padding-inline-start:22px;font-size:var(--fs-xs);color:var(--ink-2);line-height:1.8}
ul.imp-list.bad{color:#a32b22}

/* لافتة الوظائف بلا أسماء + نموذج الاستكمال */
.who-gap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;
  border:1px solid var(--gold);background:#fdf7e8;border-radius:var(--r-sm);
  padding:12px 15px;margin-bottom:12px;font-size:var(--fs-sm);color:var(--ink-2)}
html[data-theme="dark"] .who-gap{background:#2a2418;border-color:#5a4a22}
.who-gap .wg-t b{color:var(--brand)}
.who-gap button{padding:7px 14px;font-size:var(--fs-sm)}
.modal-card.wide{max-width:860px;width:calc(100vw - 40px)}
.setup-rows{margin-top:14px;max-height:52vh;overflow:auto;display:grid;gap:9px}
.setup-row{display:grid;grid-template-columns:170px 1fr 1fr 130px;gap:8px;align-items:center}
.setup-row .sr-role{font-size:var(--fs-sm);color:var(--brand);font-weight:700}
@media(max-width:760px){.setup-row{grid-template-columns:1fr;gap:6px;
  border:1px solid var(--line);border-radius:var(--r-sm);padding:10px}}

/* بيان حجم الشاهد والوفر من ضغطه */
.file-row .file-note{margin-inline-start:auto;margin-inline-end:10px;
  font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}

/* تنويه الأجهزة في صفحة البداية */
.devices{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}
.devices h2{font-size:var(--fs-md);color:var(--ink-2);margin-bottom:14px}
.dev-grid{display:grid;gap:13px}
@media(min-width:760px){.dev-grid{grid-template-columns:1fr 1fr}}
.dev{border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;background:var(--panel)}
.dev.ok{border-color:#8cc0ae;background:var(--brand-soft)}
.dev.no{border-color:#e3bdb6;background:#fdf3f1}
html[data-theme="dark"] .dev.no{background:#2b1a18;border-color:#4a2b26}
.dev-h{font-weight:700;font-size:var(--fs-base);margin-bottom:9px}
.dev.ok .dev-h{color:var(--brand)}
.dev.no .dev-h{color:var(--head-ink)}
.dev ul{margin:0;padding-inline-start:20px;font-size:var(--fs-sm);line-height:1.95}
.dev-s{color:var(--ink-2);font-size:var(--fs-xs)}
.dev-n{margin-top:10px;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.8;
  border-top:1px dashed var(--line);padding-top:9px}
.dev-warn{margin-top:13px;background:var(--gold-soft);border:1px solid var(--gold);
  border-radius:var(--r-sm);padding:11px 14px;font-size:var(--fs-sm);color:var(--ink)}

/* ── بوّابة الدخول ومُختار المدرسة ──────────────────────────────
   ⚠️ الخيارات أزرارٌ لا قوائم منسدلة: المستخدم على الجوّال يرى الأربعة
   دفعةً واحدة ويلمس، والقائمة المنسدلة تُخفي العدد وتحتاج لمستين. */
.gcode { max-width: 460px }
.gcode label { display: block; font-weight: 700; margin-bottom: 8px }
.gcode .f-in { text-align: left; direction: ltr; font-size:var(--fs-md); letter-spacing: 0 }
.gcode .b-main { margin-top: 12px }
.gnote { margin-top: 18px }

.gstep { border-top: 1px solid var(--line); padding: 16px 0 4px }
.gstep:first-child { border-top: 0; padding-top: 4px }
.gs-h { display: flex; align-items: center; gap: 9px; font-weight: 700;
        margin-bottom: 11px; color: var(--ink) }
.gs-n { font-size:var(--fs-lg); line-height: 1 }
.gs-x { margin-inline-start: auto; background: none; border: 0; cursor: pointer;
        color: var(--brand-2); font: inherit; font-size:var(--fs-sm); font-weight: 600;
        text-decoration: underline; padding: 4px 6px }
.gs-opts { display: flex; flex-wrap: wrap; gap: 9px }
.gs-o { display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
        background: var(--card); border: 1.5px solid var(--line); border-radius: 11px;
        padding: 11px 15px; font: inherit; font-weight: 600; color: var(--ink);
        min-height: 44px; transition: border-color .12s, background .12s }
.gs-o:hover { border-color: var(--brand-2) }
.gs-o.sel { border-color: var(--brand); background: var(--brand-soft, #eef4ff); color: var(--brand) }
.gs-c { font-size:var(--fs-xs); font-weight: 700; opacity: .62;
        background: var(--soft, #f1f3f7); border-radius: 20px; padding: 2px 8px }
.gstep.done .gs-opts { display: none }
.gs-v { font-weight: 700; color: var(--brand); background: var(--brand-soft, #eef4ff);
        border-radius: 8px; padding: 3px 10px; font-size:var(--fs-sm) }

.gfound { display: flex; gap: 14px; align-items: flex-start; margin-top: 20px;
          padding: 16px 18px; border: 1.5px solid var(--brand); border-radius: 13px;
          background: var(--brand-soft, #eef4ff) }
.gf-ic { font-size:var(--fs-2xl); line-height: 1 }
.gfound b { display: block; font-size:var(--fs-md); margin-bottom: 5px; color: var(--brand) }
.gfound span { display: block; font-size:var(--fs-sm); line-height: 1.75; opacity: .88 }
.gfound code { display: inline-block; margin-top: 3px; font-size:var(--fs-sm);
               background: var(--card); border: 1px solid var(--line); border-radius: 7px;
               padding: 4px 9px; direction: rtl; unicode-bidi: plaintext }
.gfound + .b-main { margin-top: 14px }

.lnk-b { background: none; border: 0; cursor: pointer; color: var(--brand-2);
         font: inherit; font-size:var(--fs-sm); font-weight: 600; text-decoration: underline; padding: 2px 4px }
#connectSub code { font-size:var(--fs-sm); background: var(--soft, #f1f3f7);
                   border-radius: 6px; padding: 2px 7px; unicode-bidi: plaintext }

@media (max-width: 560px) {
  .gs-opts { gap: 7px }
  .gs-o { padding: 10px 12px; flex: 1 1 42% }
  .gfound { flex-direction: column; gap: 9px }
}

/* ── قائمة الخروج ورابط لوحة الإدارة ───────────────────────────── */
/* ⚠️ **`calc(100% + 8px)` كانَت تَعني «تَحتَ الشَريط» ولا أَبَ مُوضَعٌ لَها.**
   `#exitPop` شَقيقُ الشَريطِ لا ابنُه، فَـ`absolute` بِلا أَبٍ مُوضَعٍ تَرجِعُ
   إلى الكُتلةِ الأولى، و«100%» صارَت ارتِفاعَها كُلَّه: فَتَحَت القائِمةُ عِندَ
   908px في شاشةٍ ارتِفاعُها 900 — **خارِجَ المَرأى**. يَضغَطُ المُستَخدِمُ «خُروج»
   فَلا يَرى شَيئًا ويَقولُ «الزِرُّ لا يَعمَل»، والزِرُّ يَعمَل.
   العِلاجُ `fixed` ومَوضِعٌ يُحسَبُ مِن مُستَطيلِ الزِرِّ عِندَ الفَتح — فَيَصيبُ
   وإِن التَفَّ الشَريطُ إلى سَطرَينِ على الجَوّال. */
.exit-pop{position:fixed;inset-block-start:60px;inset-inline-end:12px;z-index:30;
          background:var(--panel);border:1px solid var(--line);border-radius:13px;
          box-shadow:0 12px 30px #0002;min-width:min(330px,92vw);overflow:hidden}
.exit-pop .ah{padding:12px 15px;border-bottom:1px solid var(--line);font-weight:800;
              background:var(--brand-soft,#e9f3f0);color:var(--brand-ink,#0d443a)}
.exit-pop .ah .sub{display:block;font-weight:500;font-size:var(--fs-xs);opacity:.75;margin-top:2px}
.exit-i{display:block;width:100%;text-align:start;background:none;border:0;cursor:pointer;
        font:inherit;padding:12px 15px;border-bottom:1px solid var(--line);min-height:52px}
.exit-i:last-child{border-bottom:0}
.exit-i:hover{background:var(--brand-soft,#e9f3f0)}
.exit-i b{display:block;font-size:var(--fs-base);color:var(--ink)}
.exit-i span{display:block;font-size:var(--fs-xs);color:var(--ink-2);margin-top:2px;line-height:1.7}

.gate-admin{margin-top:26px;padding-top:16px;border-top:1px dashed var(--line);
            display:flex;flex-direction:column;gap:3px}
.gate-admin a{font-weight:700;color:var(--brand-2);text-decoration:none;font-size:var(--fs-base);
              display:inline-block;padding:6px 0;min-height:38px}
.gate-admin a:hover{text-decoration:underline}
.gate-admin span{font-size:var(--fs-sm);color:var(--ink-2)}

/* زرّ «عرض الباقي» في الجرس — تمييزه عن التنبيهات كي لا يُقرأ تنبيهًا */
.alert-more{display:block;width:100%;text-align:center;background:var(--brand-soft,#e9f3f0);
  border:0;border-top:1px solid var(--line);cursor:pointer;font:inherit;font-size:var(--fs-sm);
  font-weight:700;color:var(--brand);padding:12px;min-height:46px}
.alert-more:hover{background:var(--line)}

/* ── شاشة خطط مدرستي ──────────────────────────────────────────── */
.plans-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid var(--line);margin-bottom:12px}
.plans-tab{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;
  padding:10px 15px;font:inherit;font-weight:700;color:var(--ink-2);cursor:pointer;min-height:44px}
.plans-tab.on{color:var(--brand);border-bottom-color:var(--brand)}
.plans-tab .n{background:var(--brand-soft,#e9f3f0);border-radius:20px;padding:1px 8px;font-size:var(--fs-xs);margin-inline-start:6px}
.plan-group{border:1px solid var(--line);border-radius:11px;margin-bottom:10px;background:var(--panel)}
.plan-group>summary{cursor:pointer;padding:11px 14px;font-weight:700;min-height:44px;display:flex;
  align-items:center;gap:9px;list-style:none}
.plan-group>summary::-webkit-details-marker{display:none}
.plan-group>summary::before{content:"▸";transition:transform .15s;display:inline-block}
.plan-group[open]>summary::before{transform:rotate(-90deg)}
.plan-bar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.tbl-wrap{overflow-x:auto;padding:0 10px 10px}
table.plan-t{font-size:var(--fs-sm);table-layout:fixed;width:100%}
table.plan-t td,table.plan-t th{vertical-align:middle;overflow-wrap:break-word}
.p-cell{min-height:22px;outline:0}
.p-cell:focus{background:var(--brand-soft,#e9f3f0);border-radius:5px;box-shadow:0 0 0 2px var(--brand)}
/* ⚠️ مبادرات «تميز معارف» صفٌّ مستقلّ أضافه المستشار — يُميَّز ولا يُخلط */
tr.exc-row>td:first-child,tr.exc-row>td:nth-child(2){border-inline-start:3px solid var(--gold,#b8860b)}
tr.exc-row{background:#fffaf0}
.load-more-row{display:flex;gap:10px;align-items:center;padding:0 14px 12px}
.swot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:13px}
.swot-box{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel)}
.swot-box h3{margin:0 0 9px;font-size:var(--fs-base);display:flex;align-items:center;gap:8px}
.swot-box ul{margin:0;padding-inline-start:18px}
.swot-box li{font-size:var(--fs-sm);line-height:1.85;margin-bottom:5px}
.swot-box.s-strength{border-top:3px solid #1d7a52}
.swot-box.s-weakness{border-top:3px solid #a32b22}
.swot-box.s-opportunity{border-top:3px solid #12508a}
.swot-box.s-threat{border-top:3px solid #a97c1f}
@media(max-width:640px){table.plan-t{font-size:var(--fs-xs)}.tbl-wrap{padding:0 6px 8px}}

/* شريط نطاق السجلات — «مخفيّ» يجب أن يُقال صراحةً ولا يُفهَم حذفًا */
.rec-scope{margin:0 0 12px;font-size:var(--fs-sm);line-height:1.85}
.rec-scope:empty{display:none}

/* جرد الشواهد الدوري لمنسق الجودة */
.gap-note{background:#fdf3e0;border:1px solid #e8d5a3;border-radius:11px;padding:12px 15px;
  margin:0 0 12px;font-size:var(--fs-sm);line-height:1.9;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ok-note{background:#e6f5ee;border:1px solid #b7ddc9;border-radius:11px;padding:11px 15px;
  margin:0 0 12px;font-size:var(--fs-sm);color:#1d7a52}

/* ── مجموعات المدارس في لوحة الإدارة ── */
.adm-group{border:1px solid var(--line);border-radius:13px;margin-bottom:11px;background:var(--panel);overflow:hidden}
.adm-group>summary{cursor:pointer;padding:13px 16px;font-weight:700;min-height:48px;display:flex;
  align-items:center;gap:10px;flex-wrap:wrap;list-style:none;background:var(--brand-soft,#e9f3f0)}
.adm-group>summary::-webkit-details-marker{display:none}
.adm-group>summary::before{content:"▸";transition:transform .15s;display:inline-block;color:var(--brand)}
.adm-group[open]>summary::before{transform:rotate(-90deg)}
.adm-group .g-name{font-size:var(--fs-base);color:var(--brand-ink,#0d443a)}
.adm-group .g-n{font-size:var(--fs-sm);font-weight:600;opacity:.72}
.g-chip{font-size:var(--fs-xs);font-weight:700;border-radius:20px;padding:2px 9px;white-space:nowrap}
.g-chip.ok{background:#e6f5ee;color:#1d7a52}
.g-chip.bad{background:#fdecec;color:#a32b22}
.g-chip.warn{background:#fdf3e0;color:#a97c1f}
.g-chip.gray{background:var(--soft,#eef1f3);color:var(--ink-2)}
.adm-group .tbl-wrap{overflow-x:auto}
.adm-group table.adm-t{border:0;border-radius:0}
@media print{.adm-group>summary::before{display:none}.adm-group{break-inside:avoid}}

/* ═══════════ HeroUI-COMPONENTS: تَشريحُ مُكَوِّناتِ HeroUI v3 ═══════════
   مَنقولٌ عَن `packages/styles/components/*.css` (Apache-2.0): المَقاساتُ
   والانتِقالاتُ والحالاتُ وحَلقةُ التَركيزِ كَما هيَ، مُطَبَّقةً على أَصنافِ
   القِشرةِ القائِمةِ لا على أَصنافٍ جَديدة — فَلا تُلمَسُ صَفحةُ HTML واحِدة.
   ⚠️ يُوضَعُ **آخِرَ المِلَفّ**: التَخصيصُ نَفسُهُ، فَالمُتَأَخِّرُ يَغلِب. ولا
      يُرفَعُ تَخصيصُهُ بِـ`!important` — قاعِدةٌ قاهِرةٌ تُعمي مَن يُصلِحُ بَعدَنا. */

/* ── الزِرّ: `.button` عِندَ HeroUI ── */
button,.b-main,.b-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--spacing) * 2);
  min-height:40px;padding-inline:calc(var(--spacing) * 4);
  border-radius:var(--radius-3xl);          /* rounded-3xl — كَبسولةُ HeroUI */
  font-size:var(--fs-base);font-weight:500;white-space:nowrap;
  border:0 solid transparent;cursor:var(--cursor-interactive);
  transition:transform 250ms cubic-bezier(.4,0,.2,1),
             background-color 100ms cubic-bezier(0,0,.2,1),
             box-shadow 100ms cubic-bezier(0,0,.2,1);
}
button:active,.b-main:active,.b-ghost:active{transform:scale(.97)}
button:disabled,button[aria-disabled="true"]{
  opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);transform:none}
/* حَلقةُ التَركيزِ بِإِزاحة — `status-focused` عِندَ HeroUI */
button:focus-visible,.f-in:focus-visible,a:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--focus);outline-offset:var(--ring-offset-width)}
.b-main{background:var(--accent);color:var(--accent-foreground)}
.b-main:hover{background:var(--accent-hover)}
/* المُفَرَّغُ = `button--outline` عِندَ HeroUI: خَلفيةٌ شَفّافةٌ وحَدٌّ.
   ⚠️ **ولَونُهُ `currentColor` لا `--accent`.** ثَبَّتُّهُ على الأَخضَرِ فَاختَفى
      في الشَريطِ العُلويِّ الداكِنِ (`--brand-ink`) عِندَ **1.44:1** — أَخضَرُ على
      أَخضَر. والشَريطُ يُعَرِّفُ `color:#eaf5f1` بِالفِعل، فَالوِراثةُ تُصَحِّحُ
      نَفسَها في كُلِّ سِياق: فاتِحٌ على الداكِنِ وداكِنٌ على الفاتِح. وهذا نَصُّ
      HeroUI نَفسِه (`--button-fg: var(--default-foreground)`).
   ⚠️ والحَدُّ كَذلِك: `--border` فاتِحٌ يَختَفي على السَطحِ الفاتِح. */
.b-ghost{background:transparent;color:currentColor;
         border:var(--border-width) solid color-mix(in srgb,currentColor 32%,transparent)}
.b-ghost:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.b-sm{min-height:32px;padding-inline:calc(var(--spacing) * 3);font-size:var(--fs-sm)}
.b-sm:active{transform:scale(.98)}
@media(min-width:768px){button,.b-main,.b-ghost{min-height:36px}.b-sm{min-height:32px}}

/* ── الحَقل: `--field-*` عِندَ HeroUI — بِلا حَدٍّ وبِظِلٍّ خَفيفٍ ونِصفِ قُطرٍ أَوسَع ── */
.f-in{
  border:var(--field-border-width) solid var(--field-border);
  border-radius:var(--field-radius);
  background:var(--field-background);color:var(--field-foreground);
  box-shadow:var(--field-shadow);
  transition:background-color 100ms cubic-bezier(0,0,.2,1),box-shadow 100ms cubic-bezier(0,0,.2,1);
}
.f-in::placeholder{color:var(--field-placeholder)}
.f-in:hover:not(:focus){background:var(--field-hover)}
.f-in:focus{outline:2px solid var(--focus);outline-offset:0;background:var(--field-focus)}
.f-in:disabled{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled)}

/* ── البِطاقةُ والنافِذة: نِصفُ قُطرِ HeroUI وظِلالُه ── */
.card,.tile,.modal-card{border-radius:min(32px,var(--radius-3xl))}
.card,.tile{box-shadow:var(--surface-shadow);background:var(--surface)}
.modal{background:var(--backdrop)}
.modal-card{box-shadow:var(--overlay-shadow);background:var(--overlay)}

/* ── الشارات: صيغةُ `soft` عِندَ HeroUI — خَلفيةٌ شَفّافةٌ ونَصٌّ مُغمَّق ── */
.g-chip{border-radius:var(--radius-3xl);padding:2px 10px}
.g-chip.ok{background:var(--success-soft);color:var(--success-soft-foreground)}
.g-chip.bad{background:var(--danger-soft);color:var(--danger-soft-foreground)}
.g-chip.warn{background:var(--warning-soft);color:var(--warning-soft-foreground)}
.g-chip.gray{background:var(--default-soft);color:var(--muted)}

/* ── الفَواصِل ── */
hr,.sep{border-color:var(--separator)}
/* ═══════════ /HeroUI-COMPONENTS ═══════════ */
