/* ==========================================================================
   lux.css — طبقة الفخامة. تُحمَّل بعد style.css وتعلوه، ولا تلمس HTML.

   الأساس مقاربة «البازلت والذهب المطعَّم»: كل سطح لوحُ حجر يلتقط الضوء على
   حافته العليا ويسقط في الظل عند أسفله، والذهب لا يُرشّ للدفء بل يُطعَّم حيث
   يوجد بناء. وطُعِّم عليها من المقاربة التحريرية انضباطُ التسلسل الطباعي:
   الأرقام تكبر والعناوين تهدأ ويجرّ العنوانُ خيطًا ذهبيًا إلى حافة المحتوى.

   ما استُبعد عمدًا: حبيبة الصفحة القوية من المقاربة الزخرفية — كانت تُرى
   واعيةً فتقرأ تشويشًا لا خامة.
   ========================================================================== */

:root{
  /* رمادي النصوص الصغيرة الأصلي يعطي 4.37:1 فوق أعلى نقطة في تدرّج البطاقة
     الجديد — دون عتبة 4.5. لا نُعيد تعريف الرمز الأصلي لأن غيرنا يعتمد عليه. */
  --muted-2:#B3A188;

  /* أُعيدت معايرتها على سلّم الأسطح الموسَّع: أعلى اللوح يساوي الدرجة
     الثانية من السلّم، وأسفله يهبط تحت الدرجة الأولى — فيُقرأ اللوح
     مضاءً من أعلاه ساقطًا في الظل من أسفله، وهي زاوية الإضاءة نفسها في
     الواجهة كلّها. */
  --slab-hi:#282119;      /* أعلى اللوح — حيث يقع الضوء */
  --slab-mid:#201A14;
  --slab-lo:#171310;      /* أسفله — حيث يسقط في الظل */
  --rail-hi:#16120E;
  --rail-lo:#0D0B08;

  /* الضوء والظل معرَّفان مرة واحدة كي تبقى زاوية الإضاءة واحدة في الواجهة كلها.
     اختلاف زاوية الضوء بين لوح وآخر هو ما يجعل الواجهات تبدو مركَّبة من قطع. */
  --edge-light:rgba(255,255,255,.055);
  --hair-gold:rgba(201,162,39,.28);
  --lift:0 1px 2px rgba(0,0,0,.55), 0 10px 24px -10px rgba(0,0,0,.55),
         0 30px 62px -30px rgba(0,0,0,.68);

  --t:140ms cubic-bezier(.4,0,.2,1);   /* فوق 250ms تُقرأ الواجهة بطيئة */
}

/* ===== ١) الأرضية ===== */
/* بركة ضوء واحدة أعلى الصفحة تمنح العمق. حبيبة الخامة تُركت للمشهد في لوح
   الدخول وحده: على شاشة المحتوى تُقرأ تشويشًا لأن النصّ فوقها كثيف. */
body{
  background-color:var(--bg);
  background-image:radial-gradient(1200px 560px at 50% -14%, rgba(201,162,39,.055), transparent 68%);
  background-repeat:no-repeat;
  background-attachment:fixed;
}

