:root {
  --forest-green: #054239;
  --wheat-gold: #988561;
  --charcoal-black: #1d1d1b;
  --light-bg: #f8f9fa;
  --top-bar-color: #b9a779;
  --logo-bg-color: #DCFFF8;
}

/* إعدادات الوضع الليلي */

[data-bs-theme="dark"] {
  --forest-green: #428177; --logo-bg-color: #00604D;

  /* أخضر أفتح قليلاً ليتناسب مع الخلفية الداكنة */
  --wheat-gold: #b9a779;

  /* ذهبي أكثر إشراقاً */
  --charcoal-black: #e0e0e0;

  /* نصوص فاتحة */
  --light-bg: #121212;

  /* خلفية داكنة جداً */
  --bs-body-bg: #121212; --bs-body-color: #e0e0e0; --bs-light-rgb: 33, 37, 41;

  /* يجعل bg-light تظهر بلون داكن تلقائياً */

  .btn-success {
    --bs-btn-bg: #19875482;
  }

  .border-primary {
    border-color: rgb(66 129 119) !important; --bs-border-opacity: 1;
  }

  .bg-success {
    background-color: #3b6e3bab !important;
  }
  --bs-secondary-color: #adb5bd; --bs-emphasis-color: #ffffff; --top-bar-color: #988561;

  .bg-warning {
    border: .1px solid #ffd70057; background-color: rgba(255, 193, 7, 0.22) !important;
  }

  .btn-outline-dark {
    --bs-btn-color: #a0b4c9; --bs-btn-border-color: #a3b6c9; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #9db1c6; --bs-btn-hover-border-color: #8ba1b6; --bs-btn-focus-shadow-rgb: 33, 37, 41; --bs-btn-active-color: #fff; --bs-btn-active-bg: #9eb3c9; --bs-btn-active-border-color: #99abbe; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); --bs-btn-disabled-color: #7c8a99; --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #8493a2; --bs-gradient: none;
  }

  .btn-warning {
    --bs-btn-color: #ffffff; --bs-btn-bg: #ffc10747; --bs-btn-border-color: #ffc10769; --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #c4a139ba;
  }

  .bg-secondary,
  .btn-secondary,
  .bg-warning,
  .btn-warning,
  .bg-success,
  .btn-success,
  .bg-danger,
  .btn-danger {
    --bs-bg-opacity: .5;
  }

  .table-secondary {
    border-color: var(--bs-table-border-color); color: var(--bs-table-color); --bs-table-color: #ffffff75; --bs-table-bg: #212529; --bs-table-border-color: #cbccce47; --bs-table-striped-bg: #212529; --bs-table-striped-color: #ffffff75; --bs-table-active-bg: #212529; --bs-table-active-color: #ffffff75; --bs-table-hover-bg: #212529; --bs-table-hover-color: #ffffff75;
  }

  .bg-primary {
    background-color: #4281777d !important;
  }
}

body {
  font-family: "Tajawal", sans-serif; color: var(--charcoal-black); background-color: var(--light-bg); transition: background-color 0.3s ease,
    color 0.3s ease;
}

.bg-primary,
.btn-primary {
  border-color: var(--forest-green) !important; color: #ffffff !important; background-color: var(--forest-green) !important;
}

.text-primary {
  color: var(--forest-green) !important;
}

.text-light {
  color: var(--light-bg) !important;
}

.text-dark {
  color: var(--charcoal-black) !important;
}

.text-always-dark {
  color: #1d1d1b !important;
}

.btn-primary:hover {
  border-color: #00403a !important; background-color: #00403a !important;
}

.bg-dark,
.btn-dark {
  border-color: var(--charcoal-black) !important; color: var(--light-bg) !important; background-color: var(--charcoal-black) !important;
}

.top-bar {
  width: 100%; height: 5px; background-color: var(--top-bar-color);
}

.navbar-brand {
  font-weight: 700; letter-spacing: 0.5px;
}

.table-dark {
  background-color: var(--charcoal-black) !important;
}

.bg-success {
  background-color: #3b6e3b !important;
}

.bg-info {
  background-color: #5a6b8a !important;
}

.border-success {
  border-color: #3b6e3b !important;
}

.border-danger {
  border-color: #9e1b32 !important;
}

/* تنسيق زر التبديل بين الوضعين */

.theme-toggle {
  padding: 5px 10px; border: 1px solid var(--wheat-gold); border-radius: 8px; color: var(--wheat-gold); background: transparent; transition: all 0.3s; cursor: pointer;
}

.theme-toggle:hover {
  color: var(--charcoal-black); background: var(--wheat-gold);
}

