@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700;800&display=swap');

/* ✅ الإعدادات العامة للملف */
* {
    font-family: 'Almarai', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

body {
    font-family: 'Almarai', sans-serif;
    font-weight: 400;
    font-size: 0.95rem !important;
    line-height: 1.6;
}

[dir="rtl"] .form-select {
    padding-inline-start: calc(2.625rem - var(--bs-border-width)) !important;
    padding-inline-end: calc(0.9375rem - var(--bs-border-width)) !important;
}

/* ✅ رسائل الخطأ والتحقق */
.is-invalid {
    margin-bottom: 0.5rem;
    color: #dc3545 !important;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    display: block;
}

.required-field::after {
    content: " *";
    color: #dc3545;
}

/* ✅ تنسيق البطاقات (Cards) - ستايل موحد وبارد */
.card {
    border: none;
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.05);
    overflow: hidden;
    margin-bottom: 1.5rem;
    border-top: 1px solid #4e73df; /* اللون الأزرق الموحد */
}

.card-header {
    background-color: #e8efff; /* خلفية زرقاء باهتة جداً */
    border-bottom: 1px solid rgba(78, 115, 223, 0.1);
    padding: 0.8rem 1.25rem;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.card-title {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 0.95rem;
    color: #4e73df; /* لون النص موحد مع الثيم */
    display: flex;
    align-items: center;
}

.card-title i {
    font-size: 1.2rem;
    margin-left: 10px;
    color: #4e73df;
}

.card-body {
    padding: 1.5rem;
}

/* ✅ تنسيق النماذج المضغوطة (Compact Form) */
.compact-form .form-label {
    font-size: 13px;
    margin-bottom: 4px;
    color: #495057;
    font-weight: 500;
}

.compact-form .form-control,
.compact-form .form-select {
    font-size: 13px;
    padding: 6px 10px;
}

.compact-form .form-control:focus,
.compact-form .form-select:focus {
    border-color: #4e73df;
    box-shadow: 0 0 0 2px rgba(78, 115, 223, 0.1);
}

/* ✅ تنسيق جداول البيانات (DataTable) */
.dataTable thead {
    background-color: #696cff;
}

.table.dataTable thead th {
    font-size: 0.9rem;
    font-weight: normal;
    color: white !important;
    text-align: center;
    padding-block: 0.5rem;
}

.dataTable tbody td {
    font-size: 0.9rem;
    /*text-align: start;*/
}

.dataTables_wrapper .row:first-child {
    flex-direction: row-reverse;
    align-items: baseline;
    margin-bottom: 0.5rem;
}

.dataTables_filter,
.dataTables_length,
.dataTables_info {
    font-size: 0.8rem;
    padding-top: 20px;
}

.dataTables_length label {
    display: flex;
    max-width: 155px;
    align-items: center;
    justify-content: space-between;
}

.pagination .page-item.active .page-link {
    background-color: #696cff;
    border-color: #696cff;
}

.page-item .page-link {
    border-radius: 5px !important;
    margin: 0 5px;
    padding: 0.4rem;
}

/* ✅ تنبيهات Sweet Alert - Sneat Theme Style */
.swal2-popup {
    font-size: 0.9375rem !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45) !important;
    border: none !important;
    padding: 1.5rem !important;
}

.swal2-title {
    font-size: 1.125rem !important;
    font-weight: 500 !important;
    color: #566a7f !important;
    padding: 0 0 0.5rem !important;
    margin: 0 !important;
}

.swal2-html-container {
    font-size: 0.9375rem !important;
    color: #566a7f !important;
    margin: 0.5rem 0 1.5rem !important;
    line-height: 1.5 !important;
}

.swal2-icon {
    margin: 1rem auto 1.25rem !important;
}

.swal2-icon.swal2-success {
    border-color: #71dd37 !important;
    color: #71dd37 !important;
}

.swal2-icon.swal2-success [class^='swal2-success-line'] {
    background-color: #71dd37 !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(113, 221, 55, 0.3) !important;
}

.swal2-icon.swal2-error {
    border-color: #ff3e1d !important;
    color: #ff3e1d !important;
}

.swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
    background-color: #ff3e1d !important;
}

.swal2-icon.swal2-warning {
    border-color: #ffab00 !important;
    color: #ffab00 !important;
}