/* ===== ٢) الشريط الجانبي — حجر أعمق، وخيط ذهبي عند الالتحام ===== */
.rail{
  background-image:linear-gradient(180deg,var(--rail-hi) 0%, var(--rail-lo) 62%, #0D0B09 100%);
  /* الحدّ الأصلي خط رمادي على حافة الشاشة لا يؤدّي عملًا — يُخفى ويبقى مقاسه
     كي لا يزحف العمود بمقدار بكسل. */
  border-inline-start-color:transparent;
}
/* خيط الذهب عند خط التقاء الحجرين — العمل البنيوي الوحيد المطلوب من حدّ هنا.
   متدرّج لا مصمت: الضوء يدخل من أعلى الصفحة فيشتدّ هناك ويتلاشى نزولًا؛
   الخيط المصمت يقرأ «حدًّا» لا «إضاءة». */
.rail::after{
  content:""; position:absolute; inset-block:0; inset-inline-end:0; width:1px;
  background:linear-gradient(180deg,
    rgba(201,162,39,.62) 0%, rgba(201,162,39,.26) 22%,
    rgba(201,162,39,.07) 55%, transparent 88%);
  pointer-events:none;
}
/* وسام هندسي ثماني — الأثر النبطي الذي يجعل الواجهة تنتمي لهذه الهيئة لا لأي
   لوحة داكنة. عند 3.6٪ هو أثر إزميل في الحجر لا زخرفة. متماثل شعاعيًا فلا
   يتأثر بانعكاس الاتجاه، ومُتوسَّط بـ inset-inline لا بـ transform. */
.rail::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  inset-inline:0; margin-inline:auto; top:150px; width:220px; height:220px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23C9A227' stroke-width='1.6'%3E%3Ccircle cx='120' cy='120' r='113' opacity='.3'/%3E%3Ccircle cx='120' cy='120' r='105' opacity='.16'/%3E%3Crect x='48' y='48' width='144' height='144' opacity='.55'/%3E%3Cpath d='M120 18.2 L221.8 120 L120 221.8 L18.2 120 Z' opacity='.55'/%3E%3Ccircle cx='120' cy='120' r='52' opacity='.34'/%3E%3Crect x='89.8' y='89.8' width='60.4' height='60.4' opacity='.7'/%3E%3Cpath d='M120 77.3 L162.7 120 L120 162.7 L77.3 120 Z' opacity='.7'/%3E%3C/g%3E%3Ccircle cx='120' cy='120' r='3.4' fill='%23C9A227' opacity='.55'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.036;
}
.rail > *{position:relative; z-index:1}   /* النصّ فوق الوسام */

.brand{margin-bottom:24px}
.brand p{color:var(--muted-2); font-size:10.5px; letter-spacing:.06em; margin-top:1px}

/* العنصر الفعّال ليس صفًّا مظلَّلًا بل لوحًا رُفع قليلًا وطُعِّم بالذهب على حافته
   الأمامية. الحدّ الرمادي المحيط هو أقوى إشارة «قالب إداري جاهز» في الواجهة. */
.nav a{
  position:relative; padding-inline-start:15px; border-radius:10px;
  transition:background-color var(--t), color var(--t), box-shadow var(--t);
}
.nav a:hover{background:rgba(255,255,255,.035); color:var(--ink)}
.nav a.on{
  border-color:transparent; color:var(--gold-soft); font-weight:600;
  background-image:
    linear-gradient(180deg, var(--edge-light) 0 1px, transparent 1px),
    linear-gradient(180deg,#2C2519 0%, #201A13 100%);
  box-shadow:0 1px 2px rgba(0,0,0,.5), 0 7px 16px -8px rgba(0,0,0,.7);
}
/* التطعيم: شريحة ذهب على الحافة الأمامية بتوهّج خفيف تقرأ معدنًا مغروسًا في
   الحجر لا خطًّا مرسومًا فوقه. نصف القطر منطقي لا فيزيائي — الاختصار يُدوّر
   الزوايا الخارجية عند انعكاس الاتجاه. */
.nav a.on::before{
  content:""; position:absolute; inset-inline-start:0; inset-block:7px; width:2.5px;
  border-start-start-radius:0; border-end-start-radius:0;
  border-start-end-radius:2px; border-end-end-radius:2px;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold) 55%, var(--gold-dim));
  box-shadow:0 0 10px rgba(201,162,39,.45);
}
.nav .sep{
  color:var(--muted-2); font-size:9.5px; letter-spacing:.14em;
  margin:18px 0 8px; padding-bottom:7px; padding-inline-start:15px;
  border-bottom:1px solid rgba(201,162,39,.10);
}
.me{
  border-color:transparent;
  background-image:
    linear-gradient(180deg, var(--edge-light) 0 1px, transparent 1px),
    linear-gradient(180deg,#221C16,#191410);
  box-shadow:0 1px 2px rgba(0,0,0,.5), 0 10px 24px -12px rgba(0,0,0,.6);
}

/* ===== ٣) الألواح — سطح مضاء لا مستطيل ممتلئ ===== */
/* الحدّ الرمادي الموحّد حول كل شيء هو ما يجعل الواجهة تُقرأ قالبًا جاهزًا.
   يحلّ محلّه: تدرّج ثلاثي + خيط ضوء على الحافة العليا + ظلّان بمدَيين. */
.card{
  border-color:transparent;
  background-image:
    linear-gradient(180deg, var(--edge-light) 0 1px, transparent 1px),
    linear-gradient(180deg, var(--slab-hi) 0%, var(--slab-mid) 58%, var(--slab-lo) 100%);
  box-shadow:var(--lift);
}
/* اللوح الرئيس يحمل خيطًا ذهبيًا على حافته العليا — إشارة واحدة تقول
   «هذا هو الأهمّ» بلا حاجة إلى إطار أو لون إضافي. */
.hero{position:relative; overflow:hidden}
.hero::before{
  content:""; position:absolute; inset-inline:0; top:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-dim) 18%,
                             var(--gold) 50%, var(--gold-dim) 82%, transparent);
  opacity:.85; pointer-events:none;
}