/* خلفية الأرقام الثنائية */
/* خلفية الأرقام الثنائية (تأثير ماتريكس عمودي) */

.binary-bg {
  position: fixed; top: 0; left: 0; z-index: -1; overflow: hidden; width: 100%; height: 100%; pointer-events: none;

  /* توزيع الأرقام في أعمدة عمودية */
  display: flex; flex-direction: column; flex-wrap: wrap; gap: 20px; padding: 20px;

  /* التلاشي من الأعلى (واضح) إلى الأسفل (يتلاشى) */
  -webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 70%); mask-image: linear-gradient(to bottom, black 0%, transparent 70%);
}

.binary-bg span {
  font-family: "Consolas", monospace; font-size: 50px; font-weight: bold; color: var(--forest-green); opacity: 0.04; text-shadow: 0 0 8px rgba(0, 38, 35, 0.3); transition: opacity 0.3s ease;
}

/* تعديل الألوان في الوضع الليلي */

[data-bs-theme="dark"] .binary-bg span {
  color: var(--wheat-gold); opacity: 0.04;

  /* أرقام مضيئة أكثر في الليل */
  text-shadow: 0 0 10px rgba(194, 171, 120, 0.4);
}

/* منع سحب أو نسخ الشعار */

img[src*="icon-"] {
  pointer-events: none; -webkit-user-drag: none;
}

/* ================= تنسيقات القائمة المنسدلة (Choices.js) ================= */
/* 1. إخفاء السهم الافتراضي تماماً مهما كان مكانه */

.choices[data-type*="select-one"]::after,
.choices[data-type*="select-one"] .choices__inner::after {
  content: none !important; display: none !important; background-image: none !important;
}

/* 2. رسم سهم مخصص (ذهبي) على الجهة اليسرى */

.choices[data-type*="select-one"] .choices__inner {
  padding-right: 1rem !important; padding-left: 2.5rem !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23988561' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-position: left 1rem center; background-size: 1rem; background-repeat: no-repeat;
}

/* 3. ربط متغيرات المكتبة بـ data-bs-theme (لتعمل مع زر التبديل لدينا) */

:root {
  --choices-primary-color: #002623;
  --choices-bg-color: #ffffff;
  --choices-bg-color-dropdown: #ffffff;
  --choices-text-color: #1D1D1B;
  --choices-keyline-color: #dee2e6;
  --choices-highlighted-color: #508c87;
}

[data-bs-theme="dark"] {
  --choices-primary-color: #004d44; --choices-bg-color: #1e1e1e; --choices-bg-color-dropdown: #1e1e1e; --choices-text-color: #e0e0e0; --choices-keyline-color: #2c2c2c; --choices-highlighted-color: #004d44;
}

/* 4. تطبيق المتغيرات على عناصر القائمة */

.choices__inner {
  border-color: var(--choices-keyline-color) !important; border-radius: 8px !important; color: var(--choices-text-color) !important; background-color: var(--choices-bg-color) !important;
}

.choices__input {
  color: var(--choices-text-color) !important; background-color: transparent !important;
}

.choices__list--dropdown {
  z-index: 1050 !important; border-color: var(--choices-keyline-color) !important; color: var(--choices-text-color) !important; background-color: var(--choices-bg-color-dropdown) !important;
}

.choices__item--choice {
  border-bottom: 1px solid var(--choices-keyline-color) !important; color: var(--choices-text-color) !important;
}

.choices__item--choice.is-highlighted {
  color: #ffffff !important; background-color: var(--choices-highlighted-color) !important;
}

/* إجبار النص المختار داخل الحقل على تغيير لونه مع الوضع الليلي/النهاري */

.choices__list--single .choices__item {
  color: var(--choices-text-color) !important; transition: color 0.3s ease;
}

/* إجبار حقل البحث داخل القائمة المنسدلة على تغيير لونه */

.choices__list--dropdown .choices__input {
  color: var(--choices-text-color) !important; background-color: var(--choices-bg-color-dropdown) !important;
}

/* ================= عرض مريح لاسم المقرر في كل الجداول ================= */
/* لا يُضغط حقل اسم المقرر على الشاشات الصغيرة — الجدول يتمرر أفقياً والاسم يبقى مقروءاً */

.course-name-cell {
  min-width: 230px; word-break: break-word;
}

@media (max-width: 767.98px) {
  .course-name-cell {
    min-width: 200px;
  }
}

.form-switch .form-check-input {
  margin-inline-start: 0!important;

  /* إزالة المسافة الافتراضية على اليسار */
  margin-inline-end: 0.5rem!important;
}
