/* ============================================================
   F-MAIL · Icons — Material Symbols Rounded
   ------------------------------------------------------------
   التصميم الجديد ماشي على Material Symbols Rounded، بس المشروع
   كله (والـPHP كمان، شوف Providers.php) بيبعت أسماء أيقونات
   Phosphor بصيغة ph-xxx. بدل ما نلاحق ٩٩ اسم بـ ١٤ ملف — ومنهن
   أسماء جايي من السيرفر ما منقدر نغيّرها من الواجهة — منخلّي
   كل كلاس ph-* يرسم رمز Material المقابل.

   الحيلة: Material Symbols بيدعم الـligatures، يعني نص "delete"
   بينرسم كأيقونة سلّة. فـ content بتاخد اسم الرمز نص عادي.

   ⚠️ عم نضيف أيقونة جديدة؟ إذا بالماركب الجديد، استعمل
      <span class="ms">اسم_الرمز</span> ومش لازم تلمس هالملف.
      ph-* موجودة للتوافق مع الماركب القديم وردود السيرفر وبس.
   ============================================================ */

/* ============================================================
   0) الخط — مستضاف محلياً
   ------------------------------------------------------------
   ⚠️ كان بينحمّل من fonts.googleapis.com، وهاد وقع بالإنتاج:
   السيرفر ما وصل لجوجل، الخط ما نزل، وكل أيقونة انطبعت كنص
   ("search"، "tune"، "keyboard_arrow_down") لأنه الرموز
   ligatures — يعني الواجهة كلها تفشخت.

   هلق الملف محلي متل Phosphor بالضبط، فما في أي طلب لمستضيف
   خارجي وقت فتح الصفحة، وما في شي يوقعه.

   الملف subset فيه الـ102 أيقونة المستعملة وبس (37KB بدل
   1.4MB للخط الكامل). مجلوب من:
     https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded
       :opsz,wght,FILL,GRAD@20..48,400,0..1,0&icon_names=<القائمة>

   ⚠️ بدك تضيف أيقونة جديدة مش موجودة تحت؟ ما بتكفي تكتب اسمها —
      لازم تعيد توليد الخط مع الاسم الجديد بـicon_names وإلا
      بتطلع فاضية (أو كنص لو الخط كلّه وقع).
   ============================================================ */
@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 400;
  /* الرقم جوّا الاسم مش ?v= — الوسطاء بيتجاهلوا سلسلة الاستعلام.
     الملف الحقيقي اسمه MaterialSymbolsRounded.woff2 و.htaccess
     بيفكّ الرقم (شوف كتلة "فكّ ترقيم الملفات" هناك).
     ⚠️ نفس رقم النشر يلي بالصفحات — إذا غيّرت واحد غيّر التاني. */
  src: url("../fonts/MaterialSymbolsRounded.202609162341.woff2") format("woff2");
  /* block مش swap: بنصف ثانية الأولى منفضّل ما ينعرض شي على
     إنه تنعرض أسامي الرموز نص. الخط محلي فالانتظار شبه صفر. */
  font-display: block;
}

/* ============================================================
   1) القاعدة المشتركة
   ============================================================ */
.ms,
.ph-duotone {
  /* !important لأنه في إضافات متصفح بتفرض خط على كل الصفحة */
  font-family: 'Material Symbols Rounded' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  flex: none;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  user-select: none;

  /* حزام أمان: الرمز عرضه 1em بالضبط، فلو وقع الخط لأي سبب
     بينقص النص المتساقط لمربّع الأيقونة بدل ما يمدّ ويكسّر
     الصفوف والشريط العلوي. */
  inline-size: 1em;
  block-size: 1em;
  overflow: hidden;
}

/* الرمز الممتلئ — للنجمة المفعّلة ومربّع الاختيار المؤشّر */
.ms.is-fill,
.ph-duotone.is-fill { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }

.ms--24 { font-size: 24px; }
.ms--20 { font-size: 20px; }

/* ============================================================
   2) خريطة أسماء Phosphor القديمة → رموز Material
   ------------------------------------------------------------
   مرتّبة أبجدياً متل ما كانت. الاسم يلي بعد content هو ligature
   من Material Symbols، مش كود hex.
   ============================================================ */