/* ===== ٤) التسلسل الطباعي — الحجم يحمل الترتيب، لا اللون ===== */
/* العنوان يجرّ خيطًا ذهبيًا من آخر حرف إلى حافة المحتوى. flex بلا اتجاه
   فيزيائي، فالاتجاه سليم بالبناء لا بالتصحيح. */
.head h2{
  display:flex; align-items:center; gap:18px;
  font-size:26px; font-weight:620; letter-spacing:0;
}
.head h2::after{
  content:""; flex:1 1 auto; height:1px; min-width:24px; background:var(--hair-gold);
}
.head p{color:var(--muted-2); letter-spacing:.02em}

.card h3{
  display:flex; align-items:center; gap:16px;
  font-size:11.5px; font-weight:700; letter-spacing:.13em;
}
.card h3::after{content:""; flex:1 1 auto; height:1px; background:var(--hair-gold)}

/* الأرقام أعلى صوت على الشاشة، والعناوين أهدأ. tabular-nums كي تصطفّ الأعمدة،
   وتصفير التضييق لأن الأرقام العربية-الهندية (٠١٢) تتلاصق حين تُضيَّق. */
.tile .v{
  font-size:42px; font-weight:400; letter-spacing:0; line-height:1.05;
  font-variant-numeric:tabular-nums; color:var(--ink);
}
.tile .k{
  font-size:10px; font-weight:600; letter-spacing:.15em; color:var(--muted-2);
}
.tile .s{color:var(--muted-2)}

