/* =================================================================== 🔗 0. ربط الخطوط المحلية المحدثة (آمن للأوفلاين 100%) =================================================================== */ /* 1. خط Cairo (النسخة المتغيرة من ملف Cairo-VariableFont) */ @font-face { font-family: 'Cairo'; src: url('../fonts/Cairo-VariableFont_slnt,wght.ttf') format('truetype'); font-weight: 300 900; /* تغطية كاملة لكافة الأوزان */ font-style: normal; font-display: swap; } /* 2. خط Tajawal - الأوزان الثلاثة الأساسية */ @font-face { font-family: 'Tajawal'; src: url('../fonts/Tajawal-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'Tajawal'; src: url('../fonts/Tajawal-Medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: 'Tajawal'; src: url('../fonts/Tajawal-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; } /* 3. خط Amiri */ @font-face { font-family: 'Amiri'; src: url('../fonts/Amiri-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'Amiri'; src: url('../fonts/Amiri-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; } /* =================================================================== 🎨 مدونتي الجامعية - تنسيقات كاملة ومدمجة ومحدثة (الهوية الموحدة) =================================================================== */ /* ========== 1. الأساسيات ومتغيرات الألوان الموحدة ========== */ :root { --gradient-start: #0ea5e9; --gradient-end: #6366f1; --bg-primary: #f8fafc; --bg-secondary: #ffffff; --text-primary: #0f172a; /* عمق فائق لمنع البهتان في الوضع الفاتح */ --text-secondary: #334155; --border-color: #e2e8f0; --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); /* 🟠 متغيرات العنوان البرتقالي */ --hero-title-start: #f19332; --hero-title-end: #ee7711; --loader-color: #f19332; /* 📅 ألوان التقويم المخصصة للفاتح */ --fc-header-bg: #f1f5f9; --fc-cell-bg: #f8fafc; --fc-text-header: #1e293b; --fc-today-bg: rgba(14, 165, 233, 0.15); } .dark { --bg-primary: #0f172a; --bg-secondary: #1e293b; --text-primary: #ffffff; /* ناصع 100% لمنع الخفتان */ --text-secondary: #cbd5e1; --border-color: #334155; --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4); /* 🟠 متغيرات العنوان البرتقالي - وضع داكن */ --hero-title-start: #fbbf24; --hero-title-end: #f59e0b; --loader-color: #f59e0b; /* 📅 ألوان التقويم المخصصة للداكن (إصلاح جوهري لاختفاء النصوص) */ --fc-header-bg: #1e293b; --fc-cell-bg: #0f172a; --fc-text-header: #e2e8f0; --fc-today-bg: rgba(14, 165, 233, 0.12); } body { font-family: 'Cairo', 'Tajawal', sans-serif; background: var(--bg-primary); color: var(--text-primary); transition: background-color 0.3s ease, color 0.3s ease; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; } h1, h2, h3, h4, h5, h6 { font-family: 'Cairo', sans-serif; } /* ========== 2. العنوان الرئيسي والمؤشر ========== */ .gradient-text { background: linear-gradient(135deg, var(--hero-title-start), var(--hero-title-end)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; } #loading-indicator i { color: var(--loader-color) !important; } .home-subtitle { font-family: 'Cairo', sans-serif !important; } /* ========== 3. المكونات الأساسية والعناصر الزجاجية ========== */ .glass-card { background: var(--bg-secondary); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border: 1px solid var(--border-color); box-shadow: var(--card-shadow); } .gradient-bg { background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)); } /* ========== 4. الشريط الجانبي والأنماط والحركات ========== */ #sidebar { transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); will-change: transform; } .sidebar-overlay { transition: opacity 0.3s ease; } @keyframes pulseGlow { 0% { box-shadow: 0 0 0 0 rgba(14, 165, 233, 0.4); } 70% { box-shadow: 0 0 0 10px rgba(14, 165, 233, 0); } 100% { box-shadow: 0 0 0 0 rgba(14, 165, 233, 0); } } @keyframes slideIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideInRight { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } @keyframes slide-down { from { opacity: 0; transform: translateY(-100%); } to { opacity: 1; transform: translateY(0); } } .animate-slide-down { animation: slide-down 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards; } .hero-pattern { background-color: var(--bg-primary); background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%230ea5e9' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); } /* ========== 5. أداء وتناسق تباعد بطاقات المحتوى ========== */ .content-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); height: 100% !important; display: flex !important; flex-direction: column !important; } .content-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px -12px rgba(14, 165, 233, 0.25); } .content-card .p-5 { flex-grow: 1 !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; } .book-cover, .quiz-cover, .article-cover { aspect-ratio: 16 / 7 !important; height: auto !important; width: 100% !important; object-fit: cover !important; } /* ========== 6. التقييم والنجوم ========== */ .rating-star { cursor: pointer; transition: all 0.2s ease; } .rating-star:hover { transform: scale(1.2); } .star-rating { color: #fbbf24; } .star-btn { cursor: pointer; transition: transform 0.1s; } .star-btn:hover { transform: scale(1.2); } /* ========== 7. أشرطة التمرير الأنيقة ========== */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: var(--bg-primary); } ::-webkit-scrollbar-thumb { background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)); border-radius: 4px; } .no-scrollbar::-webkit-scrollbar { height: 5px; width: 5px; } .no-scrollbar::-webkit-scrollbar-track { background: transparent; } .no-scrollbar::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.2); border-radius: 10px; } .custom-scrollbar::-webkit-scrollbar { width: 6px; } .custom-scrollbar::-webkit-scrollbar-track { background: var(--bg-primary); border-radius: 10px; } .custom-scrollbar::-webkit-scrollbar-thumb { background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)); border-radius: 10px; } /* ========== 8. قص وعرض النصوص ========== */ .line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* ========== 9. نتائج البحث المتقدم المطور ========== */ .search-results { position: absolute; top: 100%; right: 0; left: 0; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: 1rem; box-shadow: var(--card-shadow); max-height: 500px; overflow-y: auto; z-index: 40; margin-top: 8px; } #search-context-indicator { transition: all 0.3s ease; } #mobile-search:disabled { opacity: 0.6; cursor: not-allowed; background-color: var(--bg-primary); } .search-result-item { transition: all 0.2s ease; } .search-result-item:hover { transform: translateX(-4px); background: var(--bg-primary); } .search-type-badge { display: inline-block; padding: 2px 8px; border-radius: 12px; font-size: 10px; font-weight: 600; margin-right: 8px; } .search-result-meta { font-size: 11px; opacity: 0.7; } .search-options-btn { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--text-secondary); transition: all 0.2s; } .search-options-btn:hover { color: var(--gradient-start); } .search-options-panel { position: absolute; top: 100%; left: 0; width: 280px; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: 1rem; padding: 1rem; box-shadow: var(--card-shadow); z-index: 60; margin-top: 8px; } .search-filter-option { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--border-color); } .search-filter-option:last-child { border-bottom: none; } .current-page-badge { background: var(--gradient-start); color: white; font-size: 10px; padding: 2px 8px; border-radius: 10px; margin-right: 8px; } /* ========== 10. القوائم المنسدلة ========== */ .dropdown-menu { position: absolute; top: 100%; left: 0; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: 1rem; box-shadow: var(--card-shadow); min-width: 200px; z-index: 50; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.2s ease; } .dropdown-menu.show { opacity: 1; visibility: visible; transform: translateY(5px); } .dropdown-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; color: var(--text-primary); text-decoration: none; transition: all 0.2s; border-bottom: 1px solid var(--border-color); } .dropdown-item:last-child { border-bottom: none; } .dropdown-item:hover { background: var(--bg-primary); } .dropdown-item i { width: 20px; text-align: center; } /* ========== 11. تبويبات لوحات التحكم ========== */ .admin-tabs-dropdown { position: relative; display: inline-block; } .admin-tabs-dropdown-btn { display: flex; align-items: center; gap: 8px; padding: 10px 16px; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: 0.75rem; color: var(--text-primary); cursor: pointer; font-weight: 500; transition: all 0.2s; } .admin-tabs-dropdown-btn:hover { background: var(--bg-primary); } .admin-tabs-dropdown-content { position: absolute; top: 100%; right: 0; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: 1rem; box-shadow: var(--card-shadow); min-width: 200px; z-index: 50; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.2s ease; } .admin-tabs-dropdown-content.show { opacity: 1; visibility: visible; transform: translateY(5px); } /* ========== 12. الجداول الإدارية الموحدة ========== */ .admin-table { width: 100%; border-collapse: separate; border-spacing: 0; } .admin-table th { background: var(--bg-primary); padding: 1rem; font-weight: 600; font-size: 0.875rem; color: var(--text-secondary); border-bottom: 2px solid var(--border-color); text-align: right; } .admin-table td { padding: 1rem; border-bottom: 1px solid var(--border-color); vertical-align: middle; } .admin-table tr:hover { background: var(--bg-primary); } /* ========== 13. النماذج والأزرار التفاعلية ========== */ .form-input { width: 100%; padding: 0.75rem 1rem; border-radius: 0.75rem; border: 1px solid var(--border-color); background: var(--bg-secondary); color: var(--text-primary); outline: none; transition: all 0.2s; } .form-input:focus { border-color: var(--gradient-start); box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1); } .btn-primary { background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)); color: white; padding: 0.75rem 1.5rem; border-radius: 0.75rem; font-weight: 600; border: none; cursor: pointer; transition: all 0.2s; } .btn-primary:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(14, 165, 233, 0.2); } /* ========== 14. الرتب وشارات الصلاحيات ========== */ .nav-item i { transition: transform 0.3s ease; } .nav-item:hover i { transform: scale(1.2) rotate(-5deg); } .role-badge { display: inline-block; padding: 2px 10px; border-radius: 99px; font-size: 11px; font-weight: 800; margin-top: 6px; } .badge-super_admin { background: #fee2e2; color: #ef4444; border: 1px solid #fecaca; } .badge-admin { background: #e0f2fe; color: #0284c7; border: 1px solid #bae6fd; } .badge-editor { background: #fef3c7; color: #d97706; border: 1px solid #fde68a; } .badge-viewer { background: #f1f5f9; color: #64748b; border: 1px solid #e2e8f0; } .comment-bubble { background: var(--bg-primary); border-radius: 1.5rem; padding: 1.25rem; border: 1px solid var(--border-color); margin-bottom: 1rem; } /* ========== 15. قوة كلمة المرور والتحقق ========== */ .password-strength { height: 4px; border-radius: 2px; margin-top: 4px; transition: all 0.3s; } .strength-weak { background: #ef4444; width: 25%; } .strength-medium { background: #f59e0b; width: 50%; } .strength-strong { background: #10b981; width: 75%; } .strength-very-strong { background: #3b82f6; width: 100%; } .confirm-password-match { color: #10b981; font-size: 0.75rem; margin-top: 0.25rem; } .confirm-password-mismatch { color: #ef4444; font-size: 0.75rem; margin-top: 0.25rem; } /* ========== 16. كلاسات الحواف المشتركة لتايلوند المخصصة ========== */ .border-blue-500\/20 { border-color: rgba(14, 165, 233, 0.2); } .border-emerald-500\/20 { border-color: rgba(16, 185, 129, 0.2); } .border-red-500\/20 { border-color: rgba(239, 68, 68, 0.2); } .border-amber-500\/20 { border-color: rgba(245, 158, 11, 0.2); } .border-purple-500\/20 { border-color: rgba(168, 85, 247, 0.2); } .border-orange-500\/20 { border-color: rgba(241, 147, 50, 0.2); } /* =================================================================== 21. 📝 تنسيقات قسم المقالات حصراً (نسخة رشيقة ومضادة للبهتان) =================================================================== */ .article-content h2 { color: #059669 !important; font-size: 1.5rem; font-weight: 800; margin-top: 2rem; margin-bottom: 1rem; padding-right: 0.75rem; border-right: 4px solid #10b981; } .article-content h3 { color: #065f46 !important; font-size: 1.25rem; font-weight: 700; margin-top: 1.75rem; margin-bottom: 0.85rem; padding-right: 0.5rem; border-right: 2px solid rgba(16, 185, 129, 0.6); } .article-content h4 { color: #10b981 !important; font-size: 1.1rem; font-weight: 700; margin-top: 1.25rem; margin-bottom: 0.65rem; } .article-content a { color: #2563eb !important; text-decoration: none; font-weight: 700; border-bottom: 1px dashed #2563eb; transition: all 0.2s ease; } .article-content a:hover { color: #1d4ed8 !important; border-bottom-color: #1d4ed8; } .article-content p { margin-bottom: 1.15rem; font-size: 1rem; line-height: 1.75; color: var(--text-primary) !important; /* ربط مصلح بالمتغير لمنع بهتان المقال في الفاتح/الداكن */ font-weight: 500 !important; } .article-content strong, .article-content b { color: inherit !important; /* يرث ألوان المظهر بشكل مثالي */ font-weight: 800 !important; } .article-content blockquote { border-right: 4px solid #0ea5e9 !important; background: var(--bg-primary) !important; padding: 1rem 1.5rem; margin: 1.5rem 0; border-radius: 0.75rem !important; border: 1px solid var(--border-color); font-style: normal; color: var(--text-primary) !important; font-weight: 600 !important; } .article-content mark { background-color: #fde047 !important; color: #000000 !important; padding: 0.1rem 0.3rem; border-radius: 0.25rem; font-weight: 700; box-shadow: 0 1px 3px rgba(0,0,0,0.05); } .article-content code { background: var(--bg-primary); padding: 0.15rem 0.4rem; border-radius: 0.375rem; font-family: monospace; font-size: 0.9rem; color: #dc2626; border: 1px solid var(--border-color); font-weight: 700; } .article-content pre { background: #0f172a; padding: 1rem; border-radius: 0.75rem; overflow-x: auto; margin: 1.5rem 0; border: 1px solid #1e293b; } .dark .article-content pre { background: #090d16; } .article-content pre code { background: transparent; color: #f8fafc; border: none; padding: 0; } .article-content ul, .article-content ol { margin: 1rem 0 1.5rem 0; padding-right: 1.5rem; } .article-content li { margin-bottom: 0.5rem; line-height: 1.7; color: var(--text-primary) !important; font-weight: 500 !important; } .article-content img { max-width: 100%; height: auto; border-radius: 1rem; margin: 1.75rem auto; display: block; box-shadow: var(--card-shadow); border: 1px solid var(--border-color); } /* تعديلات مخصصة لألوان المقالات في الوضع الداكن */ .dark .article-content h2 { color: #34d399 !important; border-right-color: #34d399; } .dark .article-content h3 { color: #6ee7b7 !important; border-right-color: rgba(52, 211, 153, 0.4); } .dark .article-content h4 { color: #a7f3d0 !important; } .dark .article-content a { color: #38bdf8 !important; border-bottom-color: #38bdf8; } .dark .article-content code { color: #f87171; } /* =================================================================== 22. 📅 FullCalendar - تنسيقات موحدة ومصلحة للتاريخين والـ List =================================================================== */ .fc td, .fc th { border-color: var(--border-color) !important; } .fc-theme-standard .fc-scrollgrid { border-color: var(--border-color) !important; border-radius: 0.75rem !important; overflow: hidden; } .fc .fc-daygrid-day-number { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; padding: 2px !important; gap: 0 !important; font-size: 12px !important; font-weight: 700 !important; font-family: 'Cairo', sans-serif !important; color: var(--text-secondary) !important; } .fc-miladi-day { font-size: 12px !important; font-weight: 700 !important; color: var(--text-secondary) !important; line-height: 1.2 !important; } .fc .fc-day-today .fc-daygrid-day-number { background: transparent !important; border-radius: 0 !important; width: auto !important; height: auto !important; padding: 2px !important; } /* تمييز اليوم الحالي دائرياً */ .fc .fc-day-today .fc-miladi-day { background-color: var(--gradient-start) !important; color: #ffffff !important; border-radius: 50% !important; width: 24px !important; height: 24px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; } .dark .fc .fc-day-today .fc-miladi-day { background-color: #60a5fa !important; color: #1e293b !important; } .fc-hijri-month-label { text-align: center !important; font-size: 13px !important; font-weight: 600 !important; color: var(--text-secondary) !important; margin-top: 3px !important; font-family: 'Cairo', sans-serif !important; } .fc-hijri-date { display: block !important; font-size: 10px !important; font-weight: 600 !important; color: var(--text-secondary) !important; line-height: 1.2 !important; text-align: center !important; margin-top: 1px !important; font-family: 'Cairo', sans-serif !important; } .fc .fc-day-today .fc-hijri-date { margin-top: 2px !important; color: var(--text-secondary) !important; background: transparent !important; } /* أزرار وعناوين التقويم العلوية */ .fc .fc-toolbar-title { font-family: 'Cairo', sans-serif !important; font-size: 16px !important; font-weight: 800 !important; color: var(--text-primary) !important; text-align: center !important; white-space: nowrap !important; } .fc .fc-col-header-cell-cushion { font-family: 'Cairo', sans-serif !important; font-size: 12px !important; font-weight: 700 !important; color: var(--fc-text-header) !important; white-space: nowrap !important; display: block !important; text-align: center !important; padding: 4px 0 !important; text-decoration: none !important; } .fc .fc-button { font-size: 12px !important; font-weight: 700 !important; font-family: 'Cairo', sans-serif !important; padding: 5px 10px !important; height: 30px !important; border-radius: 6px !important; } .fc .fc-button-primary { background-color: rgba(14, 165, 233, 0.08) !important; border: 1px solid rgba(14, 165, 233, 0.2) !important; color: var(--gradient-start) !important; } .fc .fc-button-primary:hover { background-color: var(--gradient-start) !important; color: #ffffff !important; } .fc .fc-button-active { background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)) !important; color: #ffffff !important; border-color: transparent !important; } .fc .fc-col-header { background-color: var(--fc-header-bg) !important; } .fc .fc-col-header-cell { background-color: var(--fc-cell-bg) !important; border-bottom: 2px solid var(--border-color) !important; padding: 8px 2px !important; } .fc .fc-daygrid-day.fc-day-other { background-color: var(--fc-cell-bg) !important; opacity: 0.6; } .fc .fc-day-today { background-color: var(--fc-today-bg) !important; border: 2px solid var(--gradient-start) !important; } .dark .fc .fc-day-today { border-color: #60a5fa !important; } .fc .fc-daygrid-day { transition: background-color 0.2s ease; } .fc .fc-daygrid-day:hover { background-color: rgba(14, 165, 233, 0.02) !important; } .fc .fc-daygrid-day-frame { min-height: 60px !important; } /* الأحداث داخل مربعات الشاشات الكبيرة */ .fc-daygrid-event { font-size: 9px !important; font-weight: 700 !important; font-family: 'Cairo', sans-serif !important; padding: 2px 5px !important; border-radius: 4px !important; margin: 1px 2px !important; cursor: pointer !important; border: none !important; } .fc-daygrid-event:hover { transform: scale(1.02); box-shadow: 0 2px 8px rgba(0,0,0,0.15); } .fc .fc-daygrid-more-link { font-size: 0.7rem !important; font-weight: 700 !important; color: var(--gradient-start) !important; } .fc .fc-toolbar { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; gap: 4px !important; padding: 4px 2px !important; } /* ========== 22.5 📋 تنسيقات عرض القائمة المدمجة والمصلحة (listMonth / listWeek) ========== */ .fc .fc-list { border: 1px solid var(--border-color) !important; border-radius: 12px !important; overflow: hidden !important; background: var(--bg-secondary) !important; } .fc .fc-list-day-cushion { background-color: rgba(14, 165, 233, 0.05) !important; padding: 10px 16px !important; font-weight: 700 !important; font-size: 0.85rem !important; color: var(--gradient-start) !important; border-bottom: 1px solid rgba(14, 165, 233, 0.1) !important; } .dark .fc .fc-list-day-cushion { background-color: rgba(14, 165, 233, 0.1) !important; color: #60a5fa !important; } .fc .fc-list-event { cursor: pointer !important; padding: 10px 16px !important; border-bottom: 1px solid var(--border-color) !important; transition: background-color 0.2s ease !important; background: transparent !important; } .fc .fc-list-event:hover { background-color: rgba(14, 165, 233, 0.03) !important; } .fc .fc-list-event-dot { border-radius: 50% !important; width: 10px !important; height: 10px !important; margin-left: 10px !important; flex-shrink: 0 !important; } .fc .fc-list-event-title { font-weight: 700 !important; font-size: 0.85rem !important; color: var(--text-primary) !important; } .fc .fc-list-event-time { font-size: 0.75rem !important; color: var(--text-secondary) !important; font-weight: 500 !important; white-space: nowrap !important; } .fc .fc-list-empty, .fc .fc-daygrid-empty { padding: 30px !important; text-align: center !important; color: var(--text-secondary) !important; opacity: 0.6; font-size: 0.9rem !important; } /* =================================================================== 23. 🔧 إصلاحات وثبات كلاسات الوضع الليلي لملفات الـ HTML التقليدية =================================================================== */ .fa-sun { display: none !important; } .fa-moon { display: block !important; } .dark .fa-sun { display: block !important; } .dark .fa-moon { display: none !important; } .dark .text-gray-800, .dark .text-gray-700, .dark .text-gray-600 { color: #ffffff !important; } .dark .text-gray-500, .dark .text-gray-400 { color: #cbd5e1 !important; } .dark .bg-white, .dark .bg-gray-100, .dark .bg-gray-50 { background-color: #1e293b !important; } .dark .border-gray-200, .dark .border-gray-100 { border-color: #334155 !important; } .dark input, .dark textarea, .dark select { background-color: #1e293b !important; color: #f1f5f9 !important; border-color: #334155 !important; } .dark #mobile-search { background-color: #1e293b !important; color: #f1f5f9 !important; } .dark ::placeholder { color: #64748b !important; } /* =================================================================== 24. 🔔 كتل إشعارات التوست المدعومة بالبلور والتأثير الزجاجي =================================================================== */ .toast { padding: 12px 20px !important; border-radius: 12px !important; font-family: 'Cairo', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important; -webkit-backdrop-filter: blur(10px) !important; backdrop-filter: blur(10px) !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; color: #ffffff !important; animation: slideInRight 0.3s ease-out; } .toast-success, .toast.success, [class*="toast"][class*="success"] { background: linear-gradient(135deg, #10b981, #059669) !important; color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; } .toast-error, .toast.error, [class*="toast"][class*="error"] { background: linear-gradient(135deg, #ef4444, #dc2626) !important; color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; } .toast-warning, .toast.warning, [class*="toast"][class*="warning"] { background: linear-gradient(135deg, #f59e0b, #d97706) !important; color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; } .toast-info, .toast.info, [class*="toast"][class*="info"] { background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)) !important; color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; } #toast-container { display: flex !important; flex-direction: column !important; gap: 8px !important; z-index: 9999 !important; } /* =================================================================== 25. 📱 مرونة التجاوب الكامل مع الهواتف والشاشات الصغيرة =================================================================== */ @media (max-width: 480px) { #page-container .grid { row-gap: 1rem !important; column-gap: 0.5rem !important; } .content-card h3 { font-size: 0.85rem; line-height: 1.3; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; } .content-card p { font-size: 0.7rem; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; } .content-card .flex.gap-1 i, .content-card .flex.gap-1 span { font-size: 0.6rem; } .content-card .absolute.top-2.right-2 span { font-size: 0.6rem; padding: 0.2rem 0.4rem; } .content-card .bg-gradient-to-br i { font-size: 2rem; } .book-cover, .quiz-cover, .article-cover { aspect-ratio: 3/4; } .content-card button, .content-card a { padding: 0.5rem 0.25rem !important; font-size: 0.65rem !important; } .content-card button i, .content-card a i { font-size: 0.6rem !important; } } @media (max-width: 640px) { .glass-card select { font-size: 14px !important; padding: 0.5rem 0.75rem !important; } .flex.flex-col.md\\:flex-row.md\\:items-center.justify-between { margin-bottom: 1rem !important; } .pt-24 { padding-top: 5rem !important; } .px-4 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; } .fc .fc-col-header-cell-cushion { font-size: 10px !important; } .fc .fc-daygrid-day-number { font-size: 10px !important; } .fc-hijri-date { font-size: 8px !important; } .fc-daygrid-event { font-size: 7px !important; padding: 1px 3px !important; } .fc .fc-toolbar-title { font-size: 14px !important; } .fc-hijri-month-label { font-size: 11px !important; } } @media (max-width: 480px) { .fc .fc-button { font-size: 10px !important; padding: 4px 6px !important; height: 26px !important; } .fc .fc-toolbar-title { font-size: 13px !important; } .fc .fc-col-header-cell-cushion { font-size: 9px !important; } .fc .fc-daygrid-day-number { font-size: 9px !important; } .fc-hijri-date { font-size: 7px !important; } .fc .fc-day-today .fc-miladi-day { width: 18px !important; height: 18px !important; font-size: 10px !important; } } @media (min-width: 641px) and (max-width: 768px) { #page-container .grid { row-gap: 1rem !important; column-gap: 0.75rem !important; } .content-card h3 { font-size: 1rem; } .content-card p { font-size: 0.8rem; -webkit-line-clamp: 2; } } @media (min-width: 1024px) { #page-container .grid { row-gap: 1rem !important; column-gap: 0.75rem !important; } } @media (min-width: 1536px) { .container { max-width: 1400px !important; } #page-container .grid { row-gap: 1.25rem !important; column-gap: 1rem !important; } } @media (max-width: 360px) { .fc .fc-button { font-size: 8px !important; padding: 3px 5px !important; height: 24px !important; } .fc .fc-toolbar-title { font-size: 11px !important; } } /* 🛠️ تحسينات بصرية مخصصة لتجربة التطبيق التقدمي PWA */ html, body { overscroll-behavior-y: contain; -webkit-tap-highlight-color: transparent; } .nav-item, button, .quiz-card-option { -webkit-user-select: none; user-select: none; } nav { padding-top: env(safe-area-inset-top, 0px); } /* =================================================================== 📱 أيقونات وأزرار الصفحة الرئيسية =================================================================== */ /* أيقونة القسم في الصفحة الرئيسية */ .section-icon { width: 2.5rem; height: 2.5rem; border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; color: white; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); font-size: 1.1rem; } /* ألوان الأيقونات حسب النوع */ .section-icon-books { background: linear-gradient(135deg, #0ea5e9, #4f46e5); } .section-icon-quizzes { background: linear-gradient(135deg, #10b981, #059669); } .section-icon-articles { background: linear-gradient(135deg, #eab308, #f59e0b); } .section-icon-calendar { background: linear-gradient(135deg, #f59e0b, #d97706); } /* زر عرض الكل */ .section-view-all { font-weight: 500; transition: all 0.2s ease; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0.75rem; border-radius: 0.5rem; font-size: 0.875rem; } .section-view-all:hover { text-decoration: underline; background-color: rgba(0, 0, 0, 0.03); } .dark .section-view-all:hover { background-color: rgba(255, 255, 255, 0.05); } /* ألوان زر عرض الكل */ .section-view-all-books { color: #0ea5e9; } .section-view-all-books:hover { color: #0284c7; } .section-view-all-quizzes { color: #10b981; } .section-view-all-quizzes:hover { color: #059669; } .section-view-all-articles { color: #ca8a04; } .section-view-all-articles:hover { color: #a16207; } .section-view-all-calendar { color: #f59e0b; } .section-view-all-calendar:hover { color: #d97706; } /* أيقونة السهم في زر عرض الكل */ .section-view-all i { font-size: 0.75rem; transition: transform 0.2s ease; } .section-view-all:hover i { transform: translateX(-3px); } /* =================================================================== 🏷️ شارات التصنيف (Badges) =================================================================== */ .badge-books { background-color: #0ea5e9; color: white; } .badge-quizzes { background-color: #10b981; color: white; } .badge-articles { background-color: #eab308; color: white; } .badge-calendar { background-color: #f59e0b; color: white; } /* =================================================================== 📝 ألوان النصوص حسب النوع =================================================================== */ .text-books { color: #0ea5e9; } .text-quizzes { color: #10b981; } .text-articles { color: #ca8a04; } .text-calendar { color: #f59e0b; } /* =================================================================== 🎨 تدرجات الخلفيات =================================================================== */ .gradient-books { background: linear-gradient(135deg, #0ea5e9, #4f46e5); } .gradient-quizzes { background: linear-gradient(135deg, #10b981, #059669); } .gradient-articles { background: linear-gradient(135deg, #eab308, #f59e0b); } .gradient-calendar { background: linear-gradient(135deg, #f59e0b, #d97706); } /* =================================================================== 📱 تحسينات للجوال =================================================================== */ @media (max-width: 640px) { .section-icon { width: 2rem; height: 2rem; font-size: 0.9rem; } .section-view-all { font-size: 0.75rem; padding: 0.25rem 0.5rem; } } #admin-dropdown::-webkit-scrollbar { width: 4px; /* شريط نحيف جداً وأنيق */ } #admin-dropdown::-webkit-scrollbar-thumb { background-color: rgba(241, 147, 50, 0.3); /* بلون برتقالي شفاف متناسق مع هوية الموقع */ border-radius: 10px; }