/* تنظیمات متغیرهای اصلی */
:root {
    /* رنگ‌های اصلی */
    --bs-primary: #1A4D73;
    --bs-secondary: #6c757d;
    --bs-success: #084035;
    --bs-danger: #cb482a;
    --bs-warning: #ffc107;
    --bs-info: rgb(140, 193, 222);
    --bs-light: #f8f9fa;
    --bs-dark: #343a40;
    --bs-purple: #6f42c1;

    /* حالت‌های hover و focus */
    --bs-primary-hover: rgb(34, 90, 133);
    --bs-primary-focus: rgb(34, 90, 133);
    --bs-primary-active: rgb(34, 90, 133);
    --bs-secondary-hover: #545b62;
    --bs-secondary-focus: #3d4349;
    --bs-secondary-active: #2e3338;
    --bs-success-hover: rgb(15, 93, 77);
    --bs-success-focus: rgb(15, 93, 77);
    --bs-success-active: rgb(15, 93, 77);
    --bs-danger-hover: rgb(220, 88, 58);
    --bs-danger-focus: rgb(220, 88, 58);
    --bs-danger-active: rgb(220, 88, 58);
    --bs-warning-hover: #e0a800;
    --bs-warning-focus: #d39e00;
    --bs-warning-active: #c69500;
    --bs-info-hover: rgb(140, 193, 222);
    --bs-info-focus: rgb(140, 193, 222);
    --bs-info-active: rgb(140, 193, 222);
    --bs-light-hover: #e2e6ea;
    --bs-light-focus: #dae0e5;
    --bs-light-active: #d6d8db;
    --bs-dark-hover: #23272b;
    --bs-dark-focus: #1d2124;
    --bs-dark-active: #171a1d;

    /* حالت‌های دیگر */
    --bs-primary-disabled: #cccccc;
    --bs-primary-readonly: #e9ecef;
    --bs-primary-visited: #0056b3;

    /* رنگ‌های RGB */
    --bs-primary-rgb: 26, 77, 115;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 8, 64, 53;
    --bs-danger-rgb: 203, 72, 42;
    --bs-warning-rgb: 255, 193, 7;
    --bs-info-rgb: 178, 223, 248;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 52, 58, 64;
}

/* تنظیمات کلی */
body {
    direction: rtl;
    text-align: right;
}

button {
    font-feature-settings: "numr";
}

.fs-8 {
    font-size: 12px;
}

/* استایل‌های سایدبار و منو */
.sidebar-menu .elementor-item:focus {
    background-color: var(--e-global-color-secondary) !important;
}

.sidebar-menu .has-submenu {
    display: flex !important;
    justify-content: space-between !important;
}