.ph-duotone.ph-address-book::before { content: "contacts"; }
.ph-duotone.ph-airplane-takeoff::before { content: "flight_takeoff"; }
.ph-duotone.ph-archive::before { content: "archive"; }
.ph-duotone.ph-archive-box::before { content: "inventory_2"; }
.ph-duotone.ph-arrow-bend-double-up-left::before { content: "reply_all"; }
.ph-duotone.ph-arrow-bend-up-left::before { content: "reply"; }
.ph-duotone.ph-arrow-bend-up-right::before { content: "forward"; }
.ph-duotone.ph-arrow-clockwise::before { content: "refresh"; }
.ph-duotone.ph-arrow-left::before { content: "arrow_back"; }
.ph-duotone.ph-arrow-right::before { content: "arrow_forward"; }
.ph-duotone.ph-arrows-clockwise::before { content: "refresh"; }
.ph-duotone.ph-bell::before { content: "notifications"; }
.ph-duotone.ph-bookmark-simple::before { content: "label_important"; }
.ph-duotone.ph-buildings::before { content: "apartment"; }
.ph-duotone.ph-calendar-blank::before { content: "calendar_today"; }
.ph-duotone.ph-calendar-check::before { content: "event_available"; }
.ph-duotone.ph-calendar-dots::before { content: "calendar_month"; }
.ph-duotone.ph-calendar-plus::before { content: "event"; }
.ph-duotone.ph-caret-down::before { content: "keyboard_arrow_down"; }
.ph-duotone.ph-caret-left::before { content: "chevron_left"; }
.ph-duotone.ph-caret-right::before { content: "chevron_right"; }
.ph-duotone.ph-chats-circle::before { content: "forum"; }

/* ---------- انضافوا مع دفعة ٢٠٢٦-٠٩-١٥/١٦ ----------
   ⚠️ كل رمز هون **موجود بالـsubset أصلاً** — انتقى من الرموز
   يلي بتستعملها الشاشات القديمة. اسم رمز مش بالـsubset بيطلع
   فاضي، وهي بالضبط العلّة يلي هالكتلة بتصلّحها. */
.ph-duotone.ph-chat-circle-text::before { content: "forum"; }
.ph-duotone.ph-list-checks::before      { content: "event_available"; }
.ph-duotone.ph-tray-arrow-down::before  { content: "cloud_upload"; }
.ph-duotone.ph-file-csv::before         { content: "description"; }
.ph-duotone.ph-columns::before          { content: "table_chart"; }
.ph-duotone.ph-folder-plus::before      { content: "add_circle"; }
.ph-duotone.ph-folder-minus::before     { content: "cancel"; }
.ph-duotone.ph-dots-three::before       { content: "more_vert"; }
.ph-duotone.ph-square::before           { content: "check_box_outline_blank"; }
.ph-duotone.ph-check-square::before     { content: "check_box"; }
/* التسليم: صحّ وحدة = راحت للمشغّل، ودايرة فيها صحّ = وصلت */
.ph-duotone.ph-checks::before           { content: "check_circle"; }
.ph-duotone.ph-bell-ringing::before     { content: "notifications"; }
/* ⚠️ مستعملة من قبل الدفعة (تراجع الإرسال بـcompose.js) وما
   كانت مربوطة — يعني شعار التراجع كان بيطلع فاضي من يومها. */
