@font-face {
  font-family: "Vazirmatn";
  src: url('../fonts/Vazirmatn-RD-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body { font-family: "Vazirmatn", sans-serif; text-align: center; margin-top: 50px; background-color: #f3f4f6; }
.box { background: white; padding: 30px; border-radius: 10px; display: inline-block; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
h1 { color: #2563eb; }
.logo-home>a>img {
    border-radius: 30px;
    margin: 0 auto;
    height: 136px;
}
.logo-home{
    margin-bottom: 30px;
}
table.dataTable thead>tr>th.sorting{
    text-align:center;
}
div#pwa-install-banner {
    border: 1px solid #000000;
    box-shadow: 1px 1px 3px 1px black;
}
.glass-effect { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); }
.hero-pattern { background-image: radial-gradient(#e5e7eb 1px, transparent 1px); background-size: 20px 20px; }
.dt-buttons .dt-button {
    background-color: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.5rem !important;
    font-family: 'Vazirmatn' !important;
    font-size: 0.875rem !important;
    padding: 0.25rem 0.75rem !important;
    margin-bottom: 1rem !important;
}
.dt-buttons .dt-button:hover { background-color: #e5e7eb !important; }
jdp-container { 
    z-index: 10600 !important; 
    font-family: 'Vazirmatn', sans-serif !important;
    border-radius: 1rem !important; 
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important; 
    border: 1px solid #e5e7eb !important;
    padding: 0.5rem !important;
    background-color: #ffffff !important;
}
jdp-container select {
    appearance: none; -webkit-appearance: none; background-color: #f3f4f6 !important; border: 1px solid #e5e7eb !important; border-radius: 0.5rem !important; padding: 0.25rem 1rem !important; font-family: 'Vazirmatn', sans-serif !important; font-size: 0.875rem !important; font-weight: bold !important; color: #374151 !important; text-align: center; cursor: pointer; outline: none; transition: all 0.2s;
}
jdp-container select:hover { background-color: #e5e7eb !important; }
    jdp-container .jdp-btn-next, jdp-container .jdp-btn-prev { background-color: #f3f4f6 !important; border-radius: 0.5rem !important; transition: all 0.2s; }
    jdp-container .jdp-btn-next:hover, jdp-container .jdp-btn-prev:hover { background-color: #e5e7eb !important; }
    jdp-container .jdp-day, jdp-container .jdp-day-name { border-radius: 0.5rem !important; font-size: 0.875rem !important; }
    jdp-container .jdp-day.selected { background-color: #2563eb !important; color: #ffffff !important; box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.4) !important; }
    jdp-container .jdp-day.today { border: 2px solid #2563eb !important; }
    jdp-container .jdp-btn-today { background-color: #eff6ff !important; color: #2563eb !important; border: 1px solid #bfdbfe !important; border-radius: 0.5rem !important; font-family: 'Vazirmatn', sans-serif !important; font-weight: bold !important; padding: 0.5rem !important; margin-top: 0.5rem !important; transition: all 0.2s; }
    jdp-container .jdp-btn-today:hover { background-color: #2563eb !important; color: #ffffff !important; 
}
        /* استایل اختصاصی برای باکس‌های سرچ و طول صفحه در دیتاتیبل */
.dataTables_length, .dataTables_filter { margin-bottom: 1rem; font-size: 0.875rem; color: #4b5563; }
.dataTables_length select { padding: 0.25rem 0.5rem; border: 1px solid #d1d5db; border-radius: 0.375rem; outline: none; background: #fff;}
.dataTables_filter input { padding: 0.25rem 0.75rem; border: 1px solid #d1d5db; border-radius: 0.375rem; outline: none; margin-right: 0.5rem; background: #fff;}
/* For PWA & Touch Optimization */
.pwa-banner-container {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 450px;
    z-index: 9999;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    padding: 16px;
    animation: slideUpPwa 0.4s ease-out;
}

.pwa-content { display: flex; align-items: center; gap: 12px; }
.pwa-details { flex-grow: 1; }
.pwa-details h6 { margin: 0 0 4px 0; font-weight: bold; font-size: 15px; color: #1f2937; }
.pwa-details p { margin: 0; font-size: 12px; color: #6b7280; }

.pwa-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }

#install-pwa-btn {
    background-color: #2563eb;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: bold;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.3s;
}

#install-pwa-btn:hover { background-color: #1d4ed8; }

#close-pwa-banner {
    background: transparent;
    color: #6b7280;
    border: none;
    padding: 8px 16px;
    font-size: 13px;
    cursor: pointer;
}

@keyframes slideUpPwa {
    from { bottom: -100px; opacity: 0; }
    to { bottom: 24px; opacity: 1; }
}
/* استایل دادن سفارشی به Select2 برای هماهنگی با لبه‌های گرد قالب مدرن */
        .select2-container .select2-selection--single { height: 46px; border-color: #e2e8f0; border-radius: 0.75rem; display: flex; align-items: center; background-color: #f8fafc; transition: all 0.2s; }
        .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #94a3b8; font-size: 0.875rem; }
        .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { padding-right: 14px; font-size: 0.875rem; font-weight: 600; color: #334155; }
        .select2-container--default .select2-selection--single .select2-selection__arrow { top: 10px; left: 12px; right: auto; }
        .select2-container--default.select2-container--focus .select2-selection--single { background-color: #ffffff; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15); }
        .select2-dropdown { border-color: #e2e8f0; border-radius: 0.75rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05); z-index: 1050; }
        .select2-results__option { font-size: 0.875rem; padding: 8px 12px; }

        /* رفع مشکل قرارگیری تقویم زیر پاپ‌آپ‌ها و زیباسازی آن */
        jdp-container { 
            z-index: 10600 !important; 
            font-family: 'Vazirmatn', sans-serif !important;
            border-radius: 1rem !important;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
            border: 1px solid #e2e8f0 !important;
            padding: 0.6rem !important;
            background-color: #ffffff !important;
        }

        jdp-container select {
            appearance: none;
            -webkit-appearance: none;
            background-color: #f1f5f9 !important;
            border: 1px solid #e2e8f0 !important;
            border-radius: 0.5rem !important;
            padding: 0.35rem 1.25rem !important;
            font-family: 'Vazirmatn', sans-serif !important;
            font-size: 0.875rem !important;
            font-weight: bold !important;
            color: #1e293b !important;
            text-align: center;
            cursor: pointer;
            outline: none;
            transition: all 0.2s;
        }
        
        jdp-container select:hover { background-color: #e2e8f0 !important; }
        jdp-container .jdp-btn-next, jdp-container .jdp-btn-prev { background-color: #f1f5f9 !important; border-radius: 0.5rem !important; transition: all 0.2s; }
        jdp-container .jdp-btn-next:hover, jdp-container .jdp-btn-prev:hover { background-color: #e2e8f0 !important; }
        jdp-container .jdp-day, jdp-container .jdp-day-name { border-radius: 0.5rem !important; font-size: 0.875rem !important; }
        jdp-container .jdp-day.selected { background-color: #2563eb !important; color: #ffffff !important; box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.3) !important; }
        jdp-container .jdp-day.today { border: 2px solid #2563eb !important; }
        jdp-container .jdp-btn-today { background-color: #eff6ff !important; color: #2563eb !important; border: 1px solid #bfdbfe !important; border-radius: 0.5rem !important; font-family: 'Vazirmatn', sans-serif !important; font-weight: bold !important; padding: 0.5rem !important; margin-top: 0.6rem !important; transition: all 0.2s; w-full; }
        jdp-container .jdp-btn-today:hover { background-color: #2563eb !important; color: #ffffff !important; }