/* ============================================================================
   احترام تفضيل "تقليل الحركة" - قاعدة شاملة وأخيرة
   ============================================================================
   ليه ملف لوحده؟
   كانت فيه قواعد prefers-reduced-motion متفرّقة فى design-system.css و style.css
   و nav_launcher.css، لكن الملفات اللى بتتحمّل بعديهم (mega_menu / audit_drawer /
   module_reports / الـ<style> جوّه القوالب) كانت لسه بتعيد تفعيل الحركة بـ!important
   وتكسب بترتيب التحميل. الملف ده بيتحمّل آخر واحد، فهو الكلمة الأخيرة.

   وكمان بيغطّي حاجتين كانوا ناقصين فى القواعد القديمة:
     1) animation-iteration-count: تصفير المدة لوحده مابيوقّفش الحركة اللانهائية،
        بتفضل تلفّ بلا نهاية وتاكل من البطارية والمعالج.
     2) scroll-behavior: التمرير الناعم بيسبب دوار لبعض المستخدمين.

   بنستخدم .01ms مش 0 عن قصد: كده الـtransitionend/animationend events
   بتشتغل عادي، فالجافاسكريبت اللى مستنيها مايتعلّقش.
   ============================================================================ */
/* ليه `:not(#_)` مكرّرة تلاتة؟
   ترتيب التحميل لوحده مكانش كافى. لما قاعدتين الاتنين فيهم !important، المتصفح
   بيحكم بينهم بالـspecificity الأول مش بالترتيب. فقاعدة زى
   `.hover-item{transition:.15s!important}` (وزنها 0,1,0) كانت بتكسب قاعدتنا
   `*{...!important}` (وزنها 0,0,0) مهما حمّلناها بعديها - وده اللى القياس
   أثبته: 126 عنصر فضل بيتحرّك رغم القاعدة.
   `:not(#_)` بتدّي وزن الـid من غير ما تستثني أى عنصر فعلًا (مافيش عنصر
   id="_")، فبتبقى نفس `*` بالظبط فى اللى بتطوله، لكن بوزن 3,0,0 يكسب أى
   قاعدة مكتوبة بكلاسات. ده الأسلوب المتعارف عليه لقاعدة "آخر كلمة". */
@media (prefers-reduced-motion:reduce){
  *:not(#_):not(#_):not(#_),
  *:not(#_):not(#_):not(#_)::before,
  *:not(#_):not(#_):not(#_)::after{
    animation-duration:.01ms!important;
    animation-delay:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    transition-delay:.01ms!important;
    scroll-behavior:auto!important;
  }
  html,body{scroll-behavior:auto!important;}
  /* التحويلات اللى بتتحرك مع الهوفر: بنلغيها خالص مش بنسرّعها */
  .btn:hover,.card-panel:hover,.kpi-card:hover,.an-card:hover,
  .shx-c:hover,.ah-tab:hover,.hover-item:hover{transform:none!important;}
}