/* استایل‌های دکمه‌ها */
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-secondary {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-success {
    background-color: var(--bs-success);
    border-color: var(--bs-success);
}

.btn-danger {
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
}

.btn-warning {
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.btn-info {
    background-color: var(--bs-info);
    border-color: var(--bs-info);
}

.btn-light {
    background-color: var(--bs-light);
    border-color: var(--bs-light);
}

.btn-dark {
    background-color: var(--bs-dark);
    border-color: var(--bs-dark);
}

/* حالت‌های Hover دکمه‌ها */
.btn-primary:hover {
    background-color: var(--bs-primary-hover);
}

.btn-secondary:hover {
    background-color: var(--bs-secondary-hover);
}

.btn-success:hover {
    background-color: var(--bs-success-hover);
}

.btn-danger:hover {
    background-color: var(--bs-danger-hover);
}

.btn-warning:hover {
    background-color: var(--bs-warning-hover);
}

.btn-info:hover {
    background-color: var(--bs-info-hover);
}

.btn-light:hover {
    background-color: var(--bs-light-hover);
}

.btn-dark:hover {
    background-color: var(--bs-dark-hover);
}

/* دکمه‌های Outline */
.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
    background-color: transparent;
}

.btn-outline-secondary {
    color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    background-color: transparent;
}

.btn-outline-success {
    color: var(--bs-success);
    border-color: var(--bs-success);
    background-color: transparent;
}

.btn-outline-danger {
    color: var(--bs-danger);
    border-color: var(--bs-danger);
    background-color: transparent;
}

.btn-outline-warning {
    color: var(--bs-warning);
    border-color: var(--bs-warning);
    background-color: transparent;
}

.btn-outline-info {
    color: var(--bs-info);
    border-color: var(--bs-info);
    background-color: transparent;
}

.btn-outline-light {
    color: var(--bs-light);
    border-color: var(--bs-light);
    background-color: transparent;
}

.btn-outline-dark {
    color: var(--bs-dark);
    border-color: var(--bs-dark);
    background-color: transparent;
}

/* حالت‌های Hover دکمه‌های Outline */
.btn-outline-primary:hover {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-secondary:hover {
    color: #fff;
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-outline-success:hover {
    color: #fff;
    background-color: var(--bs-success);
    border-color: var(--bs-success);
}

.btn-outline-danger:hover {
    color: #fff;
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
}

.btn-outline-warning:hover {
    color: #212529;
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.btn-outline-info:hover {
    color: #fff;
    background-color: var(--bs-info);
    border-color: var(--bs-info);
}

.btn-outline-light:hover {
    color: #212529;
    background-color: var(--bs-light);
    border-color: var(--bs-light);
}

.btn-outline-dark:hover {
    color: #fff;
    background-color: var(--bs-dark);
    border-color: var(--bs-dark);
}

/* دکمه‌های چک‌باکس و رادیویی */
.btn-check:checked+.btn-primary,
.btn-check:checked+.btn-outline-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-check:checked+.btn-secondary,
.btn-check:checked+.btn-outline-secondary {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-check:checked+.btn-success,
.btn-check:checked+.btn-outline-success {
    background-color: var(--bs-success);
    border-color: var(--bs-success);
}

.btn-check:checked+.btn-danger,
.btn-check:checked+.btn-outline-danger {
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
}

.btn-check:checked+.btn-warning,
.btn-check:checked+.btn-outline-warning {
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.btn-check:checked+.btn-info,
.btn-check:checked+.btn-outline-info {
    background-color: var(--bs-info);
    border-color: var(--bs-info);
}

.btn-check:checked+.btn-light,
.btn-check:checked+.btn-outline-light {
    background-color: var(--bs-light);
    border-color: var(--bs-light);
}

.btn-check:checked+.btn-dark,
.btn-check:checked+.btn-outline-dark {
    background-color: var(--bs-dark);
    border-color: var(--bs-dark);
}

.btn-check:checked+.btn-outline-primary {
    color: #fff;
}

.btn-check:checked+.btn-outline-secondary {
    color: #fff;
}

.btn-check:checked+.btn-outline-success {
    color: #fff;
}

.btn-check:checked+.btn-outline-danger {
    color: #fff;
}

.btn-check:checked+.btn-outline-warning {
    color: #212529;
}

.btn-check:checked+.btn-outline-info {
    color: #fff;
}

.btn-check:checked+.btn-outline-light {
    color: #212529;
}

.btn-check:checked+.btn-outline-dark {
    color: #fff;
}

/* رنگ‌های متن */
.text-primary {
    color: var(--bs-primary);
}

.text-secondary {
    color: var(--bs-secondary);
}

.text-success {
    color: var(--bs-success);
}

.text-danger {
    color: var(--bs-danger);
}

.text-warning {
    color: var(--bs-warning);
}

.text-info {
    color: var(--bs-info);
}

.text-light {
    color: var(--bs-light);
}

.text-dark {
    color: var(--bs-dark);
}

.text-purple {
    color: var(--bs-purple);
}

/* رنگ‌های پس زمینه */
.bg-primary {
    background-color: var(--bs-primary);
}

.bg-secondary {
    background-color: var(--bs-secondary);
}

.bg-success {
    background-color: var(--bs-success);
}

.bg-danger {
    background-color: var(--bs-danger);
}

.bg-warning {
    background-color: var(--bs-warning);
}

.bg-info {
    background-color: var(--bs-info);
}

.bg-light {
    background-color: var(--bs-light);
}

.bg-dark {
    background-color: var(--bs-dark);
}

/* رنگ‌های پس زمینه نرم */
.bg-primary-subtle {
    background-color: rgba(13, 110, 253, 0.1) !important;
}

.bg-success-subtle {
    background-color: rgba(25, 135, 84, 0.1) !important;
}

.bg-warning-subtle {
    background-color: rgba(255, 193, 7, 0.1) !important;
}

.bg-danger-subtle {
    background-color: rgba(220, 53, 69, 0.1) !important;
}

.bg-info-subtle {
    background-color: rgba(13, 202, 240, 0.1) !important;
}

.bg-purple-subtle {
    background-color: rgba(111, 66, 193, 0.1) !important;
}

/* رنگ‌های soft */
.bg-soft-primary {
    background-color: rgba(13, 110, 253, 0.1) !important;
}

.bg-soft-secondary {
    background-color: rgba(108, 117, 125, 0.1) !important;
}

.bg-soft-success {
    background-color: rgba(25, 135, 84, 0.1) !important;
}

.bg-soft-warning {
    background-color: rgba(255, 193, 7, 0.1) !important;
}

.bg-soft-danger {
    background-color: rgba(220, 53, 69, 0.1) !important;
}

/* رنگ‌های حاشیه */
.border-primary {
    border-color: var(--bs-primary);
}

.border-secondary {
    border-color: var(--bs-secondary);
}

.border-success {
    border-color: var(--bs-success);
}

.border-danger {
    border-color: var(--bs-danger);
}

.border-warning {
    border-color: var(--bs-warning);
}

.border-info {
    border-color: var(--bs-info);
}

.border-light {
    border-color: var(--bs-light);
}

.border-dark {
    border-color: var(--bs-dark);
}

/* رنگ‌های هشدار */
.alert-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.alert-secondary {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.alert-success {
    background-color: var(--bs-success);
    border-color: var(--bs-success);
}

.alert-danger {
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
}

.alert-warning {
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.alert-info {
    background-color: var(--bs-info);
    border-color: var(--bs-info);
}

.alert-light {
    background-color: var(--bs-light);
    border-color: var(--bs-light);
}

.alert-dark {
    background-color: var(--bs-dark);
    border-color: var(--bs-dark);
}

/* استایل‌های فرم - Input, Select, Textarea */
input.form-control-primary,
textarea.form-control-primary,
select.form-select-primary {
    border-color: var(--bs-primary);
    background-color: transparent;
}

input.form-control-secondary,
textarea.form-control-secondary,
select.form-select-secondary {
    border-color: var(--bs-secondary);
    background-color: transparent;
}

input.form-control-success,
textarea.form-control-success,
select.form-select-success {
    border-color: var(--bs-success);
    background-color: transparent;
}

input.form-control-danger,
textarea.form-control-danger,
select.form-select-danger {
    border-color: var(--bs-danger);
    background-color: transparent;
}

input.form-control-warning,
textarea.form-control-warning,
select.form-select-warning {
    border-color: var(--bs-warning);
    background-color: transparent;
}

input.form-control-info,
textarea.form-control-info,
select.form-select-info {
    border-color: var(--bs-info);
    background-color: transparent;
}

input.form-control-light,
textarea.form-control-light,
select.form-select-light {
    border-color: var(--bs-light);
    background-color: transparent;
}

input.form-control-dark,
textarea.form-control-dark,
select.form-select-dark {
    border-color: var(--bs-dark);
    background-color: transparent;
}

/* حالت‌های Hover و Focus برای Input */
input.form-control-primary:hover,
textarea.form-control-primary:hover,
select.form-select-primary:hover {
    border-color: var(--bs-primary-hover);
}

input.form-control-primary:focus,
textarea.form-control-primary:focus,
select.form-select-primary:focus {
    border-color: var(--bs-primary-focus);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* استایل Select غیرفعال */
select:disabled {
    background-color: #f8f9fa;
    cursor: not-allowed;
}

/* استایل فیلد جستجو و انتخاب‌ها */
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
    border-right: 1px solid #aaa !important;
    border-left: none !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
    height: 30px !important;
}

.select2-fix .select2-selection {
    padding: 8px !important;
    height: 38px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
}

.select2-fix .select2-selection__arrow {
    height: 38px !important;
}

.select2-fix .select2-selection__choice {
    margin: -5px 0 0 5px !important;
    padding: 2px !important;
}

.select2-fix .select2-selection__choice .select2-selection__choice__display {
    font-size: 12px !important;
    font-weight: bold !important;
    padding-left: 20px !important;
}

.IRSans,
.datepicker-plot-area,
.select2-search__field {
    font-family: IRANSansFN !important;
    font-feature-settings: "numr" !important;
}

.select2-selection--multiple .select2-search__field {
    font-family: IRANSansFN !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 20px;
}

/* استایل‌های فونت برای Select */
select,
select option {
    font-family: IRANSansFN !important;
    font-feature-settings: "numr" !important;
}

/* استایل‌های برای bootstrap-select */
.bootstrap-select {
    width: 100% !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 5px !important;
}

.selectpicker-talign .filter-option {
    text-align: right !important;
}

/* استایل اسکرول‌بار اختصاصی */
.my-cs-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: #5c7cfa #e9ecef;
}

.my-cs-scrollbar::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.my-cs-scrollbar::-webkit-scrollbar-track {
    background: #f8f9fa;
    border-radius: 10px;
}

.my-cs-scrollbar::-webkit-scrollbar-thumb {
    background: linear-gradient(45deg, #5c7cfa, #2e547f);
    border-radius: 10px;
    transition: background 0.3s ease-in-out;
}

.my-cs-scrollbar::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(45deg, #2e547f, #364fc7);
}

.my-cs-scrollbar::-webkit-scrollbar-thumb:horizontal {
    background: linear-gradient(45deg, #5c7cfa, #4263eb);
}

/* استایل دکمه close */
.btn-close {
    color: #fff;
}

/* استایل‌های Query Monitor */
#query-monitor-main {
    display: none !important;
}

/* استایل کارت و حضور غیاب */
.attendance-status .badge {
    display: inline-block;
    margin: 0 !important;
    font-size: 0.75rem;
}

.attendance-status {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.term-freezed,
.term-absences {
    margin-top: 0.5rem;
    font-size: 0.85rem;
}

/* استایل‌های حالت خالی */
.empty-state {
    max-width: 600px;
    margin: 0 auto;
    padding: 2rem;
    background-color: #fff;
    border-radius: 1rem;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.05);
}

.empty-state-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    border-radius: 50%;
    animation: floating 3s ease-in-out infinite;
}

.empty-state-icon i {
    color: #adb5bd;
}

.empty-state-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #343a40;
}

.empty-state-description {
    font-size: 1rem;
    max-width: 400px;
    margin: 0 auto;
}

.empty-state-actions .btn {
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.empty-state-actions .btn:hover {
    transform: translateY(-2px);
}

/* انیمیشن برای آیکون */
@keyframes floating {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* استایل‌های حالت بارگذاری */
.loading {
    position: relative;
    min-height: 200px;
}

.loading::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    z-index: 1000;
}

/* استایل‌های جلسه */
.session-summary {
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .05);
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .025);
}

.stats-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* استایل‌های آکاردئون */
.accordion-item {
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .025);
}

.accordion-button {
    background-color: #fff;
}

.accordion-button:not(.collapsed) {
    background-color: #f8f9fa;
    color: #212529;
}

.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0, 0, 0, 0.125);
}

/* استایل‌های بج */
.badge {
    padding: 0.5em 0.8em;
    font-weight: 500;
}

.table tbody tr:hover {
    background-color: #f8f9fa;
}

.table-light {
    --bs-table-bg: rgba(0, 0, 0, 0.02);
}

.table>tbody>tr.table-light {
    --bs-table-bg: rgba(111, 66, 193, 0.05);
}

/* استایل گروه دکمه */
.btn-group .btn {
    padding: 0.375rem 0.75rem;
}

/* استایل‌های progress bar */
.progress {
    background-color: #e9ecef;
    overflow: hidden;
    border-radius: 1rem;
}

.progress-bar {
    transition: width 0.6s ease;
}

/* استایل jstree */
.jstree-default .jstree-anchor {
    font-family: monospace;
    font-weight: 700;
}

/* استایل‌های کارت جلسه */
.session-card-wrapper {
    max-width: 800px;
    margin: 0 auto;
}

.session-card {
    transition: all 0.3s ease;
    border-radius: 16px;
    overflow: hidden;
}

.shadow-hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
}

.shadow-hover:hover,
.session-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

/* استایل‌های countdown timer */
.countdown-timer {
    position: absolute;
    left: 15px;
}

.card-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(255, 193, 7, 0.3);
    color: #d68f3c;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* استایل‌های pulse dot */
.pulse-dot {
    width: 8px;
    height: 8px;
    background-color: #d68f3c;
    border-radius: 50%;
    position: relative;
    animation: pulse 1s infinite;
}

.pulse-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #fff;
    margin-right: 5px;
    position: relative;
}

