/* Qima Core - تحسينات واجهة عامة */

/* ملفات محلية بدل @import من Google Fonts CDN -- لا يعتمد عرض أي صفحة
   موقع على وصول شبكة خارجي وقت التحميل. نفس الملفات المُنزَّلة لـ
   axora_ui.css (راجع هناك، قسم ٠، للسبب الكامل ورخصة الملفات). */
@font-face{
	font-family:'IBM Plex Sans Arabic';
	font-style:normal;
	font-weight:300;
	font-display:swap;
	src:url('/assets/qima_core/fonts/ibm-plex-sans-arabic-300.woff2') format('woff2');
	unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
@font-face{
	font-family:'IBM Plex Sans Arabic';
	font-style:normal;
	font-weight:400;
	font-display:swap;
	src:url('/assets/qima_core/fonts/ibm-plex-sans-arabic-400.woff2') format('woff2');
	unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
@font-face{
	font-family:'IBM Plex Sans Arabic';
	font-style:normal;
	font-weight:500;
	font-display:swap;
	src:url('/assets/qima_core/fonts/ibm-plex-sans-arabic-500.woff2') format('woff2');
	unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
@font-face{
	font-family:'IBM Plex Sans Arabic';
	font-style:normal;
	font-weight:600;
	font-display:swap;
	src:url('/assets/qima_core/fonts/ibm-plex-sans-arabic-600.woff2') format('woff2');
	unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
@font-face{
	font-family:'IBM Plex Sans Arabic';
	font-style:normal;
	font-weight:700;
	font-display:swap;
	src:url('/assets/qima_core/fonts/ibm-plex-sans-arabic-700.woff2') format('woff2');
	unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

/*
 * حقول تسجيل الدخول (البريد وكلمة المرور):
 * فرض الاتجاه من اليسار إلى اليمين (LTR) بغض النظر عن لغة الواجهة.
 * السبب: عند كتابة قيمة تحتوي على أحرف عربية داخل حقل كلمة المرور،
 * ينقلب اتجاه النص إلى RTL فتظهر نقاط التمويه مختلطة ومعكوسة مع الأحرف.
 * جعل الحقل LTR يضمن ظهور النقاط والبريد بشكل منتظم دائماً.
 */
#login_email,
#login_password,
#forgot_email,
#login_with_email_link_email,
#login_token {
	direction: ltr;
	text-align: left;
}

/*
 * إصلاح تداخل النص مع أيقونة القفل (يسار) وزر إظهار/إخفاء كلمة المرور (يمين):
 * في واجهة RTL تنقلب حشوة (padding) الحقل فيتداخل النص مع الزر/الأيقونة.
 * نثبّت الحشوة صراحةً على الجهتين لضمان مساحة كافية للعناصر المطلقة.
 */
.password-field input,
.email-field input {
	padding-left: 35px !important;   /* مساحة لأيقونة القفل على اليسار */
	padding-right: 55px !important;  /* مساحة لزر إظهار/إخفاء كلمة المرور على اليمين */
}

/* تثبيت موضع أيقونة القفل على اليسار وزر الإظهار/الإخفاء على اليمين دائماً */
.password-field .field-icon,
.email-field .field-icon {
	left: 9px !important;
	right: auto !important;
}

.password-field .toggle-password,
.email-field .toggle-password {
	right: 9px !important;
	left: auto !important;
}

/*
 * ══════════════════════════════════════════════════════════════
 * ربط الشريط العلوي لصفحات الموقع (www/* — كل الشاشات الست) بهوية
 * AXORA — إصلاح جذري للمراحل السابقة، لا طبقة إضافية فوقها.
 * ══════════════════════════════════════════════════════════════
 * حتى الآن: هذا الشريط (من قالب Frappe الافتراضي، غير مخصَّص إطلاقًا)
 * ظل منفصلاً تمامًا عن هوية AXORA رغم أن axora_ui.css وحّد كل ما تحته —
 * فبدا وكأن كل شاشة "صندوق أحمر/كحلي مخصَّص" أسفل شريط عام لا علاقة له
 * بالنظام. هذا الملف مُحمَّل على كل صفحات الموقع (web_include_css)
 * فيصل التعديل لكل شاشة تلقائيًا، بما فيها استلام المخزون التي لم تُحمِّل
 * axora_ui.css عمدًا.
 *
 * لماذا خلفية بيضاء لا كحلي كامل مطابق لثيم Desk: شعار AXORA الفعلي
 * (/files/axora_erp_logo.svg) يرسم "AXORA" بالأحمر لكن "ERP" وخط الفاصل
 * بالأسود الغامق (#1A1A1A) — فوق خلفية كحلي داكن يصبح نص ERP غير مقروء
 * تقريبًا. الحل: نُبقي الخلفية فاتحة كما هي (فالشعار يبقى واضحًا تمامًا)
 * ونضيف نفس لمسة "الحد الأحمر السفلي" التي تُميّز شريط Desk بالضبط
 * (راجع .navbar في axora_desk_theme.css) — فيصبح الشريطان من نفس
 * العائلة البصرية بصلة واضحة، دون أي مخاطرة على وضوح الشعار.
 * --axora-red تستخدم متغيّر :root المُعرَّف أدناه في قسم "هوية صفحة
 * الدخول" (نفس القيمة، لا تعريف ثانٍ مكرَّر).
 */
.navbar.navbar-light {
	border-bottom: 3px solid var(--axora-red) !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, .08) !important;
}
.navbar.navbar-light .navbar-nav .nav-link:hover,
.navbar.navbar-light .navbar-nav .nav-link:focus {
	color: var(--axora-red) !important;
}

/* ══════════════════════════════════════════════════════════════
   إخفاء شريط وتذييل موقع Frappe الافتراضيَّين على صفحات AXORA —
   لا تكفي إعادة تلوين الشريط أعلاه (القسم السابق) على صفحات لها
   تنقّلها الكامل الخاص بها بالفعل: تجربة AXORA الجديدة كاملة
   (.axora-experience — الصفحة الرئيسية، لوحات الأدوار، صفحات
   النطاقات) والأدوات المستقلة الست (.axora-page-header للخمسة
   الموحَّدة سابقًا؛ .sr-crumb لاستلام المخزون التي لم توحَّد رأسها
   بعد). ظهور الشريطين معًا (شريط Frappe العام أعلى شريط AXORA
   الخاص بالصفحة) هو بالضبط شعور "نظامين مختلفين" الذي يجب تفاديه —
   لا مجرد تكرار بصري.
   :has() مدعوم في كل المتصفحات الحديثة (هذا نظام داخلي بمتصفح
   مضبوط)؛ المحدِّد على body لا على nav نفسها لأن العنصرين شقيقان في
   شجرة DOM (كلاهما ابن مباشر لـ body)، لا أحدهما داخل الآخر — تأكَّد
   هذا مباشرة من HTML الحيّ على /axora-home، لا افتراضًا.
   ══════════════════════════════════════════════════════════════ */
body:has(.axora-experience) nav.navbar,
body:has(.axora-experience) footer.web-footer,
body:has(.axora-page-header) nav.navbar,
body:has(.axora-page-header) footer.web-footer,
body:has(.sr-crumb) nav.navbar,
body:has(.sr-crumb) footer.web-footer {
	display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   تحرير تجربة AXORA من حاوية templates/web.html الافتراضية —
   <main class="container my-4"> من Bootstrap (max-width:1290px،
   هوامش تلقائية تتّسع حتى مئات البكسلات على شاشة كبيرة) صُمِّمت
   لصفحة موقع نصية عادية (مدوّنة/توثيق)، لا لتطبيق بعرض كامل. تحقُّق
   حي على 1920px: .axora-experience نفسها (لا فقط محتواها الداخلي)
   محدودة بهذا الحد، بهامشَين ~307px على كل جانب — بالضبط عرض "محصور
   داخل مساحة ضيقة رغم وجود شاشة كبيرة" المُبلَّغ عنه.
   نفس نمط :has() أعلاه بالضبط لنفس السبب: محدِّد على body لا على
   main نفسه، مُقيَّد بوجود .axora-experience تحديدًا، فلا يتأثر أي
   عنصر <main class="container"> على أي صفحة موقع أخرى لا تحمل هذا
   الصنف. المسافة الداخلية (padding) تنتقل مسؤوليتها لهيكل AXORA
   نفسه (.axexp-main وما شابه)، الذي يملكها بالفعل. */
body:has(.axora-experience) main.container{
	max-width:none !important; margin:0 !important; padding:0 !important;
}

/* ══════════════════════════════════════════════════════════════
   صفحة تسجيل الدخول — هوية AXORA البصرية
   المحدِّدات هنا (#page-login الحاوية الكاملة، section.for-login
   الحاوية الداخلية، .page-card/.page-card-head/.app-logo/.btn-primary)
   جميعها مؤكَّدة مباشرة من HTML الفعلي لصفحة /login الحيّة (طلب
   مجهول بلا جلسة، لا افتراض) — كل قاعدة مقيَّدة بمحدِّد خاص بصفحة
   الدخول فقط، فلا تؤثر على أي صفحة أخرى من صفحات الموقع.
   نفس ألوان وخط ثيم الـDesk (axora_desk_theme.css) — لا يمكن مشاركة
   المتغيرات بين ملفَي CSS منفصلين (نطاقا تحميل مختلفان: desk مقابل
   website)، فأُعيد تعريفها هنا بنفس الأسماء والقيم.
   شعار AXORA نفسه (axora_erp_logo.svg) مُعرَّف مسبقاً عبر Website
   Settings — هذا تنسيق بصري حوله فقط، لا استبدال له.
   ⚠️ لا يؤثر على البيانات — مجرد تخصيص بصري. حذف هذا القسم يرجّع شكل
   Frappe الافتراضي لصفحة الدخول فقط.
   ══════════════════════════════════════════════════════════════ */

:root {
	--axora-red: #E4161A;
	--axora-red-hover: #C01216;
	--axora-dark: #0F172A;
	--axora-gray-50: #F8FAFC;
	--axora-gray-200: #E2E8F0;
}

#page-login {
	font-family: 'IBM Plex Sans Arabic', sans-serif !important;
	background:
		radial-gradient(circle at 15% 15%, rgba(228, 22, 26, 0.06) 0%, transparent 45%),
		radial-gradient(circle at 85% 85%, rgba(228, 22, 26, 0.05) 0%, transparent 45%),
		var(--axora-gray-50) !important;
	min-height: 100vh;
}

#page-login .page-card {
	border: 1px solid var(--axora-gray-200) !important;
	border-radius: 16px !important;
	box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.1) !important;
	overflow: hidden;
}

/* شريط علوي بلون العلامة أعلى بطاقة تسجيل الدخول */
#page-login .page-card::before {
	content: '';
	display: block;
	height: 4px;
	background: linear-gradient(90deg, var(--axora-red) 0%, #FF4D50 100%);
}

#page-login .app-logo {
	max-height: 48px;
	width: auto;
	margin-bottom: 8px;
}

#page-login .page-card-head h4 {
	color: var(--axora-dark) !important;
	font-weight: 700 !important;
}

/* زر الدخول الأساسي — نفس لون ثيم الـDesk */
#page-login .btn-primary {
	background-color: var(--axora-red) !important;
	border-color: var(--axora-red) !important;
	font-weight: 600 !important;
	box-shadow: 0 4px 14px rgba(228, 22, 26, 0.25) !important;
	transition: all 0.2s ease !important;
}

#page-login .btn-primary:hover,
#page-login .btn-primary:focus {
	background-color: var(--axora-red-hover) !important;
	border-color: var(--axora-red-hover) !important;
	box-shadow: 0 8px 20px rgba(228, 22, 26, 0.3) !important;
}

/* روابط الصفحة (نسيت كلمة المرور، تسجيل جديد، خيارات دخول أخرى) */
#page-login a {
	color: var(--axora-red);
}
#page-login a:hover {
	color: var(--axora-red-hover);
}
