@font-face {
    font-family: 'Cairo';
    src: url('/fonts/Cairo-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }
  
  .font-cairo {
    font-family: 'Cairo', sans-serif;
  }
  
  
  body {
    /* background-color: #eceef1 !important; */
    font-family: 'Cairo', sans-serif;
    
  }


/* ---------------------------------------------------------------------------
 * ترشيح طرود الشحنة حسب تبويب وضع الإدخال (صفحة إنشاء الشحنة وحدها).
 *
 * data-active-mode يضعه غلاف Alpine حول التبويبات والمكرّر في CreateShipment،
 * وdata-entry-mode يضعه غلاف كل صف. الترشيح بالأنماط لا بالسكربت عمداً: زرّ
 * الإضافة ينتهي بـ partiallyRender، وأي سكربت يمشي على DOM كان سيلزمه أن
 * يُعاد تشغيله بعد كل morph من Livewire — أما القاعدة هنا فتُطبَّق تلقائياً.
 *
 * السمة غائبة = لا ترشيح: هذا هو حال مسار الملصق الجاهز (لا تبويبات هناك)
 * وحال تبويب «لاحقاً». الصفوف تبقى كلها في حالة Livewire في كل الأحوال، فلا
 * يسقط شيء عند الحفظ.
 *
 * fi-fo-repeater-item هو الاسم الوحيد من Filament الذي تعتمد عليه هذه الميزة.
 * ------------------------------------------------------------------------- */
[data-active-mode="1"] .fi-fo-repeater-item:has([data-entry-mode="2"]),
[data-active-mode="1"] .fi-fo-repeater-item:has([data-entry-mode="3"]),
[data-active-mode="2"] .fi-fo-repeater-item:has([data-entry-mode="1"]),
[data-active-mode="2"] .fi-fo-repeater-item:has([data-entry-mode="3"]),
[data-active-mode="3"] .fi-fo-repeater-item:has([data-entry-mode="1"]),
[data-active-mode="3"] .fi-fo-repeater-item:has([data-entry-mode="2"]) { display: none; }

/* الأزواج معدودة صراحةً، والاختصار التالي **خاطئ**:
 *
 *   [data-active-mode="1"] .fi-fo-repeater-item:not(:has([data-entry-mode="1"]))
 *
 * مكرّر الصور داخل كل طرد يحمل fi-fo-repeater-item أيضاً ولا يحمل أي علامة
 * وضع، فالصيغة السالبة تخفي صفوف الصور كلها. الموجبة وحدها آمنة. */