.pulse-dot::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #fff;
    border-radius: 50%;
    animation: pulse 1.5s ease-in-out infinite;
}

/* برای جلسات در حال برگزاری */
.pulse-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #cb482a;
    box-shadow: 0 0 0 rgba(203, 72, 42, 0.4);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(0.2);
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7);
    }

    70% {
        transform: scale(1);
    }

    100% {
        transform: scale(0.2);
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7);
    }
}

/* استایل‌های teacher avatar */
.teacher-avatar img {
    width: 50px;
    height: 50px;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* استایل‌های گرید اطلاعات جلسه */
.session-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.info-item {
    display: flex;
    align-items: start;
    position: relative;
    min-width: 100px;
    gap: 0px;
    padding: 8px;
    background: rgba(0, 0, 0, 0.02);
    border-radius: 12px;
    border: 1px solid #ebebeb;
    justify-content: space-between;
}

.info-item i {
    font-size: 1rem;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* استایل‌های دکمه‌های جلسه */
.session-actions .btn.btn-cs {
    flex: 1;
    min-width: 100%;
    padding: 0.75rem 1.25rem;
    border-radius: 8px;
    font-weight: 500;
}

.countdown-section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.countdown-amount {
    font-size: 14px;
}

.countdown-period {
    font-size: 12px;
    font-size: bold;
}

/* استایل اپلود فایل */
.custom-file-upload {
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    padding: 2rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #f8f9fa;
    position: relative;
}

.cursor-pointer {
    cursor: pointer;
}

.custom-file-upload:hover {
    border-color: #0d6efd;
    background: #f1f8ff;
}

.custom-file-upload.dragover {
    border-color: #0d6efd;
    background: #e7f1ff;
}

.custom-file-upload .file-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.upload-ui {
    pointer-events: none;
}

/* استایل‌های فایل‌ها */
.selected-files .file-item {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

.selected-files .file-item .file-name {
    flex-grow: 1;
    margin-right: 1rem;
}

.selected-files .file-item .file-size {
    color: #6c757d;
    margin-right: 1rem;
}

.selected-files .file-item .remove-file {
    color: #dc3545;
    cursor: pointer;
    padding: 0.25rem;
}

/* استایل range */
.skill-range {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: #d3d3d3;
    border-radius: 5px;
    outline: none;
    transition: background 0.3s ease-in-out;
    cursor: pointer;
}

.skill-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 20px;
    width: 20px;
    background: #fff;
    border: 2px solid #999;
    border-radius: 50%;
    cursor: pointer;
    margin-top: -8px;
}

.skill-range::-webkit-slider-thumb:active {
    background: #ccc;
}

.skill-range::-moz-range-thumb {
    height: 20px;
    width: 20px;
    background: #fff;
    border: 2px solid #999;
    border-radius: 50%;
    cursor: pointer;
}

.skill-range::-moz-range-track {
    height: 6px;
    background: #d3d3d3;
    border-radius: 5px;
}

.skill-range::-webkit-slider-runnable-track {
    height: 6px;
    border-radius: 5px;
}

.nav-pills .nav-link {
    background-color: #eee;
    color: var(--bs-dark);
    border-radius: 0;
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    background-color: var(--bs-info);
    color: var(--bs-primary);
}
.nav-pills .nav-link.active {
    box-shadow: none;
    border-radius: 0;
}

/* استایل‌های مودال */
.modal-header {
    padding: 1.5rem;
    background: linear-gradient(to right, #0d283b, #18384f);
    color: white;
    position: relative;
    overflow: hidden;
}

.modal-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32' fill='none' stroke='%23fff' stroke-opacity='0.05'%3e%3cpath d='M0 .5H31.5V32'/%3e%3c/svg%3e");
    opacity: 0.1;
}

.modal-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: white !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.modal-header .text-muted {
    color: rgba(255, 255, 255, 0.8) !important;
}

.modal-close-btn {
    background: transparent;
    border: 0;
    padding: 10px;
    font-size: 18px;
    transition: all ease .3s;
}

.modal-close-btn:hover {
    transform: scale(1.1);
}

.modal-header .btn-close {
    margin: -0.5rem auto -0.5rem -0.5rem;
}

/* استایل‌های RTL */
*[dir="rtl"] .metismenu .has-arrow::after {
    left: 1em !important;
    right: auto !important;
}

/* استایل‌های مودال و SweetAlert */
.swal2-popup {
    border-radius: 16px;
    padding: 2rem;
}

.swal2-title {
    font-size: 1.5rem;
    color: #344767;
}

.swal2-html-container {
    margin: 1.5rem 0;
}

.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel {
    border-radius: 10px;
    padding: 0.75rem 1.5rem;
    font-size: 0.9rem;
    font-weight: 500;
    box-shadow: none;
}

.swal2-styled.swal2-confirm {
    background-color: var(--bs-success);
}

.swal2-styled.swal2-cancel {
    background-color: var(--bs-danger);
}

.swal2-actions {
    display: flex;
    justify-content: space-between !important;
    width: 100%;
}

.class-info-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.badge.bg-gradient-purple {
    background: linear-gradient(45deg, #6f42c1, #8250df);
    color: white;
}

.badge.bg-gradient-indigo {
    background: linear-gradient(45deg, #6610f2, #7749f8);
    color: white;
}

/* استایل‌های واکنش‌گرا */
@media (max-width: 768px) {
    .class-meta-info {
        flex-direction: column;
        gap: 8px;
    }

    .info-item {
        width: 100%;
    }

    .session-info-grid {
        grid-template-columns: 1fr;
    }

    .session-actions {
        flex-direction: column;
    }

    .session-actions .btn {
        width: 100%;
    }

    .modal-fullscreen {
        padding: 0.5rem;
    }

    .accordion-body {
        padding: 0.5rem;
    }

    .teacher-payments-container h2 {
        font-size: 1.5rem;
    }

    .teacher-payments-container .stats-value {
        font-size: 1.5rem;
    }

    .teacher-payments-container .card-body {
        padding: 15px;
    }

    #paymentDetailModal .modal-dialog {
        margin: 0.5rem;
    }

    #paymentDetailModal .modal-body {
        padding: 15px;
    }
}

/* استایل‌های داشبورد */
.dashboard-container {
    --primary-color: #0d6efd;
    --success-color: #198754;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
    --light-color: #f8f9fa;
}

/* استایل‌های فیلتر */
.filters-card {
    background: #fff;
    border-radius: 16px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.filter-group {
    margin-bottom: 1rem;
}

.filter-label {
    display: block;
    margin-bottom: 0.5rem;
    color: #344767;
    font-size: 0.875rem;
    font-weight: 500;
}

/* استایل‌های تم جلسات */
.spring-theme {
    background: linear-gradient(135deg, #4caf50, #8bc34a);
}

.summer-theme {
    background: linear-gradient(135deg, #f9a825, #ff9800);
}

.autumn-theme {
    background: linear-gradient(135deg, #ff5722, #e64a19);
}

.winter-theme {
    background: linear-gradient(135deg, #42a5f5, #1e88e5);
}

/* تنظیم آیکون‌های فصلی */
.spring-theme .fs-1,
.summer-theme .fs-1,
.autumn-theme .fs-1,
.winter-theme .fs-1 {
    font-size: 2.5rem !important;
    opacity: 0.8;
    margin-right: 15px;
}

/* استایل کاروسل جلسات در حال برگزاری */
.ls-live-sessions-carousel .owl-nav {
    position: absolute;
    top: -65px;
    left: 0;
}

.ls-live-sessions-carousel .owl-nav button {
    background-color: #18384f !important;
    color: #fff !important;
    width: 32px;
    height: 32px;
    border-radius: 50% !important;
    margin-right: 8px;
}

.ls-live-sessions-carousel .owl-nav button:hover {
    background-color: #c9dfed !important;
    color: #18384f !important;
}

.ls-live-sessions-carousel .owl-dots {
    margin-top: 15px;
}

.ls-live-sessions-carousel .item {
    max-width: 450px;
    min-width: 380px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.ls-live-sessions-carousel .card {
    height: 100%;
    border-color: #dc3545;
    box-shadow: 0 0 10px rgba(220, 53, 69, 0.3);
}

.owl-stage {
    padding-right: 0px !important;
}

.owl-stage::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 0, 0, 1), rgba(255, 0, 0, 0));
    top: 0;
    left: 0;
    pointer-events: none;
}

/* استایل‌های کارت‌های آمار */
.ls-sessions-stats .card {
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ls-sessions-stats .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.ls-sessions-stats .card-body {
    padding: 1.5rem;
}

.ls-sessions-stats .card h2 {
    font-size: 2.5rem;
    font-weight: 700;
}

/* استایل‌های تب‌های فیلتر روز */
.nav-tabs .nav-link {
    border: 1px solid #dee2e6;
    border-radius: 0.25rem 0.25rem 0 0;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
    font-weight: 500;
}

.nav-tabs .nav-link:not(.active) {
    background-color: #f8f9fa;
}

.nav-tabs .nav-link.active {
    border-bottom-color: #fff;
    background-color: #fff;
    font-weight: 600;
}

.nav-tabs .nav-link:hover:not(.active) {
    background-color: #e9ecef;
    border-color: #dee2e6;
}

/* استایل‌های تب‌های نظارت */
#supervisionTabs {
    border-bottom: 2px solid #f0f0f0;
}

#supervisionTabs .nav-link {
    color: #6c757d;
    font-weight: bold;
    padding: 10px 20px;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    transition: all 0.3s ease;
}

#supervisionTabs .nav-link:hover {
    color: #2196F3;
    background-color: rgba(33, 150, 243, 0.05);
    border-bottom-color: rgba(33, 150, 243, 0.3);
}

#supervisionTabs .nav-link.active {
    color: #154f77;
    background-color: transparent;
    border-bottom-color: #154f77;
}

/* استایل‌های دیجیتس */
.dig_critical_msg .dig_popmessage_contents {
    background-color: #ecdeb9;
}

.dig_critical_msg .dig_lase_snap,
.dig_critical_msg .dig_lase_message {
    color: #1a416c;
}

.digits-form_button,
.digits-form_button[type="submit"] {
    flex-direction: row-reverse;
}

.digits-form_button_ic {
    margin-right: 5px;
}

/* استایل‌های کارت trm */
.student-term-card {
    transition: all 0.3s ease;
}

.student-term-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

/* استایل‌های صفحه‌بندی */
.pagination .page-link {
    color: #007bff;
    background-color: #fff;
    border: 1px solid #dee2e6;
    transition: all 0.3s ease;
    border-radius: 5px;
    margin: 0 2px;
}

.pagination .page-link:hover {
    z-index: 2;
    color: #0056b3;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.pagination .page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}

.teacher-payments-container .pagination .active .page-link {
    background-color: #007bff;
    border-color: #007bff;
}

/* استایل‌های آیتم اطلاعات دانش‌آموز */
.student-info-container .list-group {
    max-height: 150px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.student-info-container .list-group-item {
    transition: all 0.2s ease;
    font-size: 0.9rem;
}

.student-info-container .list-group-item:hover {
    background-color: #f8f9fa;
}

.student-info-container .badge {
    cursor: pointer;
}

/* استایل tooltip */
.tooltip-inner {
    max-width: 300px;
    text-align: right;
    direction: rtl;
    line-height: 1.5;
    padding: 10px;
    font-family: inherit;
}

.tooltip {
    font-family: IRANSansFN !important;

}

/* استایل‌های جلسات فریز شده */
.freezed-session {
    position: relative;
    background-color: #f8f9fa;
}

.freezed-session::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(45deg,
            rgba(0, 123, 255, 0.05),
            rgba(0, 123, 255, 0.05) 10px,
            rgba(0, 123, 255, 0.1) 10px,
            rgba(0, 123, 255, 0.1) 20px);
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
}

.freezed-session .card-body,
.freezed-session .card-header,
.freezed-session .card-footer {
    position: relative;
    z-index: 1;
}

/* نمایش آیکون فریز در گوشه کارت */
.freezed-session::after {
    content: '\f2dc';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 1.5rem;
    color: rgba(0, 123, 255, 0.3);
    z-index: 2;
}

/* افکت انیمیشن برای جلسات فریز منقضی نشده */
@keyframes pulse-freeze {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }

    50% {
        transform: scale(1.05);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 0.7;
    }
}

.freezed-session:not(.freeze-expired) .badge.bg-info {
    animation: pulse-freeze 2s infinite;
}

/* استایل‌های اسکلت بارگذاری */
.skeleton-card {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    position: relative;
    overflow: hidden;
}

.skeleton-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
    background-image: linear-gradient(90deg,
            rgba(255, 255, 255, 0) 0,
            rgba(255, 255, 255, 0.2) 20%,
            rgba(255, 255, 255, 0.5) 60%,
            rgba(255, 255, 255, 0));
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

.skeleton-line {
    height: 15px;
    margin-bottom: 10px;
    border-radius: 4px;
    background-color: #e9ecef;
}

.skeleton-line-sm {
    width: 60%;
}

.skeleton-line-lg {
    height: 25px;
}

.skeleton-header,
.skeleton-footer {
    height: 50px;
    background-color: #e9ecef;
}

/* نشانگر به‌روزرسانی خودکار */
.auto-refresh-indicator {
    animation: fadeInOut 2s ease-in-out;
    transition: opacity 0.3s;
}

@keyframes fadeInOut {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 0.8;
    }

    80% {
        opacity: 0.8;
    }

    100% {
        opacity: 0;
    }
}

/* استایل‌های نظارت */
.supervision-history-content .card-header {
    transition: all 0.3s ease;
}

.supervision-history-content .card-header:hover {
    opacity: 0.9;
}

/* استایل‌های صفحه حقوق استاد */
.teacher-payments-container .card {
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
    overflow: hidden;
}

.teacher-payments-container .card:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    transform: translateY(-3px);
}