/* ===== ٥) الجداول — خطوط شعرية لا شبكة ===== */
th{
  background:linear-gradient(180deg,#221C15,#1B1611);
  color:var(--muted-2); font-size:10.5px; letter-spacing:.1em; font-weight:600;
  border-bottom:1px solid rgba(201,162,39,.16);
}
td{border-bottom:1px solid rgba(61,52,39,.5)}
tbody tr{transition:background-color var(--t)}
tbody tr:hover{background:rgba(201,162,39,.045)}

/* ===== ٦) الأزرار والمرشّحات ===== */
.seg{
  border-color:transparent;
  background-image:linear-gradient(180deg,#211B15,#171310);
  box-shadow:inset 0 1px 0 var(--edge-light), 0 1px 2px rgba(0,0,0,.4);
}
.seg button{transition:background-color var(--t), color var(--t)}
.seg button.on{
  background-image:linear-gradient(180deg,var(--gold-soft),var(--gold) 60%);
  color:#17120B; font-weight:650;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 1px 3px rgba(0,0,0,.5);
}
.btn{transition:filter var(--t), background-color var(--t), border-color var(--t)}
.btn:not(.ghost){box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 2px 6px rgba(0,0,0,.45)}

/* ===== ٧) التنبيه — لوح محفور لا صندوق ملوَّن ===== */
.alert{
  border-color:transparent;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.04) 0 1px, transparent 1px),
    linear-gradient(180deg,#2A1B17,#1E1310);
  box-shadow:0 1px 2px rgba(0,0,0,.5), 0 12px 28px -14px rgba(0,0,0,.6);
  position:relative; overflow:hidden;
}
.alert::before{
  content:""; position:absolute; inset-block:0; inset-inline-start:0; width:2.5px;
  background:linear-gradient(180deg,#D9736B,#B4534E);
}

/* ===== ٨) التقرير التنفيذي — وثيقة تُقرأ من أعلى إلى أسفل، لا لوحة تُمسح ===== */
/* اللوحة تُقرأ بالمسح الأفقي فتحتمل عرض الشاشة كلّه؛ الوثيقة تُقرأ سطرًا سطرًا
   فيُقيَّد عرضها. فوق ١١٥٠px يبدأ سطر النثر يفلت من العين بين نهايته وبداية
   التالي، ولذلك هذا السقف لا سقف الشاشة. */
#v-report{max-width:1120px; margin-inline:auto}
#v-report > * + *{margin-top:14px}

/* العنوان أكبر قليلًا من عنوان بطاقة اللوحة: هنا هو مَفصِل تنقّل في وثيقة
   طويلة لا لافتة فوق رسم واحد. الخيط الذهبي يأتي من .card h3::after ولا يُعاد.
   وgap هنا لا في قاعدة .rep-h: محدِّق lux هو `.card h3` بوزن (0,1,1)،
   و`.rep-h` وحده (0,1,0) — فكان يخسر وتبقى الفجوة ١٦px أبدًا. */
#v-report .card h3{font-size:12.5px; gap:11px}
.rep-no{
  flex:0 0 auto; display:inline-grid; place-items:center;
  min-width:22px; height:22px; padding-inline:5px; border-radius:6px;
  background-image:
    linear-gradient(180deg, var(--edge-light) 0 1px, transparent 1px),
    linear-gradient(180deg,#2C2519 0%, #201A13 100%);
  color:var(--gold-soft); font-size:11px; font-weight:700;
  /* تصفير التضييق واجب: .card h3 يفرض .13em وهو يدفع الرقم عن مركز مربّعه */
  letter-spacing:0; font-variant-numeric:tabular-nums;
}
.rep-no-float{position:absolute; top:16px; inset-inline-start:18px}

/* ----- ترويسة القسم ----- */
.rep-bar{display:flex; align-items:center; justify-content:space-between;
         gap:16px; flex-wrap:wrap; margin-bottom:14px}
.rep-bar-id{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap}
/* --gold-dim فوق أرضية الصفحة يعطي 4.20:1 — دون عتبة 4.5 لنصّ ١٠px.
   --gold يعطي 8.04:1 ويبقى ذهبًا. */
.rep-kicker{font-size:10px; font-weight:700; letter-spacing:.2em; color:var(--gold)}
.rep-bar-period{font-size:12.5px; color:var(--muted-2)}
.rep-bar-out{display:flex; gap:8px}
.rep-bar-out .btn.sm{width:auto}

/* ----- ١) الغلاف ----- */
/* الخيط الذهبي على الحافة العليا هو ما يقول «هذه أول صفحة الوثيقة» بلا كلمة.
   نفس إشارة .hero على اللوحة، فتقرأ العين الاثنين من عائلة واحدة. */
.rep-cover{padding:30px 26px 24px}
.rep-cover::before{
  content:""; position:absolute; inset-inline:0; top:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-dim) 18%,
                             var(--gold) 50%, var(--gold-dim) 82%, transparent);
  opacity:.85; pointer-events:none;
}
.rep-cover-brand{display:flex; align-items:center; gap:14px; margin-bottom:22px}
.rep-cover-brand .mark{width:52px; height:52px; flex:0 0 52px; object-fit:contain}
.rep-org{font-size:15px; font-weight:600; color:var(--ink)}
.rep-org-sub{font-size:11.5px; color:var(--muted-2); margin-top:2px}
.rep-title{margin:0; font-size:29px; font-weight:620; line-height:1.4; color:var(--ink)}
.rep-title-sub{margin:6px 0 22px; font-size:13.5px; color:var(--ink-2)}
.rep-cover-foot{margin-top:18px; font-size:11.5px; color:var(--muted-2);
                display:flex; gap:8px; flex-wrap:wrap}
.rep-cover-foot .sep-dot{color:var(--gold-dim)}

/* شبكة البيانات: الفاصل خيط شعري واحد بين الخانات لا إطار حول كلٍّ منها.
   يُبنى بفجوة ١px تكشف أرضية الحاوية — أرخص من أربعة حدود وأدقّ التقاءً. */
.rep-meta{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--line-soft);
  border:1px solid var(--line-soft); border-radius:12px; overflow:hidden;
}
@media(max-width:900px){.rep-meta{grid-template-columns:repeat(2,1fr)}}
.rep-meta-c{background:var(--slab-mid); padding:13px 15px}
.rep-meta-c .k{display:block; font-size:9.5px; font-weight:600;
               letter-spacing:.15em; color:var(--muted-2)}
.rep-meta-c .v{display:block; margin-top:5px; font-size:13px; color:var(--ink);
               line-height:1.55}