.ph-duotone.ph-arrow-counter-clockwise::before { content: "refresh"; }
/* ونفس الشي بـ reset.html: "كل الأجهزة بتطلع" كانت بلا أيقونة */
.ph-duotone.ph-devices::before { content: "logout"; }
.ph-duotone.ph-check::before { content: "check"; }
.ph-duotone.ph-check-circle::before { content: "check_circle"; }
.ph-duotone.ph-circle-notch::before { content: "progress_activity"; }
.ph-duotone.ph-clock::before { content: "schedule"; }
.ph-duotone.ph-clock-countdown::before { content: "snooze"; }
.ph-duotone.ph-cloud::before { content: "cloud"; }
.ph-duotone.ph-cloud-arrow-up::before { content: "cloud_upload"; }
.ph-duotone.ph-copy::before { content: "content_copy"; }
.ph-duotone.ph-database::before { content: "database"; }
.ph-duotone.ph-dots-three-vertical::before { content: "more_vert"; }
.ph-duotone.ph-envelope::before { content: "mail"; }
.ph-duotone.ph-envelope-open::before { content: "drafts"; }
.ph-duotone.ph-envelope-simple::before { content: "mail"; }
.ph-duotone.ph-eraser::before { content: "format_clear"; }
.ph-duotone.ph-eye::before { content: "visibility"; }
.ph-duotone.ph-eye-slash::before { content: "visibility_off"; }
.ph-duotone.ph-file-code::before { content: "code"; }
.ph-duotone.ph-file-dashed::before { content: "draft"; }
.ph-duotone.ph-file-doc::before { content: "description"; }
.ph-duotone.ph-file-pdf::before { content: "picture_as_pdf"; }
.ph-duotone.ph-file-text::before { content: "description"; }
.ph-duotone.ph-file-xls::before { content: "table_chart"; }
.ph-duotone.ph-file-zip::before { content: "folder_zip"; }
.ph-duotone.ph-floppy-disk::before { content: "save"; }
.ph-duotone.ph-funnel::before { content: "filter_alt"; }
.ph-duotone.ph-gear-six::before { content: "settings"; }
.ph-duotone.ph-globe-hemisphere-west::before { content: "public"; }
.ph-duotone.ph-hard-drives::before { content: "storage"; }
.ph-duotone.ph-image::before { content: "image"; }
.ph-duotone.ph-info::before { content: "info"; }
.ph-duotone.ph-key::before { content: "key"; }
.ph-duotone.ph-keyboard::before { content: "keyboard"; }
.ph-duotone.ph-lightning::before { content: "bolt"; }
.ph-duotone.ph-link::before { content: "link"; }
.ph-duotone.ph-list::before { content: "menu"; }
.ph-duotone.ph-list-bullets::before { content: "format_list_bulleted"; }
.ph-duotone.ph-list-numbers::before { content: "format_list_numbered"; }
.ph-duotone.ph-lock-key::before { content: "lock"; }
.ph-duotone.ph-magnifying-glass::before { content: "search"; }
.ph-duotone.ph-paint-brush::before { content: "palette"; }
.ph-duotone.ph-paper-plane-tilt::before { content: "send"; }
.ph-duotone.ph-paperclip::before { content: "attach_file"; }
.ph-duotone.ph-pencil-simple::before { content: "edit"; }
.ph-duotone.ph-pencil-simple-line::before { content: "edit"; }
.ph-duotone.ph-plugs::before { content: "power_off"; }
.ph-duotone.ph-plugs-connected::before { content: "power"; }
.ph-duotone.ph-plus::before { content: "add"; }
.ph-duotone.ph-plus-circle::before { content: "add_circle"; }
.ph-duotone.ph-printer::before { content: "print"; }
.ph-duotone.ph-quotes::before { content: "format_quote"; }
.ph-duotone.ph-share-network::before { content: "share"; }
.ph-duotone.ph-shield-check::before { content: "verified_user"; }
.ph-duotone.ph-shield-warning::before { content: "gpp_maybe"; }
.ph-duotone.ph-sign-in::before { content: "login"; }
.ph-duotone.ph-sign-out::before { content: "logout"; }
.ph-duotone.ph-signature::before { content: "draw"; }
.ph-duotone.ph-sliders::before { content: "tune"; }
.ph-duotone.ph-sliders-horizontal::before { content: "tune"; }
.ph-duotone.ph-stack::before { content: "layers"; }
.ph-duotone.ph-star::before { content: "star"; }
.ph-duotone.ph-sun-horizon::before { content: "wb_twilight"; }
.ph-duotone.ph-tag::before { content: "label"; }
.ph-duotone.ph-text-b::before { content: "format_bold"; }
.ph-duotone.ph-text-italic::before { content: "format_italic"; }
.ph-duotone.ph-text-strikethrough::before { content: "format_strikethrough"; }
.ph-duotone.ph-text-underline::before { content: "format_underlined"; }
.ph-duotone.ph-trash::before { content: "delete"; }
.ph-duotone.ph-tray::before { content: "inbox"; }
.ph-duotone.ph-umbrella::before { content: "beach_access"; }
.ph-duotone.ph-user::before { content: "person"; }
.ph-duotone.ph-user-circle::before { content: "account_circle"; }
.ph-duotone.ph-user-plus::before { content: "person_add"; }
.ph-duotone.ph-users-three::before { content: "group"; }
.ph-duotone.ph-warning::before { content: "warning"; }
.ph-duotone.ph-warning-circle::before { content: "error"; }
.ph-duotone.ph-warning-octagon::before { content: "report"; }
.ph-duotone.ph-x::before { content: "close"; }
.ph-duotone.ph-x-circle::before { content: "cancel"; }

/* ---------- الاتجاهية بالعربي ----------
   السهم "رجوع" لازم يشاور عاليمين لما الواجهة معكوسة. الرموز
   inline-block فالـtransform بيشتغل عليها. */
[dir="rtl"] .ph-duotone.ph-arrow-left,
[dir="rtl"] .ph-duotone.ph-arrow-right,
[dir="rtl"] .ph-duotone.ph-arrow-bend-up-left,
[dir="rtl"] .ph-duotone.ph-arrow-bend-up-right,
[dir="rtl"] .ph-duotone.ph-arrow-bend-double-up-left,
[dir="rtl"] .ph-duotone.ph-caret-left,
[dir="rtl"] .ph-duotone.ph-caret-right,
[dir="rtl"] .ph-duotone.ph-sign-in,
[dir="rtl"] .ph-duotone.ph-sign-out,
[dir="rtl"] [data-page] .ms { transform: scaleX(-1); }

/* ---------- شعارات المزوّدين ----------
   ⚠️ ما منستعمل شعار Google ولا Microsoft بهالتصميم — لا كصورة
   ولا كأيقونة. رمز محايد بيدلّ على "حساب بريد خارجي" وبس. */
.ph-duotone.ph-google-logo::before { content: "alternate_email"; }
.ph-duotone.ph-microsoft-outlook-logo::before { content: "alternate_email"; }