/* استایل کارت‌های آمار */
.teacher-payments-container .stats-card {
    text-align: center;
    border-top: 4px solid #007bff;
    background: #ffffff;
}

.teacher-payments-container .stats-card:nth-child(1) {
    border-top-color: #007bff;
}

.teacher-payments-container .stats-card:nth-child(2) {
    border-top-color: #28a745;
}

.teacher-payments-container .stats-card:nth-child(3) {
    border-top-color: #17a2b8;
}

.teacher-payments-container .stats-card:nth-child(4) {
    border-top-color: #ffc107;
}

.teacher-payments-container .stats-card:nth-child(5) {
    border-top-color: #dc3545;
}

.teacher-payments-container .stats-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #f8f9fa;
    margin-bottom: 15px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

.teacher-payments-container .stats-value {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: #343a40;
}

.teacher-payments-container .stats-label {
    color: #6c757d;
    font-weight: 500;
}

/* کارت فیلتر */
.teacher-payments-container .filter-card {
    margin-bottom: 25px;
}

.teacher-payments-container .filter-card .card-header {
    border-bottom: 0;
}

/* کارت‌های پرداخت */
.teacher-payments-container .payment-card {
    position: relative;
    border: none;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

.teacher-payments-container .payment-card .card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    font-weight: 600;
    padding: 15px;
}

