/* أنماط الموقع العامة */
:root {
    --bg-desktop: url("../img/bg-desktop.jpg");
    --bg-mobile: url("../img/bg-mobile.jpg");
}

body { font-family: 'Alexandria', sans-serif; background-color: #f4efdd; letter-spacing: -0.1px; }
h1, h2, h3 { letter-spacing: -0.3px; }

.glass-card {
    background: rgba(253, 250, 240, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.nav-item.active {
    background-color: rgba(255, 255, 255, 0.12);
    box-shadow: inset -3px 0 0 #f5a623;
    color: #f5a623;
    font-weight: 600;
}
.nav-item.active i { opacity: 1; }
.nav-group.collapsed .nav-group-items { display: none; }
.nav-group.collapsed .nav-group-chevron { transform: rotate(90deg); }
/* مجموعة مطوية فيها الصفحة المفتوحة: نقطة ذهبية بجانب العنوان */
.nav-group.collapsed.has-active .nav-group-toggle span::after { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #f5a623; margin-right: 6px; vertical-align: middle; }

#bg-layer {
    position: fixed; top: 0; bottom: 0; left: 0; right: 420px; z-index: 0; pointer-events: none; background: #f4efdd;
    background-image: var(--bg-desktop);
    background-size: contain; background-position: left center; background-repeat: no-repeat;
}
@media (max-width: 767px) {
    #bg-layer { right: 0; background-image: var(--bg-mobile); background-position: top center; }
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f4efdd; }
::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #64748b; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fadeIn 0.35s ease; }

.field-error { border-color: #ef4444 !important; }

@media print {
    body * { visibility: hidden; }
    #print-area, #print-area * { visibility: visible; }
    #print-area { position: absolute; inset: 0; width: 100%; padding: 20px; }
    .no-print { display: none !important; }
}