.swal2-icon.swal2-info {
    border-color: #03c3ec !important;
    color: #03c3ec !important;
}

.swal2-icon.swal2-question {
    border-color: #8592a3 !important;
    color: #8592a3 !important;
}

.swal2-confirm {
    background-color: #696cff !important;
    border: none !important;
    border-radius: 0.375rem !important;
    padding: 0.4375rem 1.25rem !important;
    font-size: 0.9375rem !important;
    font-weight: 400 !important;
    box-shadow: 0 0.125rem 0.25rem 0 rgba(105, 108, 255, 0.4) !important;
    transition: all 0.2s ease !important;
}

.swal2-confirm:hover {
    background-color: #5f61e6 !important;
    box-shadow: 0 0.25rem 0.5rem 0 rgba(105, 108, 255, 0.5) !important;
    transform: translateY(-1px) !important;
}

.swal2-confirm:focus {
    box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.5) !important;
}

.swal2-cancel {
    background-color: transparent !important;
    border: 1px solid #d9dee3 !important;
    color: #8592a3 !important;
    border-radius: 0.375rem !important;
    padding: 0.4375rem 1.25rem !important;
    font-size: 0.9375rem !important;
    font-weight: 400 !important;
    transition: all 0.2s ease !important;
}

.swal2-cancel:hover {
    background-color: rgba(133, 146, 163, 0.08) !important;
    border-color: #8592a3 !important;
    color: #8592a3 !important;
}

.swal2-cancel:focus {
    box-shadow: 0 0 0 0.2rem rgba(133, 146, 163, 0.2) !important;
}

.swal2-actions {
    margin: 1.5rem 0 0 !important;
    gap: 0.5rem !important;
}

.swal2-styled {
    margin: 0 !important;
}

.swal2-close {
    color: #a1acb8 !important;
    font-size: 1.5rem !important;
    transition: color 0.2s ease !important;
}

.swal2-close:hover {
    color: #566a7f !important;
}

.swal2-timer-progress-bar {
    background: rgba(105, 108, 255, 0.5) !important;
}

.swal2-loader {
    border-color: #696cff transparent #696cff transparent !important;
}

.swal2-validation-message {
    background: #fff5f5 !important;
    color: #ff3e1d !important;
    border-color: #ffcdd2 !important;
    font-size: 0.875rem !important;
}

.swal2-input,
.swal2-textarea {
    border: 1px solid #d9dee3 !important;
    color: #566a7f !important;
    font-size: 0.9375rem !important;
    border-radius: 0.375rem !important;
    padding: 0.4375rem 0.875rem !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.swal2-input:focus,
.swal2-textarea:focus {
    border-color: #696cff !important;
    box-shadow: 0 0.125rem 0.25rem 0 rgba(105, 108, 255, 0.4) !important;
    outline: none !important;
}

.swal2-footer {
    border-top: 1px solid #d9dee3 !important;
    color: #a1acb8 !important;
    font-size: 0.8125rem !important;
    padding: 1rem 1.5rem 0 !important;
    margin-top: 1rem !important;
}

@media (max-width: 576px) {
    .swal2-popup {
        width: 90% !important;
        padding: 1.25rem !important;
    }
    
    .swal2-title {
        font-size: 1rem !important;
    }
    
    .swal2-html-container {
        font-size: 0.875rem !important;
    }
    
    .swal2-actions {
        flex-direction: column !important;
        width: 100% !important;
    }
    
    .swal2-styled {
        width: 100% !important;
    }
}

/* ✅ أدوات مساعدة (Utilities) */
.custom-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e7eaed;
    padding: .5rem 1.5rem;
    min-height: 45px;
}

@media (max-width: 576px) {
    .swal2-popup {
        width: 90% !important;
    }
}
.dataTables_empty{
    text-align: center !important;
    padding: 10px !important;
}
.export-btn {
    background-color: #0f766e;   /* أخضر بارد */
    color: #fff;
    border: 1px solid #0f766e;
}

.export-btn:hover {
    background-color: #115e59;
    border-color: #115e59;
    color: #fff;
}
.swal2-container{
z-index: 1089 !important;
}
.pagination {
    display: flex;
    justify-content: flex-end; /* يحافظ على ترتيبها بمحاذاة البداية */
    padding-left: 0;
    list-style: none;
    padding-top: 10px;
}