.teacher-payments-container .payment-card .badge {
    font-size: 0.8em;
    padding: 0.35em 0.65em;
}

.teacher-payments-container .payment-card .card-body {
    padding: 20px;
}

.teacher-payments-container .payment-card .card-footer {
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    padding: 15px;
}

.teacher-payments-container .payment-card .final-salary {
    font-size: 1.3rem;
    font-weight: 700;
    color: #28a745;
    margin-top: 5px;
    display: block;
}

/* استایل‌های مودال جزئیات پرداخت */
#paymentDetailModal .modal-header {
    border-bottom: 0;
}

#paymentDetailModal .modal-body {
    padding: 20px;
    max-height: 80vh;
    overflow-y: auto;
}

#paymentDetailModal .card {
    margin-bottom: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

#paymentDetailModal .card-header {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-weight: 600;
}

#paymentDetailModal .info-item i {
    width: 20px;
    text-align: center;
}

#paymentDetailModal #modalFinalSalary {
    font-weight: 700;
    color: #28a745;
    font-size: 1.3rem;
}

/* استایل آکاردئون‌ها در مودال */
#paymentDetailModal .accordion-item {
    border: 1px solid rgba(0, 0, 0, 0.125);
    margin-bottom: 10px;
    border-radius: 8px;
    overflow: hidden;
}