/* ----- ٢) البيان التنفيذي ----- */
/* أكبر خطّ في الوثيقة كلّها بعد رقم الغلاف: هو الجزء الذي يُقرأ ولو لم يُقرأ
   غيره. ٧٢ محرفًا سقفٌ للسطر لأن ما زاد يُفقد العين موضع السطر التالي. */
.rep-prose{
  margin-top:12px; max-width:72ch;
  font-size:16.5px; line-height:2.05; color:var(--ink);
}
.rep-prose p{margin:0 0 12px}
.rep-prose p:last-child{margin-bottom:0}
.rep-prose b{color:var(--gold-soft); font-weight:650; font-variant-numeric:tabular-nums}

/* ----- ٣) بطاقات المقارنة ----- */
.rep-kpi{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:12px}
@media(max-width:1180px){.rep-kpi{grid-template-columns:repeat(2,1fr)}}
.rep-kpi-c{
  padding:15px 16px; border-radius:12px;
  background-image:
    linear-gradient(180deg, var(--edge-light) 0 1px, transparent 1px),
    linear-gradient(180deg,var(--surface-2) 0%, var(--surface) 100%);
  box-shadow:0 1px 2px rgba(0,0,0,.4);
}
.rep-kpi-c .k{font-size:9.5px; font-weight:600; letter-spacing:.15em; color:var(--muted-2)}
.rep-kpi-c .v{margin-top:7px; font-size:33px; font-weight:400; line-height:1.05;
              color:var(--ink); font-variant-numeric:tabular-nums}
.rep-kpi-c .p{margin-top:6px; font-size:11.5px; color:var(--muted-2);
              font-variant-numeric:tabular-nums}
/* الاتّجاه واللون مفصولان عمدًا: السهم يقول «ارتفع»، واللون يقول «هذا حسن أم
   سيّئ»، وهما لا يتطابقان — وسبعةٌ من عشرة مؤشّرات لا حكم لاتجاهها أصلًا
   فتأخذ flat لونًا محايدًا مع بقاء سهمها.
   اللونان ليسا --ok/--bad: #B4534E فوق اللوح يعطي 3.48:1 لنصّ 12.5px.
   وهما نفس لونَي الرسالة المعتمدين في style.css (.ok-msg و.err). */
.rep-d{display:inline-flex; align-items:center; gap:5px; margin-top:8px;
       font-size:12.5px; font-weight:650; font-variant-numeric:tabular-nums}