#paymentDetailModal .accordion-button {
    font-weight: 600;
    padding: 15px;
    background-color: #f8f9fa;
}

#paymentDetailModal .accordion-button:not(.collapsed) {
    background-color: #e7f1ff;
    color: #007bff;
}

#paymentDetailModal .accordion-body {
    padding: 20px;
    background-color: #ffffff;
}

#paymentDetailModal .category-card {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

#paymentDetailModal .category-card .card-header {
    padding: 12px 15px;
    font-weight: 600;
}

/* کارت‌های آمار در صفحه پروفایل استاد */
#teacherPeriodStatsCards .card {
    transition: all 0.3s ease;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border: none;
}

#teacherPeriodStatsCards .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
}

#teacherPeriodStatsCards .card-title {
    color: #555;
    font-weight: 600;
    margin-bottom: 1rem;
}

#teacherPeriodStatsCards .card-text {
    color: #333;
    font-weight: 700;
}

#teacherPeriodStatsCards .card-footer {
    background-color: rgba(0, 0, 0, 0.02);
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

/* رنگ‌های خاص هر کارت */
#teacherPeriodStatsCards .col-md-3:nth-child(1) .card {
    border-top: 4px solid #4e73df;
}

#teacherPeriodStatsCards .col-md-3:nth-child(2) .card {
    border-top: 4px solid #1cc88a;
}

#teacherPeriodStatsCards .col-md-3:nth-child(3) .card {
    border-top: 4px solid #f6c23e;
}

#teacherPeriodStatsCards .col-md-3:nth-child(4) .card {
    border-top: 4px solid #e74a3b;
}

/* استایل‌های popover */
.cs-popover {
    font-family: IRANSansFN !important;
    font-feature-settings: "numr" !important;
    --bs-popover-max-width: 400px !important;
    --bs-popover-min-width: 400px !important;
}

/* استایل آیتم‌های دوره */
.period-item {
    transition: all 0.2s ease;
    cursor: pointer;
    border-radius: 8px;
    margin-bottom: 8px;
}

.glass-effect {
    position: relative;
    overflow: hidden;
}

.glass-effect::after {
    content: '';
    position: absolute;
    background: rgba(45, 115, 92, 0);
    animation: glass-animation 4s infinite;
    left: 0;
    top: -5px;
    width: 15px;
    height: 50px;
    transform: skew(15deg, 15deg);
    box-shadow: inset 0px 0px 10px 0px rgba(45, 115, 92, 0.3);
}

@keyframes glass-animation {

    0%,
    25% {
        left: 0;
        background: rgba(45, 115, 92, 0);
        box-shadow: inset 0px 0px 10px 0px rgba(45, 115, 92, 0);
    }

    50% {
        background: rgba(45, 115, 92, 0.1);
        box-shadow: inset 0px 0px 10px 0px rgba(45, 115, 92, 0.3);
    }

    75%,
    100% {
        left: 90px;
        background: rgba(45, 115, 92, 0);
        box-shadow: inset 0px 0px 10px 0px rgba(45, 115, 92, 0);
    }
}

.period-item:hover {
    background-color: rgba(0, 0, 0, 0.03);
}

.period-item.active {
    background-color: rgba(0, 123, 255, 0.1);
    border-right: 4px solid #007bff;
}

/* استایل برای نمایش فایل‌های پیوست */
.selected-file-item {
    padding: 5px 10px;
    border-radius: 4px;
    background-color: #f8f9fa;
    display: inline-flex;
    align-items: center;
    margin-right: 10px;
    margin-bottom: 10px !important;
}

.file-name {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#currentAttachment a {
    text-decoration: none;
    color: #0d6efd;
}

#currentAttachment a:hover {
    text-decoration: underline;
}

.form-check-input.file-delete-checkbox:checked {
    background-color: #dc3545;
    border-color: #dc3545;
}

/* نمایش رنگی برای فایل‌های انتخاب شده برای حذف */
.form-check-input.file-delete-checkbox:checked+label a {
    text-decoration: line-through;
    color: #dc3545;
}

/* استایل برای دکمه حذف موارد انتخاب شده */
#deleteSelectedFiles {
    margin-top: 10px;
}

/* استایل برای summaryInfo */
#summaryInfo {
    background-color: #f8f9fa;
    padding: 1rem;
    border-radius: 4px;
}

/* جعبه‌های خلاصه */
.summary-box {
    font-size: 0.9rem;
}

.total-box {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s;
}

.total-box:hover {
    transform: translateY(-2px);
}

.total-box h3 {
    margin: 10px 0;
    font-weight: bold;
}

/* لیست دانش‌آموزان */
.students-list {
    max-height: 200px;
    overflow-y: auto;
    padding-right: 0;
}

/* استایل آیکون‌ها */
.bi {
    line-height: 1;
    vertical-align: middle;
}

/* استایل پیش‌نمایش فاکتور */
#invoice_preview {
    position: absolute;
    width: 500px;
    bottom: 125px;
    left: 0;
    z-index: 99;
    box-shadow: 10px 10px 15px 0px rgba(30, 30, 30, .15);
}

/* استایل‌های چاپ */
@media print {

    .modal-footer,
    .btn-close,
    .no-print {
        display: none !important;
    }

    .accordion-collapse {
        display: block !important;
    }

    .modal {
        position: static;
        display: block;
    }

    .modal-dialog {
        margin: 0;
        max-width: none;
    }
}

/* استایل اسپینر بارگذاری */
#loadingSpinner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    background: rgba(255, 255, 255, 0.8);
    padding: 2rem;
    border-radius: 8px;
}

/* استایل hover-shadow */
.hover-shadow {
    transition: all 0.3s ease;
}

.hover-shadow:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* استایل‌های عمومی کارت‌ها */
.card-header h5 {
    margin-bottom: 0;
}

.upcoming-session-card {
    border: 1px dashed rgba(13, 110, 253, 0.3) !important;
    transition: all 0.3s ease;
}

.upcoming-session-card:hover {
    border-color: rgba(13, 110, 253, 0.5) !important;
    box-shadow: 0 0.125rem 0.25rem rgba(13, 110, 253, 0.15) !important;
}

.upcoming-session-card .card-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 4px 8px;
    border-radius: 20px;
    font-size: 12px;
    z-index: 100;
}

.upcoming-session-card .teacher-info {
    opacity: 0.8;
}


/* استایل برای تب‌ها */
#sessionsTab .nav-link {
    color: #6c757d;
    border-radius: 0;
    padding: 12px 20px;
    font-weight: 500;
    transition: all 0.2s ease;
}

#sessionsTab .nav-link.active {
    color: #0d6efd;
    border-color: #dee2e6 #dee2e6 #fff;
    border-bottom: 2px solid #0d6efd;
}

#sessionsTab .nav-link:hover:not(.active) {
    background-color: rgba(13, 110, 253, 0.05);
    border-color: #e9ecef #e9ecef #dee2e6;
}

#sessionsTab .badge {
    padding: 5px 8px;
    font-size: 0.7rem;
}

/* استایل اضافی برای بهبود ظاهر تب‌ها */
.tab-content {
    padding: 20px 0;
}

.tab-pane {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.tab-pane.show.active {
    opacity: 1;
}

.user-switcher-back-btn {
    white-space: nowrap;
    overflow: hidden !important;
    text-overflow: ellipsis;
}

.card-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 12px;
    z-index: 100;
    background: rgba(255, 193, 7, 0.2);
    color: #fd7e14;
    display: inline-table;
}

.external-posts-carousel .navigation-buttons {
    top: 20px;
    left: 10px;
    width: 100px;
}

.external-posts-carousel .read-more a i {
    transition: all ease 0.3s;
}

.external-posts-carousel .read-more:hover a i {
    padding-right: 10px;
}