.rep-d::before{font-size:9px; line-height:1}
.rep-d[data-dir="up"]::before{content:"▲"}
.rep-d[data-dir="down"]::before{content:"▼"}
.rep-d[data-dir="flat"]::before{content:"—"}
.rep-d.good{color:#8FCB9F}
.rep-d.bad{color:#EDA79D}
.rep-d.flat{color:var(--muted-2)}

/* ----- ٤) شارات العمر ----- */
/* style.css فيه p-ok وp-wait ولا شارة حمراء — تُضاف هنا لأن العمر يحتاج
   ثلاث درجات لا اثنتين. العتبات نفسها ليست هنا: يقرّرها المُحتسِب. */
.pill.p-bad{background:#33201E; color:#EDA79D}
.rep-legend{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:11px;
            font-size:11.5px; color:var(--muted-2)}
/* الابن المباشر وحده: بلا `>` يبتلع المحدِّقُ الشارةَ داخله فيقلب
   .pill من inline-block إلى inline-flex. */
.rep-legend > span{display:inline-flex; align-items:center; gap:6px}
.rep-foot-note{margin:12px 0 0}
/* .scroll في style.css مبنيّة على أنها آخر ما في البطاقة (margin-bottom:-16px
   يبتلع حشوها السفلى). هنا يليها سطر الحاشية فيُسحب فوق الجدول ١٦px. */
.rep-sec .scroll{margin-bottom:0}

/* ----- ٥) شارات التشخيص ----- */
/* النظامي ذهبي لأنه يستدعي قرارًا على النموذج، والفردي رمادي لأنه يستدعي
   تدريبًا لا قرارًا — واللون وحده يفرز الجدول قبل قراءة كلمة.
   والحالتان الأخريان (mixed وinsufficient) تأخذان p-wait وp-unk الموجودتين. */
.pill.p-sys{background:#2A2318; color:var(--gold-soft)}
.pill.p-ind{background:#242018; color:var(--muted-2)}

/* ----- الرسم إلى جوار جدوله ----- */
/* الرسم يُري الشكل والجدول يُري الرقم، وفصلُهما في بطاقتين يجبر العين على
   القفز بينهما. النسبة تعطي الرسم فسحةً أوسع قليلًا لأن أسماء المراقبين طويلة. */
.rep-split{display:grid; grid-template-columns:1.05fr 1fr; gap:20px;
           align-items:start; margin-top:4px}
@media(max-width:1180px){.rep-split{grid-template-columns:1fr}}
/* الحدّ الأدنى التلقائي لعنصر الشبكة هو مقاس محتواه، وSVG له مقاس أصيل من
   viewBox — فبلا هذا السطر يستطيع الرسم أن يدفع عموده فوق حصّته. */
.rep-split > *{min-width:0}
.rep-split-t{overflow-x:auto}
.rep-split-t table{min-width:340px}
/* رأس الجدول لاصق داخل .scroll فقط؛ هنا لا حاوية تمرير رأسية فيُلغى اللصوق
   كي لا يطفو الرأس فوق نصّ الصفحة عند التمرير. */
.rep-split-t th{position:static}

/* ----- ٨) بنود القرار ----- */
/* شريحة الذهب على الحافة الأمامية: نفس تطعيم .nav a.on — الإشارة الواحدة
   تعني في الواجهة كلّها «هذا هو المطلوب منك الآن». */
.rep-dec{
  position:relative; overflow:hidden; margin-top:11px;
  padding:15px 17px; border-radius:12px;
  background-image:
    linear-gradient(180deg, var(--edge-light) 0 1px, transparent 1px),
    linear-gradient(180deg,var(--surface-2) 0%, var(--surface) 100%);
  box-shadow:0 1px 2px rgba(0,0,0,.4);
}
.rep-dec::before{
  content:""; position:absolute; inset-block:0; inset-inline-start:0; width:2.5px;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold) 55%, var(--gold-dim));
}
.rep-dec .t{font-size:14.5px; font-weight:650; color:var(--ink); line-height:1.6}
.rep-dec .why{margin-top:5px; font-size:12.5px; color:var(--ink-2); line-height:1.85}
.rep-dec-meta{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
  margin-top:12px; padding-top:11px; border-top:1px solid var(--line-soft);
}
@media(max-width:900px){.rep-dec-meta{grid-template-columns:1fr}}
.rep-dec-meta .k{display:block; font-size:9.5px; font-weight:600;
                 letter-spacing:.14em; color:var(--muted-2)}
.rep-dec-meta .v{display:block; margin-top:4px; font-size:12.5px; color:var(--ink);
                 line-height:1.6; font-variant-numeric:tabular-nums}

/* ----- ٩) قائمة التعريفات وحدود القياس ----- */
/* عمودان بخيط شعري بينهما صفًّا صفًّا: الاسم يمينًا بعرض ثابت فتصطفّ الشروح
   على حافة واحدة، وهو ما يجعل القائمة تُمسح بالعين بدل أن تُقرأ. */
.rep-def{margin:12px 0 0; display:grid; grid-template-columns:210px 1fr}
@media(max-width:900px){.rep-def{grid-template-columns:1fr}}
.rep-def dt{
  padding:11px 0; font-size:12px; font-weight:650; color:var(--gold-soft);
  border-top:1px solid var(--line-soft); line-height:1.7;
}
.rep-def dd{
  margin:0; padding:11px 0; padding-inline-start:20px;
  font-size:12.5px; color:var(--ink-2); line-height:1.85;
  border-top:1px solid var(--line-soft);
}
@media(max-width:900px){
  .rep-def dd{padding-top:0; padding-inline-start:0; border-top:0}
}
.rep-def dt:first-of-type, .rep-def dd:first-of-type{border-top:0}
/* الصيغة وحقل المصدر نصّان لاتينيان داخل فقرة عربية. direction وحده لا يكفي
   لعنصر سطريّ: بلا unicode-bidi:isolate تنقلب الأقواس وعلامات الاقتباس
   ويُقرأ التعريف معكوسًا — وهو تعريف رقم، فانقلابه كذبٌ لا تشويه. */
.rep-f{
  display:block; margin-top:6px; padding:7px 9px; overflow-x:auto;
  direction:ltr; unicode-bidi:isolate; text-align:left;
  font-family:Consolas,"Courier New",monospace; font-size:11.5px;
  color:var(--ink-2); background:var(--slab-lo);
  border:1px solid var(--line-soft); border-radius:8px;
}
.rep-x{display:block; margin-top:6px; font-size:11.5px; color:var(--muted-2)}
/* حدود القياس ليست تعريفات فلا تدخل قائمة التعريفات: بندٌ نثري لكل حدّ،
   ونقطته ذهبية لأنها شرط قراءة لا زخرفة. */
.rep-limits{margin:16px 0 0; padding:0; list-style:none;
            display:grid; gap:8px; font-size:12.5px; color:var(--ink-2); line-height:1.8}
.rep-limits li{position:relative; padding-inline-start:16px}
.rep-limits li::before{content:"—"; position:absolute; inset-inline-start:0;
                       color:var(--gold-dim)}
/* .note-box يرث color:var(--muted) من gate.css، وهو 4.37:1 فوق اللوح —
   وهي بعينها النسبة التي عرَّف lux.css الرمز --muted-2 للنجاة منها. */
#rep-omitted{color:var(--muted-2)}

/* ----- ١٠) التوزيع ----- */
.rep-dist{margin-top:14px; font-size:12.5px; color:var(--ink-2); line-height:1.9}
.rep-dist b{color:var(--gold-soft); font-weight:600}

/* ----- الطباعة: احترامُ عقد print.css لا استبدالُه ----- */
/* print.css يملك الطباعة كاملةً ويقلب الرموز إلى حبر على ورق. هذه أربع قواعد
   لا غير: كلٌّ منها يعالج عنصرًا أنشأناه نحن ولا يعرفه ذلك الملف. */
@media print{
  /* print.css يعطي كل .card حدًّا ذهبيًّا علويًّا؛ فخيطنا الثاني تكرار —
     وهو نفسه ما ألغاه ذلك الملف على .hero للسبب نفسه. */
  .rep-cover::before{display:none}
  /* الرقاقة مبنيّة بلونين ثابتين قرب الأسود، ولا يقلبهما تبديلُ الرموز؛
     ونصّها --gold-soft ينقلب برونزًا داكنًا — داكنٌ على داكن. */
  .rep-no{background-image:none; border:.5pt solid var(--gold); color:var(--ink)}
  .rep-kpi-c, .rep-dec{box-shadow:none}
  /* لونان فاتحان صُمّما فوق الحجر؛ على الورق الأبيض يختفيان. نفس معالجة
     print.css لـ p-ok وp-wait. الوزن مطابق للقاعدة أعلاه فيحسمه الترتيب. */
  .pill.p-bad{color:var(--bad)}
  .rep-d.good{color:var(--ok)}
  .rep-d.bad{color:var(--bad)}
  /* overflow:auto يَقُصّ في الطباعة بدل أن يُمرّر — لا شريط تمرير على ورق. */
  .rep-split-t{overflow:visible}
}



/* ══════════════════════════════════════════════════════════════════════════
   ٣) app.js — سطران لا ثالث لهما، وبدونهما القطعة ميتة
   لم يكتبهما المُسلِّم اعتبارًا لحدّ الاختصاص، لكن القسم بدونهما لا يُفتح
   أبدًا ولا يحمل عنوانًا حين يُفتح. أُضيفا هنا لأن «قطعةٌ لا تعمل» عيبٌ لا حدّ.
   ══════════════════════════════════════════════════════════════════════════ */

/* (١) في كائن TITLES — وإلا فرغ #page-title عند فتح القسم:
       $('page-title').textContent = TITLES[v] || '';                        */
//  device: 'ربط الإضافة'
//  ↓ يصير
//  device: 'ربط الإضافة', report: 'التقرير التنفيذي'

/* (٢) في enterApp، بجوار كشف nav-team — وإلا بقي الرابط hidden أبدًا
       فلا يستطيع أحد بلوغ القسم، إذ لا شيء غير هذا السطر يرفع عنه الإخفاء: */
//  $('nav-team').hidden  = !team;
//  ↓ يُضاف تحته
//  $('nav-report').hidden = !team;

/* ===== ٩) الوصول: ما يُقرأ ولا يُرى ===== */
/* عنوان الجدول ضروري لقارئ الشاشة وللجدول المطبوع الذي ينقسم على صفحتين،
   لكنه يزاحم التصميم على الشاشة. فيُخفى بصريًا لا دلاليًا: clip-path تُبقيه
   في شجرة الوصول، بخلاف display:none الذي يمحوه من قارئ الشاشة أيضًا. */
/* كل عنوان جدول يُخفى بصريًا على الشاشة: العنوان مكرَّر هناك في ترويسة
   القسم، فإظهاره ضجيج. وعلى الورق يظهر لأن الصفحة الثانية من جدول منقسم
   تبدأ بأرقام بلا هوية. */
.sr-only,
table caption{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}

/* حالة التركيز تُرى دائمًا — التنقّل بلوحة المفاتيح شرط قبول لا تحسين.
   :focus-visible وحدها كي لا تظهر حلقة عند الضغط بالفأرة. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
  border-radius:6px;
}

/* من عطّل الحركة في نظامه لا تُفرض عليه */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }
}


/* ===== ١٠) تباين ومؤشّرات — عتبات لا أذواق ===== */
/* ‎--muted‎ (#8E7F68) فوق أعلى تدرّج البطاقة يعطي 4.37:1 — دون 4.5 المطلوبة
   للنصّ العادي. نُفتح درجةً في المواضع التي يظهر فيها نصًّا لا زخرفة. */
/* التلميحات كانت ٤٫٣٧:١ فوق أعلى اللوح. رُفعت إلى درجة --muted المصحَّحة
   نفسها، فلم يعد الرمزان يفترقان في القيمة ويبقى كلٌّ في موضعه. */
:root{ --hint-2:#AD9A7D; }
.card .hint, .hint, .rep-foot-note, .th-sub{ color:var(--hint-2); }
input::placeholder{ color:#8B7E6A; }

/* حلقة التركيز لا تُلغى ولا تُقصّ. .seg{overflow:hidden} كانت تبتلعها،
   وoutline:none في حقول البحث والبوابة كانت تحذفها أصلًا. */
.seg{ overflow:visible; }
.logbar input[type=search]:focus,
.gate input:focus,
.card input:focus, .card select:focus{
  outline:2px solid var(--gold);
  outline-offset:2px;
}
/* الصفّ بلا إجراء: الشفافية كانت تهبط باللون دون 3:1 */
tr.noact td{ opacity:1; }
tr.noact .noact-tag{ color:var(--hint-2); }


/* ===== ١١) القسم ٩: تعريفات نثرية ===== */
/* لم يعد فيه شيفرة، فلا حاجة إلى عزل اتجاهي ولا إلى إطار برمجي. التعريف
   جملةٌ تُقرأ، والاستثناء جملةٌ تليها بلونٍ يميّزها — لأن القارئ يسأل عمّا
   لم يدخل في الرقم قبل أن يسأل عمّا دخل. */
.rep-def dd > *{ display:block; }

.rep-def dd .def{
  color:var(--ink-2); line-height:1.9; font-size:12px;
}
.rep-def dd .src{
  font-size:11.5px; color:var(--muted-2); line-height:1.85; margin-top:5px;
}
.rep-def dd .src b{
  color:var(--warn); font-weight:600; margin-inline-end:6px;
}
.rep-def dt{ color:var(--gold-soft); }

/* ===== ١٢) أعراف الوثيقة الرسمية ===== */
/* درجة التداول تُقرأ من الورقة نفسها لا من سياق إرسالها. إطار لا تعبئة:
   على الورق الأبيض تبقى مقروءة بلا حبر مهدور. */
.rep-class{
  display:inline-block; margin-inline-start:auto;
  font-size:10px; letter-spacing:.08em; color:var(--gold-soft);
  border:1px solid var(--gold-dim); border-radius:4px; padding:2px 9px;
}
/* التذييل المتكرّر لا مكان له على الشاشة — العنوان حاضر دائمًا هناك */
.print-only{ display:none; }


/* ===== ١٣) نسبة العمل ===== */
/* حاضرةٌ حيث يُبحث عنها — تذييل البوابة، وأسفل بطاقة المستخدم، وحقلٌ في
   توثيق الوثيقة — وخافتةٌ حيث لا يُبحث. في تسليمٍ حكومي تُذكر النسبة ولا
   تُعلَن، فحجمها أصغر من ختم الإصدار ولونها لون النصّ الهادئ نفسه. */
.credit, .credit-line{
  display:block; margin-top:4px;
  font-size:10px; letter-spacing:.03em; color:var(--muted);
}
.credit-line{ text-align:center; }