/* موبایل */
@media (max-width: 768px) {

    .external-posts-carousel .card-body {
        padding: 2rem !important;
    }

    .external-posts-carousel .card-title {
        font-size: 1.2rem;
    }

    .external-posts-carousel .post-meta .row {
        flex-direction: column;
    }

    .external-posts-carousel .vr {
        display: none;
    }

    .external-posts-carousel .carousel-control-prev,
    .external-posts-carousel .carousel-control-next {
        width: 45px;
        height: 45px;
    }

    .external-posts-carousel .carousel-control-prev {
        right: 10px;
    }

    .external-posts-carousel .carousel-control-next {
        left: 10px;
    }

    .ls-live-sessions-carousel .item {
        min-width: auto !important;
    }
    
    .ls-live-sessions-carousel .owl-nav {
        display: none;
    }
    
    .modal-header {
        padding: 1rem;
        background: linear-gradient(to right, #0d283b, #18384f);
        border-bottom: 0;
    }

    .modal-title {
        font-size: 1.2rem;
        font-weight: 600;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .modal-header .text-muted {
        font-size: 0.9rem;
        color: rgba(255, 255, 255, 0.75) !important;
    }

    .modal-close-btn {
        font-size: 16px;
        padding: 8px;
    }

    .modal-header .btn-close {
        margin: -0.3rem auto -0.3rem -0.3rem;
    }

    .modal-body {
        padding: 0 !important;
    }

}

.pwa-shadow {
    box-shadow: -5px -5px 9px rgba(230, 230, 230, 0.45), 5px 5px 9px rgba(94, 104, 121, 0.3) !important;
}

.pwa-score-badge {
    position: absolute;
    top: -50px;
    left: -25px;
    font-size: 75px !important;
}

.pwa-score-badge-text {
    position: absolute;
    bottom: 0;
    min-width: 60px;
    font-weight: bold;
    left: -35px;
}
.pwa_msg_dropdown {
    display: none;
}
.pwa_msg_dropdown.active {
    display: block;
    animation: pwa_msg_fadeIn 0.3s ease;
}

@keyframes pwa_msg_fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.avatar-css-40 {
    object-fit: cover;
    height: 40px !important;
    width: 40px;
}

.class-update-date-field {
    display: none;
}

.class-update-date-field.show {
    display: block;
}


        /* استایل‌های موبایل و تبلت */
        @media screen and (max-width: 1024px) {
            .e-n-tabs-heading {
                position: fixed !important;
                bottom: 0;
                left: 0;
                right: 0;
                z-index: 1040;
                background: #ffffff;
                border-top: 1px solid #e0e0e0;
                box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
                display: flex !important;
                justify-content: space-around;
                align-items: center;
                padding: 8px 0;
                height: 70px;
            }

            .e-n-tab-title {
                flex: 1;
                display: flex !important;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                background: none !important;
                border: none !important;
                padding: 4px 2px !important;
                margin: 0 !important;
                min-height: 54px;
                cursor: pointer;
                transition: all 0.3s ease;
                position: relative;
                text-decoration: none;
            }

            .e-n-tab-title:hover,
            .e-n-tab-title:focus {
                background: rgba(0, 123, 255, 0.1) !important;
                outline: none;
            }

            .e-n-tab-title[aria-selected="true"]::before {
                content: '';
                position: absolute;
                top: 0;
                left: 50%;
                transform: translateX(-50%);
                width: 30px;
                height: 3px;
                background: #194d74;
                border-radius: 0 0 3px 3px;
            }

            .e-n-tab-icon {
                display: block !important;
                width: 28px !important;
                height: 28px !important;
                margin-bottom: 0 !important;
            }

            .e-n-tab-icon svg {
                width: 100% !important;
                height: 100% !important;
                fill: currentColor;
            }

            .e-n-tab-title-text {
                display: none !important;
            }

            /* فضای اضافی برای محتوا */
            body {
                padding-bottom: 80px !important;
            }
            
/* استایل آیتم فعال */
.e-n-tab-title[aria-selected="true"] {
    color: #194d74 !important; /* رنگ کلی آیتم فعال */
}
.e-n-tab-title[aria-selected="true"] .e-n-tab-icon {
    display: flex !important;
}
.e-n-tab-title[aria-selected="true"] .e-n-tab-icon svg:first-child {
    display: none !important;
}

.e-n-tab-title[aria-selected="true"] .e-n-tab-icon {
    opacity: 1 !important; /* شفافیت کامل برای آیکون فعال */
    color: #194d74 !important; /* رنگ آیکون فعال */
}

.e-n-tab-title[aria-selected="true"] .e-n-tab-icon svg {
    fill: #194d74 !important; /* رنگ SVG آیکون فعال */
}

/* آیتم‌های غیرفعال */
.e-n-tab-title[aria-selected="false"] {
    color: #194d74 !important; /* رنگ آیتم‌های غیرفعال */
}

.e-n-tab-title[aria-selected="false"] .e-n-tab-icon {
    opacity: 0.6 !important; /* شفافیت کمتر برای آیکون‌های غیرفعال */
    color: #194d74 !important; /* رنگ آیکون‌های غیرفعال */
}

.e-n-tab-title[aria-selected="false"] .e-n-tab-icon svg {
    fill: #194d74 !important; /* رنگ SVG آیکون‌های غیرفعال */
}
            /* حالت تاریک */
            @media (prefers-color-scheme: dark) {
                .e-n-tabs-heading {
                    background: #eee;
                    color: #ffffff;
                }

                .e-n-tab-title:hover,
                .e-n-tab-title:focus {
                    background: rgba(255, 255, 255, 0.1) !important;
                }
            }
        }

        /* برای تبلت - اندازه بزرگتر */
        @media screen and (min-width: 768px) and (max-width: 1024px) {
            .e-n-tabs-heading {
                height: 70px;
                padding: 10px 0;
            }

            .e-n-tab-title {
                min-height: 50px;
                padding: 6px 4px !important;
            }

            .e-n-tab-icon {
                width: 32px !important;
                height: 32px !important;
                margin-bottom: 0 !important;
            }

            .e-n-tab-title-text {
                display: none !important;
            }

            body {
                padding-bottom: 80px !important;
            }
        }

