:root {
    --notice-info-bg: #3b82f6;
    --notice-info-border: #2563eb;
    --notice-success-bg: #22c55e;
    --notice-success-border: #16a34a;
    --notice-warning-bg: #fb923c;
    --notice-warning-border: #f97316;
    --notice-error-bg: #ef4444;
    --notice-error-border: #dc2626;

    --bill-surface: #ffffff;
    --bill-border: #e4e8f1;
    --bill-soft: #f4f6fb;
    --bill-muted: #64748b;
    --bill-accent: #1d4ed8;
    --bill-accent-strong: #1e40af;
    --bill-accent-soft: #e5edff;
}

/* پس‌زمینه تصویری مشترک (استفاده در لاگین و صفحات داخلی) */
.app-bg-image {
    /* استفاده از تصویر پس‌زمینه لاگین */
    background-image: url('/Assets/images/login-bg.jpg');
    /* پر کردن کل پس‌زمینه بدون حفظ نسبت طول/عرض */
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}

body.theme-dark {
    --bill-surface: #1c2437;
    --bill-border: rgba(255, 255, 255, .12);
    --bill-soft: rgba(96, 165, 250, .08);
    --bill-muted: #9fb0d9;
    --bill-accent: #3b82f6;
    --bill-accent-strong: #1e3a8a;
    --bill-accent-soft: rgba(96, 165, 250, .18);

    /* Bootstrap vars - جلوگیری از سفید شدن surface ها در تم تاریک */
    --bs-tertiary-bg: #0f172a;
    --bs-tertiary-bg-rgb: 15, 23, 42;
}

.account-menu {
    min-width: 260px;
    padding: .5rem .6rem;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .12);
}

/* Dropdown Header (Bootstrap) - رنگ یکسان و خوانا در هر دو تم */
.dropdown-menu .dropdown-header,
.dropdown-header {
    color: #fbbf24 !important; /* amber-400 (زرد واضح‌تر) */
    font-weight: 700;
}

body.theme-dark .dropdown-menu .dropdown-header,
body.theme-dark .dropdown-header {
    color: #fde047 !important; /* yellow-300 (خواناتر روی زمینه تیره) */
}

/* مودال‌هایی که footer ندارند: گرد کردن گوشه‌های پایین محتوای مودال */
.modal .modal-content:not(:has(.modal-footer)) .modal-body {
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
}

.account-menu-card {
    display: flex;
    align-items: center;
    /* justify-content: center; */
    gap: .75rem;
    flex-direction: row;
 
}

.account-menu-card > * {
    flex: 0 0 auto;
}

.account-menu-avatar {
    order: -1;
}

.account-menu-info {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    flex: 1 1 0;
    min-width: 0;
    /* align-items: center; */
    text-align: center;
    
}

.account-menu-row {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: #1f2937;
}

.account-menu-label {
    color: #94a3b8;
    font-weight: 600;
}



.account-menu-row-icon {
    color: #14b8a6;
}

.account-menu-row-office {
    flex-wrap: nowrap;
}
.account-menu-row-office .account-menu-value {
    min-width: 0;
}
/* دکمه/لینک ویرایش نام دفتر: بدون پدینگ و بکگراند */
/* .office-name-edit-btn {
    padding: 0 !important;
    background: none !important;
    border: none !important;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 10px;
} */
.office-name-edit-btn:hover {
    background: none !important;
}
.account-menu-row-office .office-name-edit-btn {
    text-decoration: none;
    flex-shrink: 0;
    margin-inline-start: 0.35rem;
}
.account-menu-row-office .office-name-edit-btn:hover {
    color: var(--bs-primary) !important;
}
/* دکمه ویرایش نام دفتر وقتی به‌صورت آیتم منو است (بالای تغییر رمز) */
.account-menu-actions .office-name-edit-btn {
    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x) !important;
}
.account-menu-actions .office-name-edit-btn:hover {
    background: var(--bs-dropdown-link-hover-bg) !important;
    color: var(--bs-dropdown-link-hover-color) !important;
}

/* نام دفتر در یک خط (توپ‌بار و منوی موبایل) */
.office-name-text,
#officeNameDisplay {
    white-space: nowrap;
    color: #1e40af; /* آبی تیره در تم روشن */
}
body.theme-dark .office-name-text,
body.theme-dark #officeNameDisplay {
    color: #93c5fd; /* آبی روشن در تم تیره */
}

.account-menu-avatar {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.account-menu-avatar i {
    font-size: 1.45rem;
    line-height: 1;
}

.account-menu-divider {
    margin: .35rem 0 .5rem;
}

.account-menu-actions .dropdown-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .6rem;
    text-align: right;
    border-radius: 10px;

 
}



.menu-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background-color: #ef4444;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, .15);
    margin-inline-start: .45rem;
}

.nav-new-badge {
    display: inline-block;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1.2;
    padding: .12rem .4rem;
    border-radius: 999px;
    background: #facc15;
    color: #713f12;
    vertical-align: middle;
    flex-shrink: 0;
}

body.theme-dark .nav-new-badge {
    background: #eab308;
    color: #422006;
}

.mobile-nav-link.disabled {
    opacity: .55;
    cursor: not-allowed;
    pointer-events: none;
}

/* اعلان تیکت در اولین آیتم منوی کناری — زرد / کهربایی */
.nav-ticket-menu-highlight {
    border-radius: .85rem;
    background: rgba(250, 204, 21, 0.28);
    color: #854d0e !important;
    font-weight: 600;
}
body.theme-dark .nav-ticket-menu-highlight {
    color: #fde047 !important;
    background: rgba(234, 179, 8, 0.22);
}

@keyframes nav-ticket-bell-swing {
    0%,
    100% {
        transform: rotate(0deg);
    }
    12% {
        transform: rotate(14deg);
    }
    24% {
        transform: rotate(-12deg);
    }
    36% {
        transform: rotate(8deg);
    }
    48% {
        transform: rotate(-6deg);
    }
    60% {
        transform: rotate(3deg);
    }
    72% {
        transform: rotate(0deg);
    }
}

.nav-ticket-menu-highlight .nav-main-icon i {
    display: inline-block;
    transform-origin: 50% 0;
    animation: nav-ticket-bell-swing 2.2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .nav-ticket-menu-highlight .nav-main-icon i {
        animation: none;
    }
}


/* کیف پول – منوی بالای صفحه */
#topbar-wallet-balance {
    margin-right: 0.35rem;
}
.wallet-menu {
    min-width: 220px;
}

/* کارت خلاصه اعتبار داخل منوی کیف پول (بالای صفحه) */
.wallet-menu-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .6rem;
    padding: .6rem .75rem;
    /* border-radius: .9rem;
    background-color: transparent; /* حذف بک‌گراند تیره؛ از پس‌زمینه خود منو استفاده شود */
    /* border: 1px solid rgba(148, 163, 184, .45); */ 
}

.wallet-menu-balance {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    text-align: center;
}



.wallet-menu-amount {
    font-weight: 700;
    /* رنگ مانده اعتبار در تم روشن */
    color: rgb(49 193 176);
    /* font-size: 1.15rem; */ /* کمی درشت‌تر برای مانده اعتبار */
}

/* در تم تیره کمی پررنگ‌تر شود تا روی پس‌زمینه تیره خواناتر باشد */
body.theme-dark .wallet-menu-amount {
    color: rgb(49 247 148);
}

.wallet-menu-btn {
    border: none;
    border-radius: .7rem;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    cursor: pointer;
    width: 100%;
    justify-content: center;
}



body.theme-dark .wallet-menu {
    background-color: #0b1220;
    border-color: rgba(148, 163, 184, .35);
    color: #e5ecff;
    box-shadow: 0 18px 36px rgba(3, 7, 18, .7);
}

body.theme-dark .wallet-menu .dropdown-item,
body.theme-dark .wallet-menu li {
    color: #e5ecff;
}

body.theme-dark .account-menu {
    background-color: #0b1220;
    border-color: rgba(148, 163, 184, .35);
    color: #e5ecff;
    box-shadow: 0 18px 36px rgba(3, 7, 18, .7);
}

body.theme-dark .account-menu-row {
    color: #e5ecff;
}

body.theme-dark .account-menu-label {
    color: #94a3b8;
}

body.theme-dark .account-menu-avatar {
    background: rgba(148, 163, 184, .2);
    color: #cbd5f5;
}







.dropdown-item.active {
    background-color: rgba(59, 130, 246, .12) !important;
    color: #1f2a45 !important;
}

body.theme-dark .dropdown-item.active {
    background-color: rgba(59, 130, 246, .45) !important;
    color: #e5ecff !important;
}

body.theme-dark .vertical-navbar .dropdown-menu .dropdown-item {
    color: #e5ecff;
}

body.theme-dark .vertical-navbar .dropdown-menu .dropdown-item i {
    color: #cbd5f5;
}

body.theme-dark .vertical-navbar .dropdown-menu .dropdown-item.text-danger,
body.theme-dark .vertical-navbar .dropdown-menu .dropdown-item.text-danger i {
    color: #f87171;
}

body.theme-dark .vertical-navbar .dropdown-menu .dropdown-item:hover,
body.theme-dark .vertical-navbar .dropdown-menu .dropdown-item:focus {
    background-color: rgba(96, 165, 250, .12);
}

body.theme-dark .vertical-navbar .dropdown-menu .dropdown-item:hover i,
body.theme-dark .vertical-navbar .dropdown-menu .dropdown-item:focus i {
    color: #93c5fd;
}

body {
    font-size: .875rem;
    --bs-btn-font-size: .875rem;
}





.dropdown-menu {
    --bs-dropdown-font-size: .875rem;
    font-size: var(--bs-dropdown-font-size) !important;
}

/* کاهش اندازه پلاک در رسید کلی */
#multiReceiptPlate {
    display: flex;
    width: 100%;
    justify-content: center;
}

#multiReceiptPlate .plate-ui {
    height: 2.2rem;
    width: auto;
    max-width: 220px;
    margin: 0;
    display: flex;
    justify-content: center;
}

#multiReceiptPlate .plate-ui * {
    margin-inline: 0 !important;
}

#multiReceiptPlate .plate-ui input {
    /* font-size: .95rem; */
    font-weight: 700;
}

#multiReceiptPlate .plate-ui img {
    max-width: 30px;
}

#multiReceiptPlate .plate-moto {
    height: auto;
    width: auto;
    max-width: 220px;
    margin: 0 auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.print-only {
    display: none;
}



#carGrid th {
    white-space: nowrap;
}

#multiReceiptContainer .table,
#billMultiReceiptContainer .table {
    table-layout: fixed;
}

/* جزئیات استعلام گواهینامه: جلوگیری از چپ‌چین/وسط‌چین شدن با استایل‌های عمومی */
/* نکته: چاپ تکی فقط #receiptContainerDrivingLicense را در iframe می‌فرستد (بدون مودال) */
#multiReceiptContainer .multi-receipt-driving-license-table,
#multiReceiptContainer .multi-receipt-driving-license-table thead th,
#multiReceiptContainer .multi-receipt-driving-license-table tbody td,
#receiptModalDrivingLicense .driving-license-details-table,
#receiptModalDrivingLicense .driving-license-details-table thead th,
#receiptModalDrivingLicense .driving-license-details-table tbody td,
#receiptContainerDrivingLicense .driving-license-details-table,
#receiptContainerDrivingLicense .driving-license-details-table thead th,
#receiptContainerDrivingLicense .driving-license-details-table tbody td,
#receiptModalNegativeScore .driving-license-details-table,
#receiptModalNegativeScore .driving-license-details-table thead th,
#receiptModalNegativeScore .driving-license-details-table tbody td,
#receiptContainerNegativeScore .driving-license-details-table,
#receiptContainerNegativeScore .driving-license-details-table thead th,
#receiptContainerNegativeScore .driving-license-details-table tbody td {
    direction: rtl !important;
    text-align: right !important;
    unicode-bidi: isolate;
}

#receiptLayoutNegativeScore .receipt-details .driving-license-details-table th,
#receiptLayoutNegativeScore .receipt-details .driving-license-details-table td {
    direction: rtl !important;
    text-align: right !important;
    unicode-bidi: isolate;
}

/* رسید تکی نمره منفی: کد ملی — برچسب خاکستری بالا، مقدار درشت وسط */
#receiptContainerNegativeScore .receipt-national-id-stack__label {
    color: #6c757d;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 0.35rem;
}

#receiptContainerNegativeScore .receipt-national-id-stack__value {
    font-size: 20px;
    color: #212529;
    line-height: 1.35;
    letter-spacing: 0.02em;
}

body.theme-dark #receiptContainerNegativeScore .receipt-national-id-stack__label {
    color: #adb5bd;
}

body.theme-dark #receiptContainerNegativeScore .receipt-national-id-stack__value {
    color: #f8f9fa;
}

/* بخش یک‌پارچه پلاک و کد ملی؛ نمایش/مخفی شدن ردیف‌ها و کل بخش از JS کنترل می‌شود */
/* ستون وضعیت فقط برای تاریخچه پلاک و پلاک فعال نمایش داده می‌شود (فقط جدول دارای #multiReceiptRows) */
#multiReceiptContainer table:has(#multiReceiptRows) thead th:nth-child(3),
#multiReceiptContainer table:has(#multiReceiptRows) tbody td:nth-child(3) {
    display: none;
}
#multiReceiptContainer table:has(#multiReceiptRows).multi-receipt-show-status-col thead th:nth-child(3),
#multiReceiptContainer table:has(#multiReceiptRows).multi-receipt-show-status-col tbody td:nth-child(3) {
    display: table-cell;
}
/* برای تاریخچه پلاک، نمره منفی و پلاک فعال: ستون‌های نوع چاپ، شناسه قبض، شناسه پرداخت و مبلغ بدهی در رسید کلی مخفی (ستون وضعیت = 3 نمایش داده می‌شود) */
#multiReceiptContainer table.multi-receipt-hide-bill-cols thead th:nth-child(4),
#multiReceiptContainer table.multi-receipt-hide-bill-cols thead th:nth-child(5),
#multiReceiptContainer table.multi-receipt-hide-bill-cols thead th:nth-child(6),
#multiReceiptContainer table.multi-receipt-hide-bill-cols thead th:nth-child(7),
#multiReceiptContainer table.multi-receipt-hide-bill-cols tbody td:nth-child(4),
#multiReceiptContainer table.multi-receipt-hide-bill-cols tbody td:nth-child(5),
#multiReceiptContainer table.multi-receipt-hide-bill-cols tbody td:nth-child(6),
#multiReceiptContainer table.multi-receipt-hide-bill-cols tbody td:nth-child(7) {
    display: none;
}
#multiReceiptContainer .multi-receipt-bill-barcode,
#multiReceiptContainer .multi-receipt-pay-barcode,
#billMultiReceiptContainer .multi-receipt-bill-barcode,
#billMultiReceiptContainer .multi-receipt-pay-barcode {
    max-width: 100%;
    min-height: 20px;
}
/* در مودال بارکد جمع نشود (فلکس) — ردیف جدا برای رسید کلی قبض */
#billMultiReceiptContainer .multi-receipt-id-cell .multi-receipt-bill-barcode,
#billMultiReceiptContainer .multi-receipt-id-cell .multi-receipt-pay-barcode,
#billMultiReceiptContainer .bill-mr-row-split-barcodes .multi-receipt-bill-barcode,
#billMultiReceiptContainer .bill-mr-row-split-barcodes .multi-receipt-pay-barcode {
    flex-shrink: 0;
    min-height: 32px;
    display: block;
}
#multiReceiptContainer .multi-receipt-bill-barcode svg,
#multiReceiptContainer .multi-receipt-pay-barcode svg,
#billMultiReceiptContainer .multi-receipt-bill-barcode svg,
#billMultiReceiptContainer .multi-receipt-pay-barcode svg {
  max-width: 100%;
  height: auto;
}

/* ردیف‌های انتخاب‌نشده در جدول رسید کلی: فیلتر خاکستری به‌جز ستون انتخاب */
#multiReceiptContainer #multiReceiptRows tr:has(.multi-receipt-row-check:not(:checked)) td:not(:first-child) {
  background-color: rgba(0, 0, 0, 0.06);
  opacity: 0.75;
}
#multiReceiptContainer #multiReceiptRows tr:has(.multi-receipt-row-check:not(:checked)) td:first-child {
  background-color: inherit;
  opacity: 1;
}

#multiReceiptContainer .receipt-detail-type,
#multiReceiptContainer .receipt-edit-cost,
#billMultiReceiptContainer .receipt-detail-type,
#billMultiReceiptContainer .receipt-edit-cost,
#ibanMultiReceiptContainer .receipt-edit-cost {
  font-size: 12px;
}

/* جدول رسید کلی شبا: عرض یکسان ستون‌ها و اسکرول افقی */
#ibanMultiReceiptContainer .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#ibanMultiReceiptContainer .table-responsive .table {
  table-layout: fixed;
  width: 100%;
  min-width: 400px;
}
#ibanMultiReceiptContainer .bill-multi-receipt-col-service,
#ibanMultiReceiptContainer .bill-multi-receipt-col-status,
#ibanMultiReceiptContainer .bill-multi-receipt-col-print-type,
#ibanMultiReceiptContainer .bill-multi-receipt-col-cost {
  width: 25%;
}

/* بلوک‌های جزئیات رسید کلی شبا: چیدمان افقی و عرض کامل */
#ibanMultiReceiptContainer #ibanMultiReceiptDetailsContainer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
#ibanMultiReceiptContainer #ibanMultiReceiptDetailsContainer .bill-multi-receipt-detail-block {
  flex: 1 1 100%;
  min-width: 0;
  width: 100%;
}
#ibanMultiReceiptContainer #ibanMultiReceiptDetailsContainer .bill-multi-receipt-detail-block table {
  width: 100%;
  table-layout: fixed;
}
/* ستون نام بانک در بلوک جزئیات رسید کلی شبا: عرض کمتر تا جای بیشتری برای شبا باشد */


/* هدر بلوک‌های جزئیات و خطا در رسید کلی: آیکن و متن هم‌راستا */
#multiReceiptContainer .multi-receipt-detail-header,
#billMultiReceiptContainer .multi-receipt-detail-header {
  display: flex;
  align-items: center;
}

/* جدول جزئیات رسید کلی قبض: ۸ ستون (۴ جفت عنوان–مقدار) */
#billMultiReceiptContainer .bill-multi-receipt-details-8col,
.bill-multi-receipt-detail-block .bill-multi-receipt-details-8col {
  width: 100%;
  table-layout: fixed;
}
#billMultiReceiptContainer .bill-multi-receipt-details-8col td,
.bill-multi-receipt-detail-block .bill-multi-receipt-details-8col td {
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

/* جدول رسید کلی پست: عرض یکسان ستون‌ها */
#postalMultiReceiptContainer .table-responsive .table {
  table-layout: fixed;
  width: 100%;
}
#postalMultiReceiptContainer .bill-multi-receipt-col-service {
  width: 40%;
}
#postalMultiReceiptContainer .bill-multi-receipt-col-status-print {
  width: 35%;
}
#postalMultiReceiptContainer .bill-multi-receipt-col-cost {
  width: 25%;
}

/* ===================== رسید گواهی کدپستی پست ===================== */
.postal-cert-wrapper {
  margin-top: 1.25rem;
}

.postal-cert-actions {
  text-align: left;
  margin-bottom: .5rem;
}

.postal-cert-card {
  padding: 1.5rem;
  direction: rtl;
  background-color: #ffffff;
}

.pc-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.9rem;
}

.pc-header > * {
  flex: 1 1 0;
}

.pc-head-text {
  text-align: center;
}

.pc-title-main {
  font-size: 1rem;
  font-weight: 600;
}

.pc-title-en {
  font-size: .75rem;
}

.pc-title-sub {
  font-size: .8rem;
  font-weight: 600;
  margin-top: -2px;
}

.pc-logo-box {
  text-align: right;
}

.pc-logo {
  max-width: 74px;
  height: auto;
}

/* گواهی کدپستی: باکس مهر و امضا مثل آزادراه/طرح ترافیک (receipt-signature + fw-signature) */
.postal-cert-card .receipt-signature.fw-signature.postal-cert-stamp-signature {
  width: 250px;
  max-width: 100%;
  height: auto;
  min-height: 115px;
  padding: 10px 8px;
  box-sizing: border-box;
  margin-top: 0;
}

.postal-cert-card .pc-stamp-cost-line {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  line-height: 1.35;
  max-width: 100%;
  font-size: 0.68rem;
  color: #6b7280;
}

.postal-cert-card .postal-cert-stamp-signature .pc-stamp-cost-line #pc-cert-inquiry-cost,
.postal-cert-card .postal-cert-stamp-signature .pc-stamp-cost-line #pc-multi-cert-inquiry-cost {
  font-size: 0.68rem;
  font-weight: 700;
  color: #111827;
  word-break: break-word;
}

/* هزینه داخل مهر: فقط در چاپ گواهی (نه در مودال) */
.postal-cert-card .pc-stamp-cost-line.pc-stamp-cost-screen-hidden {
  display: none !important;
}

/* هزینه صفر: کل خط «هزینه استعلام» (برچسب + مقدار) در مودال و چاپ نمایش داده نشود */
.postal-cert-card .pc-stamp-cost-line.pc-stamp-cost-empty {
  display: none !important;
}

@media print {
  #postal-cert-print .pc-stamp-cost-line.pc-stamp-cost-screen-hidden:not(.pc-stamp-cost-empty),
  #postal-multi-cert-print .pc-stamp-cost-line.pc-stamp-cost-screen-hidden:not(.pc-stamp-cost-empty) {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
  }
}

body.theme-dark .postal-cert-card .postal-cert-stamp-signature .pc-stamp-cost-line {
  color: #9ca3af;
}

body.theme-dark .postal-cert-card .postal-cert-stamp-signature .pc-stamp-cost-line #pc-cert-inquiry-cost,
body.theme-dark .postal-cert-card .postal-cert-stamp-signature .pc-stamp-cost-line #pc-multi-cert-inquiry-cost {
  color: #f9fafb;
}

.postal-cert-card .postal-cert-stamp-signature .receipt-signature-office {
  font-size: 0.68rem;
  font-weight: 600;
  color: #374151;
  line-height: 1.35;
}

body.theme-dark .postal-cert-card .postal-cert-stamp-signature .receipt-signature-office {
  color: #e5e7eb;
}

/* بارکد خطی هدر: زمینه سفید + فاصله تا نوارها از لبهٔ کارت تیره دیده شود و اسکن درست باشد */
.postal-cert-card .pc-trace-barcode-wrap > div.w-100 {
  background-color: #ffffff;
  padding: 10px 12px;
  border-radius: 6px;
  box-sizing: border-box;
}

.postal-cert-card .pc-trace-barcode-wrap > div.w-100 svg {
  display: block;
  width: 100%;
  max-width: 100%;
}

.pc-postal-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: .9rem;
}

.pc-postal-right {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex: 1;
}

.pc-postal-left {
  font-size: .85rem;
  white-space: nowrap;
}

.pc-postal-boxes {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  direction: ltr;
  border: 1px solid #111827;
  border-radius: 4px;
  overflow: hidden;
  width: 100%;
}

.pc-postal-box {
  min-height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid #111827;
  font-weight: 600;
  font-size: .9rem;
}

.pc-postal-box:first-child {
  border-left: none;
}

body.theme-dark .pc-postal-boxes {
  border-color: rgba(148, 163, 184, .8);
}

body.theme-dark .pc-postal-box {
  border-left-color: rgba(148, 163, 184, .8);
}

.pc-meta-item {
  display: flex;
  gap: .25rem;
}

.pc-meta-label {
  font-weight: 600;
  white-space: nowrap;
}

.pc-divisions {
  display: flex;
  align-items: flex-start;
  gap: .25rem;
  font-size: .85rem;
  font-weight: 600;
  margin-bottom: .35rem;
}

.pc-address-row {
  display: flex;
  align-items: flex-start;
  gap: .25rem;
  font-size: .85rem;
}

.pc-divisions .pc-meta-label,
.pc-address-row .pc-meta-label {
  flex: 0 0 7rem;
}

.pc-address {
  line-height: 1.8;
  font-weight: 600;
}

.pc-national-title {
  display: block;
  width: 100%;
  padding-top: .6rem;
  padding-bottom: .6rem;
  margin-bottom: .4rem;
  border-top: 1px solid #111827;
  border-bottom: 1px solid #111827;
  font-weight: 600;
  font-size: .85rem;
}

body.theme-dark .pc-national-title {
  border-top-color: rgba(148, 163, 184, .8);
  border-bottom-color: rgba(148, 163, 184, .8);
}

.pc-trace-barcode-wrap {
  width: 190px;
  text-align: left;
}

.pc-trace-barcode-wrap svg {
  width: 100%;
}

.pc-trace-note {
  margin-top: .15rem;
  font-size: .5rem;
}

.pc-extra-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: .35rem .75rem;
}

.pc-extra-item {
  display: flex;
  gap: .25rem;
}

.pc-extra-label {
  font-weight: 500;
}

.pc-footer-note {
  font-size: .6rem;
  color: #6b7280;
  line-height: 1.6;
  border-left: 1px solid #111827;
  padding-left: 10px;
}

.pc-footer-row {
  display: flex;
  align-items: stretch;
  gap: .75rem;
}

.pc-footer-row .postal-cert-stamp-signature {
  align-self: stretch;
}

body.theme-dark .postal-cert-card {
  background-color: #111827;
  color: #e5e7eb;
}

body.theme-dark .pc-footer-note {
  color: #9ca3af;
  border-left-color: rgba(148, 163, 184, .7);
}

@media (max-width: 576px) {
  #postalReceiptModal .modal-body {
    overflow-x: auto;
  }

  #postal-cert-print,
  #postal-multi-cert-print {
    min-width: 640px;
  }
}

/* ستون انتخاب (چک‌باکس) در رسید کلی: عرض کم */
#multiReceiptContainer th.multi-receipt-select-col,
#multiReceiptContainer #multiReceiptRows td:first-child {
  width: 1.35rem;
  min-width: 1.35rem;
  max-width: 1.35rem;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
}

/* دکمه چاپ رسید کلی و چاپ تصویر خلافی: عرض بیشتر */
#multiReceiptPrintBtn.multi-receipt-print-btn,
#billMultiReceiptPrintBtn.multi-receipt-print-btn,
#btnTrafficOffenseImagePrint.btn-receipt-print,
.multi-receipt-print-btn {
  min-width: 9rem;
}

/* Divider در منوها در تم تیره (مثل منوی حساب کاربری) */
body.theme-dark .dropdown-menu .dropdown-divider,
body.theme-dark .account-menu .dropdown-divider {
    border-color: rgba(148, 163, 184, .45);
}
/* دکمه آیکن (بدون بردر) */
.btn-icon {
    /* background: #fff; */
    /* font-size: 1.05rem; */
    line-height: 1;
    /* padding: .25rem .35rem; */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* color: var(--bs-secondary); */
    border-radius: var(--btn-radius);
    transition: color .2s ease, transform .2s ease, border-color .2s ease;
}


.btn-icon:active {
    transform: scale(.95);
}

/* دکمه‌های ملایم */
.btn-soft {
    background: rgba(37, 99, 235, .12);
    color: var(--text-color);
    border: 1px solid rgba(37, 99, 235, .24);
    border-radius: var(--btn-radius);
    padding-inline: 1rem;
    transition: background .2s ease, transform .2s ease;
}

.btn-soft:hover,
.btn-soft:focus {
    background: rgba(37, 99, 235, .2);
    color: inherit;
    transform: translateY(-1px);
}

.btn-soft:active {
    background: rgba(37, 99, 235, .28);
}

body.theme-dark .btn-soft {
    background: rgba(96, 165, 250, .18);
    color: #e5ecff;
    border-color: rgba(96, 165, 250, .3);
}

body.theme-dark .btn-soft:hover,
body.theme-dark .btn-soft:focus {
    background: rgba(96, 165, 250, .28);
}

body.theme-dark .btn-soft:active {
    background: rgba(96, 165, 250, .36);
}
/* =========================
   Base & Typography (RTL)
   ========================= */
:root {
    /* font-size: clamp(15px, 1.1vw, 18px); */
    --bs-primary: #0d6efd;
    --bs-primary-subtle: #ecf3ff;
    --bs-light: #f8f9fa;
    --shadow-soft: 0 8px 24px rgba(0,0,0,0.08);
}

@font-face {
    font-family: 'IRANSans';
    src: url('/Assets/vendor/fonts/IRANSans/IRANSansX-Regular.woff2') format('woff2'), url('/Assets/vendor/fonts/IRANSans/IRANSansX-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSans';
    src: url('/Assets/vendor/fonts/IRANSans/IRANSansX-Bold.woff2') format('woff2'), url('/Assets/vendor/fonts/IRANSans/IRANSansX-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansFaNum';
    src: url('/Assets/vendor/fonts/IRANSans/IRANSansXFaNum-Regular.woff2') format('woff2'), url('/Assets/vendor/fonts/IRANSans/IRANSansXFaNum-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANSansFaNum';
    src: url('/Assets/vendor/fonts/IRANSans/IRANSansXFaNum-Bold.woff2') format('woff2'), url('/Assets/vendor/fonts/IRANSans/IRANSansXFaNum-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
input:focus-visible{
    outline:none;
}

html, body {
    direction: rtl;
    text-align: right;
    font-family: 'IRANSansFaNum', 'IRANSans', Tahoma, sans-serif;
    /* font-size: 0.8rem; */
    background-color: #f8f9fa;
    color: #212529;
    margin: 0;
    padding: 0;
    line-height: 1.7;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    max-width: 100%;
    overflow-x: hidden;
}

/* =========================
   Direction utilities
   ========================= */
.ltr {
    direction: ltr !important;
    unicode-bidi: plaintext;
}

.ltr-center {
    direction: ltr !important;
    unicode-bidi: plaintext;
    text-align: center !important;
}

h1, h2, h3, h4, h5 {
    font-weight: bold;
}

/* =========================
   Links
   ========================= */
a {
    color: var(--bs-primary);
    text-decoration: none;
    transition: color .2s ease;
}

    a:hover, a:focus {
        color: none;
    }

    a:focus {
        outline: none;
        box-shadow: none;
    }

/* =========================
   Buttons
   ========================= */
:root {
    --btn-radius: .4rem;
}





 

/* قبض‌ها */
.service-grid .cube {
    width: 100%;
    max-width: 160px;
    min-height: 105px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .35rem;
    margin: 0 auto;
}

/* =========================
   Shared Cards & Filters
   ========================= */
.card {
    border-radius: 20px;
    border: 1px solid var(--bill-border);
    background: var(--bill-surface);
    box-shadow: 0 8px 20px rgba(15, 28, 67, .05);
}

/* =========================
   KPI Cards (Admin Reports)
   ========================= */
.kpi-card {
    border-radius: 16px;
    border: 1px solid var(--bill-border);
    background: var(--bill-surface);
    box-shadow: 0 10px 24px rgba(15, 28, 67, .06);
    overflow: hidden;
}

.kpi-card-body {
    display: flex;
    align-items: stretch;
    gap: .85rem;
    padding: .9rem 1rem;
}

.kpi-card-body > .d-flex.flex-column {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    justify-content: center;
    gap: 0.35rem;
}

.kpi-card-body > .d-flex.flex-column > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.kpi-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    align-self: center;
    border: 1px solid transparent;
}

.kpi-title {
    /* font-size: .8rem; */
    font-weight: 700;
    color: var(--bill-muted);
    line-height: 1.2;
}

.kpi-value {
    /* font-size: 1.2rem; */
    font-weight: 800;
    line-height: 1.2;
    color: var(--text-color);
    letter-spacing: .2px;
}

.kpi-sub {
    /* font-size: .75rem; */
    color: var(--bill-muted);
}

/* مبلغ تراکنش کیف‌پول: افزایش = سبز + فلش بالا، کاهش = قرمز + فلش پایین */
.wallet-amount {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 700;
}
.wallet-amount--increase {
    color: #16a34a;
}
.wallet-amount--increase .fa-duotone {
    color: #16a34a;
}
.wallet-amount--decrease {
    color: #dc2626;
}
.wallet-amount--decrease .fa-duotone {
    color: #dc2626;
}
body.theme-dark .wallet-amount--increase,
body.theme-dark .wallet-amount--increase .fa-duotone {
    color: #4ade80;
}
body.theme-dark .wallet-amount--decrease,
body.theme-dark .wallet-amount--decrease .fa-duotone {
    color: #f87171;
}

.kpi-card:hover {
    transform: translateY(-1px);
    transition: transform .15s ease, box-shadow .15s ease;
    box-shadow: 0 14px 30px rgba(15, 28, 67, .10);
}

body.theme-dark .kpi-card {
    box-shadow: 0 16px 36px rgba(0, 0, 0, .22);
}

/* Variants */
.kpi-total .kpi-icon {
    background: rgba(37, 99, 235, .12);
    color: #2563eb;
    border-color: rgba(37, 99, 235, .20);
}
body.theme-dark .kpi-total .kpi-icon {
    background: rgba(96, 165, 250, .18);
    color: #93c5fd;
    border-color: rgba(96, 165, 250, .28);
}

.kpi-success .kpi-icon {
    background: rgba(22, 163, 74, .12);
    color: #16a34a;
    border-color: rgba(22, 163, 74, .20);
}
body.theme-dark .kpi-success .kpi-icon {
    background: rgba(34, 197, 94, .18);
    color: #86efac;
    border-color: rgba(34, 197, 94, .28);
}

.kpi-danger .kpi-icon {
    background: rgba(220, 38, 38, .12);
    color: #dc2626;
    border-color: rgba(220, 38, 38, .20);
}
body.theme-dark .kpi-danger .kpi-icon {
    background: rgba(248, 113, 113, .18);
    color: #fecaca;
    border-color: rgba(248, 113, 113, .28);
}

.kpi-warning .kpi-icon {
    background: rgba(245, 158, 11, .14);
    color: #f59e0b;
    border-color: rgba(245, 158, 11, .22);
}
body.theme-dark .kpi-warning .kpi-icon {
    background: rgba(251, 191, 36, .18);
    color: #fde68a;
    border-color: rgba(251, 191, 36, .28);
}

.kpi-profit .kpi-icon {
    background: rgba(124, 58, 237, .12);
    color: #7c3aed;
    border-color: rgba(124, 58, 237, .20);
}
body.theme-dark .kpi-profit .kpi-icon {
    background: rgba(167, 139, 250, .18);
    color: #ddd6fe;
    border-color: rgba(167, 139, 250, .28);
}

.kpi-provider-paid .kpi-icon {
    background: rgba(13, 148, 136, .12);
    color: #0d9488;
    border-color: rgba(13, 148, 136, .20);
}
body.theme-dark .kpi-provider-paid .kpi-icon {
    background: rgba(45, 212, 191, .16);
    color: #5eead4;
    border-color: rgba(45, 212, 191, .28);
}

/* تفکیک سرویس (کدپستی/شبا): افزایش کنتراست آیکن‌ها در تم تاریک */
body.theme-dark #postalSumByType .kpi-icon i,
body.theme-dark #ibanSumByType .kpi-icon i {
    color: #e2e8f0;
    --fa-primary-color: #f8fafc;
    --fa-secondary-color: #93c5fd;
    --fa-primary-opacity: 1;
    --fa-secondary-opacity: 1;
    text-shadow: 0 1px 0 rgba(2, 6, 23, .45);
}

/* برای جلوگیری از تغییر ناگهانی ارتفاع/عرض پنل سرویس قبل و بعد از لود محتوا */
.card {
   
    width: 100%;
}

/* مودال افزایش سپرده: دکمه‌های مبلغ — مثل کارت سرویس / درگاه انتخاب‌شده */
#increaseWalletModal .btn-quick-amount {
    border: 1px solid #ddd !important;
    border-radius: 1rem !important;
    background: #fff !important;
    color: #0f172a !important;
    font-weight: 600;
    padding: .65rem .75rem;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

#increaseWalletModal .btn-quick-amount:hover:not(.active),
#increaseWalletModal .btn-quick-amount:focus-visible:not(.active) {
    border-color: #007bff !important;
    box-shadow: 0 0 6px rgba(0, 123, 255, 0.35);
}

/* هم‌رنگ با #serviceBar .svc.active و .gateway-card انتخاب‌شده */
#increaseWalletModal .btn-quick-amount.active {
    border: 2px solid #14b8a6 !important;
    background: #caf5f5 !important;
    box-shadow: 0 4px 14px rgba(20, 184, 166, .54) !important;
    color: #0f172a !important;
}

#increaseWalletModal .btn-quick-amount.active:hover,
#increaseWalletModal .btn-quick-amount.active:focus-visible {
    border: 2px solid #14b8a6 !important;
    background: #b8efef !important;
    box-shadow: 0 4px 16px rgba(20, 184, 166, .58) !important;
    color: #0f172a !important;
}

body.theme-dark #increaseWalletModal .btn-quick-amount:not(.active) {
    background: #1e2844 !important;
    color: #e5e8f0 !important;
    border-color: rgba(148, 163, 184, .35) !important;
}

body.theme-dark #increaseWalletModal .btn-quick-amount:hover:not(.active),
body.theme-dark #increaseWalletModal .btn-quick-amount:focus-visible:not(.active) {
    border-color: rgba(56, 189, 248, .55) !important;
    box-shadow: 0 0 8px rgba(56, 189, 248, .25);
}

body.theme-dark #increaseWalletModal .btn-quick-amount.active {
    background: #047568 !important;
    color: #e5ecff !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08) !important;
    border: 2px solid #14b8a6 !important;
}

body.theme-dark #increaseWalletModal .btn-quick-amount.active:hover,
body.theme-dark #increaseWalletModal .btn-quick-amount.active:focus-visible {
    background: #058f7d !important;
    color: #f8fafc !important;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .1) !important;
    border: 2px solid #2dd4bf !important;
}

.btn.btn-h44,
.modal-footer .btn {
    min-height: 44px;
}

#tomanEquivalent {
    color: #16a34a;
}

body.theme-dark #tomanEquivalent {
    color: #86efac;
}


.filter-card .form-label {
    font-weight: 600;
    font-size: 12px;
    color: var(--bill-muted);
}

.filter-card .form-control,
.filter-card .form-select {
    border-radius: .85rem;
    border: 1px solid var(--bill-border);
    font-size: 14px;
}

/* سایز فونت پیش‌فرض برای همهٔ سلکت‌ها به‌صورت یکنواخت در کل پنل */

.filter-card .currency-suffix {
    border-radius: .85rem;
    border: 1px solid var(--bill-border);
    background: var(--bill-soft);
    color: var(--bill-muted);
}

/* بلوک تنظیمات توکار (مثلاً Worker مانیتور) — بردر و زمینه با متغیرهای تم، نه border پیش‌فرض بوت‌استرپ */
.bill-settings-well {
    border: 1px solid var(--bill-border);
    border-radius: .85rem;
    background: var(--bill-soft);
}

/* سوییچ (form-switch) در تم تاریک: ریل و شست با کنتراست کافی (بوت‌استرپ پیش‌فرض دایرهٔ تیره می‌گذارد) */
body.theme-dark .form-switch .form-check-input {
    background-color: rgba(148, 163, 184, 0.32);
    border: 1px solid rgba(226, 232, 240, 0.45);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23f8fafc'/%3e%3c/svg%3e");
}

body.theme-dark .form-switch .form-check-input:focus {
    border-color: rgba(96, 165, 250, 0.9);
    box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.35);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23e0f2fe'/%3e%3c/svg%3e");
}

body.theme-dark .form-switch .form-check-input:checked {
    background-color: var(--bill-accent) !important;
    border-color: var(--bill-accent) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}

body.theme-dark .form-switch .form-check-input:focus:checked {
    border-color: rgba(147, 197, 253, 0.95) !important;
    box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.4);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}




/* عدم نمایش اطلاعیه در داشبورد */
body.no-notice .notice-wrapper {
    display: none !important;
}

/* ---------- File input (Browse button) در تم تاریک ---------- */
body.theme-dark input[type="file"].form-control {
    background: #0f172a;
    border-color: var(--bill-border);
    color: #ffffff; /* متن/نام فایل انتخاب‌شده */
}

body.theme-dark input[type="file"].form-control::file-selector-button {
    background-color: rgba(96, 165, 250, 0.22);
    color: #ffffff; /* متن دکمه Browse */
    border: 1px solid rgba(148, 163, 184, 0.35);
}

body.theme-dark input[type="file"].form-control:hover::file-selector-button,
body.theme-dark input[type="file"].form-control:focus::file-selector-button {
    background-color: rgba(96, 165, 250, 0.30);
}

/* Safari/Chromium قدیمی */
body.theme-dark input[type="file"].form-control::-webkit-file-upload-button {
    background-color: rgba(96, 165, 250, 0.22);
    color: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.35);
}

body.theme-dark input[type="file"].form-control:hover::-webkit-file-upload-button,
body.theme-dark input[type="file"].form-control:focus::-webkit-file-upload-button {
    background-color: rgba(96, 165, 250, 0.30);
}

body.theme-dark  .form-label,
body.theme-dark .page-size-select {
    color: #e5ecff;
}

/* متن‌های کم‌رنگ (text-muted) در تم تیره خواناتر شوند */
body.theme-dark .text-muted {
    color: var(--bill-muted) !important;
}

body.theme-dark .text-success {
    color: rgb(74, 222, 128) !important;
}

body.theme-dark .text-danger {
    color: rgba(239, 68, 68, 1) !important;
}

/* متن «تعداد» کنار سایز صفحه در تم تیره – خواناتر از text-muted پیش‌فرض */
body.theme-dark .page-size-select .small.text-muted {
    color: #e5ecff !important;
}

/* خلاصه گزارش‌ها (مثل مجموع مبالغ/تعداد) در تم تیره خوانا باشد */
body.theme-dark .wallet-deposit-summary {
    color: #e5ecff;
}
body.theme-dark .wallet-deposit-summary .wallet-deposit-summary-value {
    color: #e5ecff;
}

/* برچسب‌های موجودی سرویس‌دهنده‌ها (صفحه کیف پول سرویس‌دهنده‌ها) */
.provider-balance-pill {
    border: 1px solid var(--bill-border);
    background: var(--bill-soft);
    color: #0f172a;
}

.provider-balance-pill-title {
    color: #0f172a;
}

.provider-balance-pill-error {
    color: var(--bill-muted);
}

body.theme-dark .provider-balance-pill {
    background: rgba(15, 23, 42, .9);
    border-color: rgba(148, 163, 184, .45);
    color: #e5ecff;
}

body.theme-dark .provider-balance-pill-title {
    color: #e5ecff;
}

body.theme-dark .provider-balance-pill-error {
    color: var(--bill-muted);
}

/* توضیحات داخل کارت‌ها در تم تیره خواناتر شود */
body.theme-dark .card .card-body .small.text-muted {
    color: #e5ecff !important;
}

/* کارت «جمع موجودی کیف پول» (ادمین / کاربران): بدنهٔ صفحه در تم تاریک هنوز رنگ تیره دارد؛ عنوان و مبلغ را روشن می‌کنیم */
body.theme-dark #usersWalletTotalCard .card-body {
    color: var(--text-color, #e5ecff);
}

body.theme-dark #usersWalletTotalCard strong {
    color: #f8fafc;
}

body.theme-dark #usersWalletTotalCard #usersWalletTotalValue {
    color: #6ee7b7;
    font-weight: 700;
}

/* «ریال» و زیرنویس: از سفیدِ یکدست کمی تیره‌تر تا سلسله‌مراتب خوانا بماند */
body.theme-dark #usersWalletTotalCard .text-muted {
    color: #cbd5e1 !important;
}

.filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem 1.25rem;
    margin-top: .5rem;
}

.filter-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    margin-top: 2rem;
}

/* محصولات انیاک/کرانه: فیلترهای فیلد داخل گرید دوم (display:contents → هر سلکت یک ستون گرید) */
.eniac-field-filters-host {
    display: contents;
}

/* برای سناریوهای RTL که باید دکمه‌ها سمت راست کارت باشند (مثل فیلتر کدپستی) */
.filter-actions.filter-actions-rtl-start {
    justify-content: flex-start;
}

/* تخفیف تاپ‌آپ کاربران: فیلد دلتا محدود عرض؛ دکمه‌ها ردیف جدا، چسبیده به سمت راست در RTL */
#bulkForm .utd-bulk-field {
    max-width: 22rem;
}

#bulkForm .utd-bulk-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    width: 100%;
    justify-content: flex-start; /* در RTL شروع خط = سمت راست */
}

#bulkForm .utd-bulk-btns .btn {
    white-space: normal;
    text-align: center;
    justify-content: center;
}





.page-size-select {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-weight: 600;
    color: var(--bill-muted);
}

.page-size-select select {
    border-radius: .85rem;
    border: 1px solid var(--bill-border);
    padding-top: .4rem;
    padding-bottom: .4rem;
    padding-right: .85rem;
    padding-left: 2.2rem; /* فاصله کافی برای فلش انتخاب‌گر */
}

.grid-report {
    width: 100%;
    min-width: 0;
    margin-top: .75rem; /* کمی فاصله از فیلتر بالایی داخل همان کارت */
}

.grid-report .gridjs-table {
    width: 100% !important;
    table-layout: auto !important;
    direction: rtl;
}

.grid-report .gridjs-th,
.grid-report .gridjs-td {
    text-align: right !important;
}

/* مودال‌های وضعیت: از راست‌چین سراسری grid-report تبعیت نکنند */
#billInquiryStatusModal .gridjs-th,
#billInquiryStatusModal .gridjs-td,
#topupInquiryStatusModal .gridjs-th,
#topupInquiryStatusModal .gridjs-td,
#postalInquiryStatusModal .gridjs-th,
#postalInquiryStatusModal .gridjs-td,
#ibanInquiryStatusModal .gridjs-th,
#ibanInquiryStatusModal .gridjs-td {
    text-align: center !important;
}

/* صفحه قبوض و خودرو: لی‌اوت و فیلتر با کلاس‌های مشترک */
.report-page-layout > [class*="col-"] {
    display: flex;
}
.report-page-layout .service-panel {
    height: 100%;
}
.report-page-layout .dynamic-card {
    width: 100%;
}
/* بخش انتخاب نوع قبض/خودرو: گرید سرویس یکسان */
/* .report-page-layout .service-grid {
    margin-top: 1.25rem;
} */
.report-page-layout .service-grid .col {
    display: flex;
}
.report-page-layout .service-grid .svc.service-option {
    height: 100%;
}
@media (max-width: 575.98px) {
    .report-page-layout,
    .report-page-layout .filter-card,
    .report-page-layout .bill-result-card,
    .report-page-layout .service-panel,
    .report-page-layout .dynamic-card {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .report-page-layout .row {
        margin-left: 0;
        margin-right: 0;
    }
    .report-page-layout .service-grid .row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: .75rem;
        width: 100%;
    }
    .report-page-layout .service-grid .col {
        display: block;
    }
    .report-page-layout .service-grid .svc.service-option {
        width: 100%;
        min-width: 0;
        min-height: auto;
    }
    .report-page-layout .grid-report {
        width: 100%;
        overflow-x: auto;
    }
    .report-page-layout .grid-report .gridjs-table {
        min-width: 720px;
        width: auto !important;
    }
}
@media (max-width: 576px) {
    .report-page-layout .filter-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    .report-page-layout .svc.service-option {
        padding: .7rem .8rem;
    }
}

/* عرض گرید شبا (#ibanGrid): مثل پست — فقط از ستون‌های تعریف‌شده در iban.js؛ استایل اضافه در Pages/iban.cshtml */

.grid-report .gridjs-table thead tr th {
    vertical-align: middle;
    text-align: center;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* font-size: .8rem !important; */
}


/* حذف زبرا در کل گریدها */
.gridjs-table tbody tr:nth-child(odd) td.gridjs-td,
.gridjs-table tbody tr:nth-child(even) td.gridjs-td {
    background-color: transparent !important;
}

/* حذف بک‌گراند سراسری جدول Grid.js */
.gridjs-container,
.gridjs-wrapper,
.gridjs-table {
    background-color: var(--bill-surface) !important;
}

.gridjs-tbody,
td.gridjs-td {
    background-color: transparent !important;
}


.grid-report .gridjs-td {
    /* white-space: normal !important; */
    word-wrap: break-word !important;
    overflow: visible !important;
}

/* قبوض: جدول نتایج نشکند */
.gridjs-table thead tr th,
.gridjs-td {
    white-space: nowrap !important;
    word-wrap: normal !important;
}

/* قبوض: جدول نتایج بدون بردر */
.gridjs-table,
.gridjs-table th.gridjs-th,
.gridjs-table td.gridjs-td {
    border: 0 !important;
}

/* جدول‌های معمولی: هم‌ظاهر با گرید */
.table:not(.table-bordered) {
    border: 0 !important;
    background-color: var(--bill-surface) !important;
}

.table:not(.table-bordered) th,
.table:not(.table-bordered) td {
    border: 0 !important;
    /* text-align: center; */
    /* vertical-align: middle; */
    /* white-space: nowrap; */
    word-wrap: normal;
}

/* بدون table-striped: پس‌زمینه شفاف تا با کارت یکی شود — راه‌راه را نابود می‌کند اگر striped باشد */
.table:not(.table-bordered):not(.table-striped) tbody tr:nth-child(odd) td,
.table:not(.table-bordered):not(.table-striped) tbody tr:nth-child(even) td {
    background-color: transparent !important;
}

.table:not(.table-borderless) tbody tr {
    border-bottom: 1px solid rgba(15, 58, 136, .15) !important;
}

body.theme-dark .table:not(.table-borderless) tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, .2) !important;
}

/* تم تاریک: پنل از body.theme-dark است نه data-bs-theme — متغیرهای جدول/راه‌راه بوت‌استرپ را روی زمینهٔ تیره ست می‌کنیم */
body.theme-dark .table {
    --bs-table-color: #e5ecff;
    --bs-table-bg: var(--bill-surface, #1c2437);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: #e5ecff;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.065);
    --bs-table-hover-color: #f8fafc;
    --bs-table-hover-bg: rgba(255, 255, 255, 0.095);
    --bs-table-active-color: #f8fafc;
    --bs-table-active-bg: rgba(96, 165, 250, 0.2);
    --bs-table-border-color: rgba(148, 163, 184, 0.28);
}

/* بوت‌استرپ ۵.۳+: سلول‌های ردیف فرد از —type استفاده می‌کنند */
body.theme-dark .table.table-striped > tbody > tr:nth-of-type(odd) > *,
body.theme-dark .table.table-striped > tbody > tr:nth-of-type(2n + 1) > * {
    --bs-table-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type: var(--bs-table-striped-bg);
}

body.theme-dark .table.table-striped > tbody > tr:nth-of-type(even) > *,
body.theme-dark .table.table-striped > tbody > tr:nth-of-type(2n) > * {
    --bs-table-color-type: var(--bs-table-color);
    --bs-table-bg-type: var(--bs-table-bg);
}

.table thead th {
    background-color: var(--bill-accent-soft) !important;
    color: var(--bill-accent-strong) !important;
    font-weight: 700;
    vertical-align: middle;
}

body.theme-dark .table thead th {
    background-color: rgba(30, 41, 59, .95) !important;
    color: #e5ecff !important;
}

.table.table-bordered thead th {
    border-color: var(--bill-border) !important;
}

body.theme-dark .table.table-bordered thead th {
    border-color: var(--bill-border) !important;
}

/* =========================
   هدر کارت فیلتر، کارت گزارش، فرم و دکمه outline — یکسان در کل پنل (بدون کلاس جدا روی body)
   ========================= */

.card.shadow-sm {
    border: 1px solid var(--bill-border);
    background: var(--bill-surface);
    overflow: hidden;
}

.card.shadow-sm .card-body {
    background: var(--bill-surface);
}

.card .form-label {
    font-weight: 600;
    font-size: 12px;
    color: var(--bill-muted);
}

.card .form-control,
.card .form-select {
    border-radius: .85rem;
    border: 1px solid var(--bill-border);
}

/* گزارش‌ها: ستون تاریخ/زمان — LTR (صفحه rtl است) */
#walletGrid .gridjs-table tbody td.gridjs-td:nth-child(8),
#walletGrid .gridjs-table tbody td.gridjs-td:nth-child(9),
#myIpgPaymentRequestsGrid .gridjs-table tbody td.gridjs-td:nth-child(12),
#billGrid .gridjs-table tbody td.gridjs-td:nth-child(2),
#adminWalletTxGrid .gridjs-table tbody td.gridjs-td:nth-child(9),
#adminWalletTxGrid .gridjs-table tbody td.gridjs-td:nth-child(10),
#adminIpgPaymentRequestsGrid .gridjs-table tbody td.gridjs-td:nth-child(12),
#walletAdminGrid .gridjs-table tbody td.gridjs-td:nth-child(9),
#adminProviderWalletGrid .gridjs-table tbody td.gridjs-td:nth-child(7),
#adminUsersInquiryCountsGrid .gridjs-table tbody td.gridjs-td:nth-child(8) {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: center;
}

#walletGrid .gridjs-table thead th.gridjs-th:nth-child(8),
#walletGrid .gridjs-table thead th.gridjs-th:nth-child(9),
#myIpgPaymentRequestsGrid .gridjs-table thead th.gridjs-th:nth-child(12),
#billGrid .gridjs-table thead th.gridjs-th:nth-child(2),
#adminWalletTxGrid .gridjs-table thead th.gridjs-th:nth-child(9),
#adminWalletTxGrid .gridjs-table thead th.gridjs-th:nth-child(10),
#adminIpgPaymentRequestsGrid .gridjs-table thead th.gridjs-th:nth-child(12),
#walletAdminGrid .gridjs-table thead th.gridjs-th:nth-child(9),
#adminProviderWalletGrid .gridjs-table thead th.gridjs-th:nth-child(7),
#adminUsersInquiryCountsGrid .gridjs-table thead th.gridjs-th:nth-child(8) {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: center;
}

/*
 * تراکنش کیف‌پول ادمین / کاربر — ستون مشخصه استعلام.
 * Grid.js: data-column-id از عنوان ستون بدون فاصله → «مشخصهاستعلام».
 * ادمین: ستون ۸ (بعد از # و کاربر). کاربر: ستون ۷ (بدون ستون کاربر و بدون LED).
 */
#adminWalletTxGrid .gridjs-table thead th.gridjs-th:nth-child(8),
#adminWalletTxGrid .gridjs-table thead th.gridjs-th[data-column-id="مشخصهاستعلام"],
#adminWalletTxGrid .gridjs-table tbody td.gridjs-td:nth-child(8),
#adminWalletTxGrid .gridjs-table tbody td.gridjs-td[data-column-id="مشخصهاستعلام"],
#walletGrid .gridjs-table thead th.gridjs-th:nth-child(7),
#walletGrid .gridjs-table thead th.gridjs-th[data-column-id="مشخصهاستعلام"],
#walletGrid .gridjs-table tbody td.gridjs-td:nth-child(7),
#walletGrid .gridjs-table tbody td.gridjs-td[data-column-id="مشخصهاستعلام"] {
    text-align: start !important;
    white-space: normal !important;
}
#adminWalletTxGrid .gridjs-table tbody td[data-column-id="مشخصهاستعلام"] > span,
#walletGrid .gridjs-table tbody td[data-column-id="مشخصهاستعلام"] > span {
    display: block;
    text-align: start !important;
}
#adminWalletTxGrid .gridjs-table tbody td[data-column-id="مشخصهاستعلام"] .plate-ui,
#adminWalletTxGrid .gridjs-table tbody td[data-column-id="مشخصهاستعلام"] .plate-moto,
#adminWalletTxGrid .gridjs-table tbody td.gridjs-td:nth-child(8) .plate-ui,
#adminWalletTxGrid .gridjs-table tbody td.gridjs-td:nth-child(8) .plate-moto,
#walletGrid .gridjs-table tbody td[data-column-id="مشخصهاستعلام"] .plate-ui,
#walletGrid .gridjs-table tbody td[data-column-id="مشخصهاستعلام"] .plate-moto,
#walletGrid .gridjs-table tbody td.gridjs-td:nth-child(7) .plate-ui,
#walletGrid .gridjs-table tbody td.gridjs-td:nth-child(7) .plate-moto {
    margin-inline: 0 !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
    vertical-align: middle;
}

/* تم روشن: بردر تیره‌تر برای سطرهای لیست نتایج (grid-report) */


/* بازگردانی بردر برای جدول‌هایی که ریست عمومی Bootstrap رویشان border-width: 0 ست می‌کند */
table.table-bordered th,
table.table-bordered td {
    border-width: 1px !important;
    border-style: solid !important;
}



/* =========================
   Grid.js in Dark Theme: make body cells actually dark (not just borders)
   ========================= */
body.theme-dark .grid-report .gridjs-container,
body.theme-dark .grid-report .gridjs-wrapper,
body.theme-dark .grid-report .gridjs-table {
    background-color: transparent;
    color: #e5e8f0;
}

/* Grid.js معمولاً پس‌زمینه را روی td می‌گذارد؛ پس td ها را هم صریحاً تیره می‌کنیم */
body.theme-dark .grid-report .gridjs-table tbody td.gridjs-td,
body.theme-dark .grid-report .gridjs-table td.gridjs-td {
    background-color: transparent;
    color: #e5e8f0;
}

/* حالت hover برای خوانایی بیشتر */
body.theme-dark .grid-report .gridjs-table tbody tr:hover td.gridjs-td {
    background-color: transparent;
}

/* سلول‌هایی که شناسه را داخل <code> نشان می‌دهند: همان رنگ متن بقیهٔ جدول (تم روشن/تیره) */
.grid-report .gridjs-table td.gridjs-td code {
    color: inherit;
}


/* جلوگیری از شکستن محتوا در جدول گزارش خودرو ادمین (اسکرول افقی فعال است) */
#adminCarInquiriesGrid .gridjs-table th.gridjs-th,
#adminCarInquiriesGrid .gridjs-table td.gridjs-td {
    white-space: nowrap !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
}

/*
 * نوار LED مشترک — لیست تراکنش شارژ (.ps-tx-card .ps-tx-led) و گریدهای گزارش (.car-inq-status-led).
 * سلول‌های گرید با class bill-inq-flag-col یا data-column="__inqStatus" / "__walletTxLed" ساخته می‌شوند.
 */
.ps-tx-card .ps-tx-row {
    display: flex;
    align-items: stretch;
    gap: .65rem;
    padding-inline-start: .15rem;
}

.ps-tx-card .ps-tx-row__body {
    flex: 1 1 0;
    min-width: 0;
}

.gridjs-table thead tr th.bill-inq-flag-col,
.gridjs-table td[data-column="__inqStatus"],
.gridjs-table td[data-column="__walletTxLed"],
.gridjs-table td.bill-inq-flag-col {
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    border-width: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.gridjs-table thead tr th.bill-inq-flag-col {
    overflow: visible !important;
    padding: 6px 5px !important;
    vertical-align: middle !important;
}

.gridjs-table td[data-column="__inqStatus"],
.gridjs-table td[data-column="__walletTxLed"],
.gridjs-table td.bill-inq-flag-col {
    position: relative;
    padding: 0 4px !important;
    vertical-align: top !important;
    overflow: hidden !important;
    contain: paint;
}

/* پایهٔ نوار (گرید: مطلق؛ لیست شارژ: flex) */
.car-inq-status-led {
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 0;
    width: 6px;
    height: auto;
    min-height: 0;
    margin-inline: 0;
    border-radius: 999px;
    box-sizing: border-box;
    background: #94a3b8;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .12) inset;
}

.ps-tx-card .ps-tx-led {
    flex-shrink: 0;
    width: 6px;
    align-self: stretch;
    min-height: 2.5rem;
    border-radius: 999px;
    background: #94a3b8;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .12) inset;
}

/* موفق — همان پالت teal صفحهٔ شارژ */
.ps-tx-card .ps-tx-led--ok,
.car-inq-status-led[data-inq="1"] {
    background: linear-gradient(180deg, #2dd4bf 0%, #14b8a6 45%, #0d9488 100%);
    box-shadow:
        0 0 10px rgba(45, 212, 191, .55),
        0 0 0 1px rgba(255, 255, 255, .2) inset;
}

/* ناموفق / عودت / … */
.ps-tx-card .ps-tx-led--fail,
.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"]) {
    background: linear-gradient(180deg, #f87171 0%, #ef4444 45%, #dc2626 100%);
    box-shadow:
        0 0 10px rgba(248, 113, 113, .5),
        0 0 0 1px rgba(255, 255, 255, .15) inset;
}

/* نارنجی (مثلاً RefundFailed و مشابه) — درخشش کهربایی */
.car-inq-status-led[data-inq="9"] {
    background: linear-gradient(180deg, #fb923c 0%, #ea580c 50%, #c2410c 100%);
    box-shadow:
        0 0 10px rgba(251, 146, 60, .48),
        0 0 0 1px rgba(255, 255, 255, .15) inset;
}

/* در انتظار / سایر — کهربایی مثل ps-tx-led--pending */
.ps-tx-card .ps-tx-led--pending,
.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"]) {
    background: linear-gradient(180deg, #fbbf24 0%, #f59e0b 50%, #d97706 100%);
    box-shadow:
        0 0 10px rgba(251, 191, 36, .45),
        0 0 0 1px rgba(255, 255, 255, .15) inset;
}

/* تم تاریک: پس‌زمینهٔ گرادیان از همان قوانین روشن می‌آید؛ فقط هالهٔ بیرونی قوی‌تر می‌شود.
   (قانون کلی background روی همهٔ .car-inq-status-led نگذارید — specificity بالاتر از [data-inq] است و رنگ‌ها را می‌پوشاند.) */

body.theme-dark .ps-tx-card .ps-tx-led--ok,
body.theme-dark .car-inq-status-led[data-inq="1"] {
    box-shadow:
        0 0 12px rgba(45, 212, 191, .65),
        0 0 0 1px rgba(255, 255, 255, .18) inset;
}

body.theme-dark .ps-tx-card .ps-tx-led--fail,
body.theme-dark .car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"]) {
    box-shadow:
        0 0 12px rgba(248, 113, 113, .55),
        0 0 0 1px rgba(255, 255, 255, .12) inset;
}

body.theme-dark .car-inq-status-led[data-inq="9"] {
    box-shadow:
        0 0 12px rgba(251, 146, 60, .52),
        0 0 0 1px rgba(255, 255, 255, .12) inset;
}

body.theme-dark .ps-tx-card .ps-tx-led--pending,
body.theme-dark .car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"]) {
    box-shadow:
        0 0 12px rgba(251, 191, 36, .5),
        0 0 0 1px rgba(255, 255, 255, .12) inset;
}

/* زنجیرهٔ استعلام چندگانه — نقطه + خط عمودی روی ستون دوم (#)؛ ستون اول = نوار وضعیت */
#adminCarInquiriesGrid .gridjs-tbody tr.naji-multi-chain {
    overflow: visible;
}

#adminCarInquiriesGrid td.naji-multi-chain-cell {
    position: relative;
    overflow: visible !important;
    padding-inline-end: 20px !important;
}

#adminCarInquiriesGrid .naji-multi-chain--start .naji-multi-chain-cell::before,
#adminCarInquiriesGrid .naji-multi-chain--mid .naji-multi-chain-cell::before,
#adminCarInquiriesGrid .naji-multi-chain--end .naji-multi-chain-cell::before {
    content: '';
    position: absolute;
    inset-inline-end: 10px;
    width: 2px;
    background: var(--naji-chain-color, #0284c7);
    opacity: 0.98;
    border-radius: 1px;
    z-index: 0;
    pointer-events: none;
}

#adminCarInquiriesGrid .naji-multi-chain--start .naji-multi-chain-cell::before {
    top: 50%;
    bottom: -3px;
}

#adminCarInquiriesGrid .naji-multi-chain--mid .naji-multi-chain-cell::before {
    top: -3px;
    bottom: -3px;
}

#adminCarInquiriesGrid .naji-multi-chain--end .naji-multi-chain-cell::before {
    top: -3px;
    bottom: 50%;
}

#adminCarInquiriesGrid .naji-multi-chain--only .naji-multi-chain-cell::before {
    display: none;
}

#adminCarInquiriesGrid .naji-multi-chain .naji-multi-chain-cell::after {
    content: '';
    position: absolute;
    inset-inline-end: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--naji-chain-color, #0284c7);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.96);
    z-index: 1;
    pointer-events: none;
}

body.theme-dark #adminCarInquiriesGrid .naji-multi-chain .naji-multi-chain-cell::after {
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.96);
}

/* گزارش قبوض / پست / شبا (کاربر) + گریدهای استعلام/درگاه ادمین: رنگ متن ستون‌های میانی مثل پالت نوار LED؛ ستون LED و ستون عملیات/ویرایش آخر جدا می‌مانند */
#billGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#billGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#postalGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#postalGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#ibanGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#ibanGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child),
#creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child) *,
#adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
#walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) * {
    color: #0f766e !important;
}
#billGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#billGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#postalGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#postalGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#ibanGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#ibanGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child),
#creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child) *,
#adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
#walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) * {
    color: #b91c1c !important;
}

/* بج «ابطال شده» — رنگ ردیف ناموفق نباید متن بج را قرمز کند */
.badge-payment-aborted,
#billGrid .gridjs-tbody tr > td .badge-payment-aborted,
#postalGrid .gridjs-tbody tr > td .badge-payment-aborted,
#ibanGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminBillInquiriesGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminCarInquiriesGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminPostalInquiriesGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminIbanInquiriesGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminTopupInquiriesGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminIrancellSimTypeGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminShahkarInquiriesGrid .gridjs-tbody tr > td .badge-payment-aborted,
#adminIpgPaymentRequestsGrid .gridjs-tbody tr > td .badge-payment-aborted,
#walletAdminGrid .gridjs-tbody tr > td .badge-payment-aborted,
.bill-payment-row-cancelled .badge-payment-aborted,
table .badge-payment-aborted {
    color: #fff !important;
    background-color: #6c757d !important;
}

body.theme-dark .badge-payment-aborted,
body.theme-dark table .badge-payment-aborted {
    color: #f8f9fa !important;
    background-color: #5c636a !important;
}

#billGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#billGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#postalGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#postalGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#ibanGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#ibanGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child),
#creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child) *,
#adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
#walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) * {
    color: #c2410c !important;
}
#billGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#billGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#postalGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#postalGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#ibanGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#ibanGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child),
#creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child) *,
#adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
#walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) * {
    color: #b45309 !important;
}

body.theme-dark #billGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #billGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #postalGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #postalGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #ibanGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #ibanGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child),
body.theme-dark #creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child) *,
body.theme-dark #adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) * {
    color: #5eead4 !important;
}
body.theme-dark #billGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #billGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #postalGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #postalGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #ibanGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #ibanGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child),
body.theme-dark #creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child) *,
body.theme-dark #adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) * {
    color: #fca5a5 !important;
}
body.theme-dark #billGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #billGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #postalGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #postalGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #ibanGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #ibanGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child),
body.theme-dark #creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child) *,
body.theme-dark #adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) *,
body.theme-dark #walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) * {
    color: #fdba74 !important;
}
body.theme-dark #billGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #billGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #postalGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #postalGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #ibanGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #ibanGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child),
body.theme-dark #creditScoreGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child) *,
body.theme-dark #adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminCarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminPostalInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIbanInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminTopupInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminSuggestedOffersInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIrancellSimTypeGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminShahkarInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) *,
body.theme-dark #walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #walletAdminGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) * {
    color: #fcd34d !important;
}

/* مالیات نقل و انتقال — کاربر (#vttGrid) و ادمین (#adminVehicleTransferTaxGrid) */
#vttGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(.vtt-grid-actions-col),
#vttGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(.vtt-grid-actions-col) *,
#adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
#adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) * {
    color: #0f766e !important;
}
#vttGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(.vtt-grid-actions-col),
#vttGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(.vtt-grid-actions-col) *,
#adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
#adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) * {
    color: #b91c1c !important;
}
#vttGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(.vtt-grid-actions-col),
#vttGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(.vtt-grid-actions-col) *,
#adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
#adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) * {
    color: #c2410c !important;
}
#vttGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(.vtt-grid-actions-col),
#vttGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(.vtt-grid-actions-col) *,
#adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
#adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) * {
    color: #b45309 !important;
}
body.theme-dark #vttGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(.vtt-grid-actions-col),
body.theme-dark #vttGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(.vtt-grid-actions-col) *,
body.theme-dark #adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child):not(:last-child) * {
    color: #5eead4 !important;
}
body.theme-dark #vttGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(.vtt-grid-actions-col),
body.theme-dark #vttGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(.vtt-grid-actions-col) *,
body.theme-dark #adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child):not(:last-child) * {
    color: #fca5a5 !important;
}
body.theme-dark #vttGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(.vtt-grid-actions-col),
body.theme-dark #vttGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(.vtt-grid-actions-col) *,
body.theme-dark #adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child),
body.theme-dark #adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child):not(:last-child) * {
    color: #fdba74 !important;
}
body.theme-dark #vttGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(.vtt-grid-actions-col),
body.theme-dark #vttGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(.vtt-grid-actions-col) *,
body.theme-dark #adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child),
body.theme-dark #adminVehicleTransferTaxGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child):not(:last-child) * {
    color: #fcd34d !important;
}

/* گزارش قبوض (myBillInquiries) / تراکنش درگاه کاربر / افزایش سپرده IPG: بدون ستون عملیات آخر — همهٔ سلول‌ها به‌جز ستون نوار وضعیت */
#myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child),
#myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child) *,
#myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child),
#myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child) *,
#walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child),
#walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child) * {
    color: #0f766e !important;
}
#myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child),
#myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child) *,
#myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child),
#myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child) *,
#walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child),
#walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child) * {
    color: #b91c1c !important;
}
#myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child),
#myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child) *,
#myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child),
#myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child) *,
#walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child),
#walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child) * {
    color: #c2410c !important;
}
#myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child),
#myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child) *,
#myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child),
#myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child) *,
#walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child),
#walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child) * {
    color: #b45309 !important;
}

body.theme-dark #myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child),
body.theme-dark #myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child) *,
body.theme-dark #myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child),
body.theme-dark #myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child) *,
body.theme-dark #walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child),
body.theme-dark #walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="1"]) > td:not(:first-child) * {
    color: #5eead4 !important;
}
body.theme-dark #myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child),
body.theme-dark #myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child) *,
body.theme-dark #myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child),
body.theme-dark #myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child) *,
body.theme-dark #walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child),
body.theme-dark #walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq="2"], [data-inq="6"], [data-inq="7"], [data-inq="8"])) > td:not(:first-child) * {
    color: #fca5a5 !important;
}
body.theme-dark #myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child),
body.theme-dark #myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child) *,
body.theme-dark #myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child),
body.theme-dark #myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child) *,
body.theme-dark #walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child),
body.theme-dark #walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led[data-inq="9"]) > td:not(:first-child) * {
    color: #fdba74 !important;
}
body.theme-dark #myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child),
body.theme-dark #myBillInquiriesGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child) *,
body.theme-dark #myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child),
body.theme-dark #myIpgPaymentRequestsGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child) *,
body.theme-dark #walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child),
body.theme-dark #walletIpgDepositGrid .gridjs-tbody tr:has(.car-inq-status-led:is([data-inq=""], [data-inq="0"], [data-inq="3"], [data-inq="4"], [data-inq="5"])) > td:not(:first-child) * {
    color: #fcd34d !important;
}

#adminCarInquiriesGrid .gridjs-table td.gridjs-td[data-column="عملیات"],
#adminCarInquiriesGrid .gridjs-table td.gridjs-td:has(.bill-inq-actions) {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    min-width: 20rem;
    max-width: 32rem;
    vertical-align: middle;
}

#adminCarInquiriesGrid .bill-inq-actions {
    min-width: 0;
}

#adminCarInquiriesGrid .bill-inq-actions .btn {
    width: auto;
    box-sizing: border-box;
    white-space: nowrap;
}

/* گزارش خودرو ادمین: ستون plateHtml — چندخطی برای پلاک موتور (دو ردیفه) */
#adminCarInquiriesGrid .gridjs-td[data-column-id="plateHtml"],
#adminCarInquiriesGrid .gridjs-td[data-column-id="plateHtml"] > div {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

/* ستون "نوع استعلام" در گزارش خودرو ادمین – جلوگیری کامل از شکستن متن داخل div داخلی */
#adminCarInquiriesGrid td[data-column="نوع استعلام"] > div {
    white-space: nowrap !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
}

/* ستون "کد وضعیت سرویس‌دهنده" در گزارش خودرو ادمین – چسبیده به راست در تم RTL */
#adminCarInquiriesGrid td[data-column="کد وضعیت سرویس‌دهنده"],
#adminCarInquiriesGrid td[data-column="کد وضعیت سرویس‌دهنده"] > div {
    text-align: right !important;
}

/* جلوگیری از شکستن محتوا در جدول گزارش قبوض ادمین / کاربر (اسکرول افقی فعال است) */
#adminBillInquiriesGrid .gridjs-table th.gridjs-th,
#adminPostalInquiriesGrid .gridjs-table th.gridjs-th,
#adminImageInquiriesGrid .gridjs-table th.gridjs-th,
#adminBillInquiriesGrid .gridjs-table td.gridjs-td,
#adminPostalInquiriesGrid .gridjs-table td.gridjs-td,
#adminImageInquiriesGrid .gridjs-table td.gridjs-td,
#myBillInquiriesGrid .gridjs-table th.gridjs-th,
#myBillInquiriesGrid .gridjs-table td.gridjs-td {
    white-space: nowrap !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
}

/* ستون عملیات: دکمه‌های وضعیت استعلام / پرداخت‌ها / API Calls */
#adminBillInquiriesGrid .gridjs-table td.gridjs-td[data-column="عملیات"],
#adminPostalInquiriesGrid .gridjs-table td.gridjs-td[data-column="عملیات"],
#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="عملیات"],
#adminBillInquiriesGrid .gridjs-table td.gridjs-td:has(.bill-inq-actions),
#adminPostalInquiriesGrid .gridjs-table td.gridjs-td:has(.bill-inq-actions),
#adminImageInquiriesGrid .gridjs-table td.gridjs-td:has(.bill-inq-actions) {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    min-width: 20rem;
    max-width: 32rem;
    vertical-align: middle;
}

#adminBillInquiriesGrid .bill-inq-actions,
#adminPostalInquiriesGrid .bill-inq-actions,
#adminImageInquiriesGrid .bill-inq-actions {
    min-width: 0;
}

#adminBillInquiriesGrid .bill-inq-actions .btn,
#adminPostalInquiriesGrid .bill-inq-actions .btn,
#adminImageInquiriesGrid .bill-inq-actions .btn {
    width: auto;
    box-sizing: border-box;
    white-space: nowrap;
}

#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"],
#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inquiry-param-cell,
#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inquiry-param-value,
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"],
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inquiry-param-cell,
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inquiry-param-value {
    white-space: nowrap !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
}

#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"],
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] {
    min-width: 14rem;
    vertical-align: middle;
}



#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] > div,
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] > div,
#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column-id="مشخصه"] > div,
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column-id="مشخصه"] > div {
    text-align: start !important;
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inq-plate-cell,
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inq-plate-cell {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inq-plate-cell .plate-ui,
#adminImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inq-plate-cell .plate-moto,
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inq-plate-cell .plate-ui,
#myImageInquiriesGrid .gridjs-table td.gridjs-td[data-column="مشخصه"] .inq-plate-cell .plate-moto {
    margin: 0 !important;
    margin-inline: 0 !important;
    display: inline-flex;
    vertical-align: middle;
}

/* خلاصهٔ مشخصات استعلام در مودال‌های گزارش قبوض ادمین — بدون bg-light؛ حاشیه با متغیرهای تم قبض */
#editStatusModal .bill-inquiry-modal-summary,
#paymentsModal .bill-inquiry-modal-summary,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary {
    border: 1px solid var(--bill-border);
    border-radius: 0.75rem;
    background: transparent;
}

/* پلاک در خلاصه مودال: جلوگیری از بیرون زدن (دیالوگ پیش‌فرض باریک است) */
#editStatusModal .bill-inquiry-modal-summary > [class*="col-"],
#paymentsModal .bill-inquiry-modal-summary > [class*="col-"],
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary > [class*="col-"] {
    min-width: 0;
}

#editStatusModal .bill-inquiry-modal-summary .inq-plate-cell,
#paymentsModal .bill-inquiry-modal-summary .inq-plate-cell,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary .inq-plate-cell {
    max-width: 100%;
    overflow: hidden;
}

#editStatusModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui,
#editStatusModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto,
#paymentsModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui,
#paymentsModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto {
    width: min(12rem, 100%) !important;
    max-width: 100% !important;
    height: 32px;
    margin-inline: 0;
    box-sizing: border-box;
}

#editStatusModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui .plate-right,
#paymentsModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui .plate-right,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui .plate-right {
    min-width: 0;
}

#editStatusModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui input,
#editStatusModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto input,
#paymentsModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui input,
#paymentsModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto input,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui input,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto input {
    font-size: 0.7rem;
    min-width: 0;
    padding-left: 0.1rem;
    padding-right: 0.1rem;
}

#editStatusModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui .plate-band-ir,
#editStatusModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto .plate-band-ir,
#paymentsModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui .plate-band-ir,
#paymentsModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto .plate-band-ir,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary .inq-plate-cell .plate-ui .plate-band-ir,
#adminInqFeeRefundConfirmModal .bill-inquiry-modal-summary .inq-plate-cell .plate-moto .plate-band-ir {
    max-width: 22px;
}

/* مودال ویرایش تراکنش IPG: حاشیه‌های هماهنگ با تم قبض (روشن/تاریک) */
#ipgEditModal .ipg-edit-modal-panel {
    border: 1px solid var(--bill-border);
    border-radius: 0.75rem;
    background: transparent;
}

#ipgEditModal .ipg-edit-modal-log {
    border: 1px solid var(--bill-border);
    border-radius: 0.5rem;
    background: transparent;
}

#ipgEditModal .form-control,
#ipgEditModal .form-select {
    border-color: var(--bill-border);
}

#ipgEditModal .form-control:focus,
#ipgEditModal .form-select:focus {
    border-color: var(--bill-accent);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--bill-accent) 22%, transparent);
}

#ipgEditModal .form-check-input {
    border-color: var(--bill-border);
}

#ipgEditModal .form-check-input:focus {
    border-color: var(--bill-accent);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--bill-accent) 20%, transparent);
}

/* ستون "کد وضعیت سرویس‌دهنده" در گزارش قبوض ادمین – چسبیده به راست در تم RTL */
#adminBillInquiriesGrid td[data-column="کد وضعیت سرویس‌دهنده"],
#adminPostalInquiriesGrid td[data-column="کد وضعیت سرویس‌دهنده"],
#adminBillInquiriesGrid td[data-column="کد وضعیت سرویس‌دهنده"] > div,
#adminPostalInquiriesGrid td[data-column="کد وضعیت سرویس‌دهنده"] > div {
    text-align: right !important;
}

/* ستون پلاک در گزارش استعلام خودرو کاربر (carGrid) — چسبیده به راست */
#carGrid .gridjs-table td[data-col="item"],
#carGrid .gridjs-table td.gridjs-td[data-column-id="itemHtml"],
#carGrid .gridjs-table th[data-column-id="itemHtml"] {
    width: 10.0rem;
    min-width: 10.0rem;
    max-width: 10.0rem;
    text-align: start !important;
    white-space: normal !important;
    vertical-align: middle;
}

#carGrid .gridjs-table td[data-col="item"] > div,
#carGrid .gridjs-table td.gridjs-td[data-column-id="itemHtml"] > div {
    text-align: start !important;
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

#carGrid .gridjs-table td[data-col="item"] .plate-ui,
#carGrid .gridjs-table td[data-col="item"] .plate-moto,
#carGrid .gridjs-table td.gridjs-td[data-column-id="itemHtml"] .plate-ui,
#carGrid .gridjs-table td.gridjs-td[data-column-id="itemHtml"] .plate-moto {
    margin: 0 !important;
    margin-inline: 0 !important;
    display: inline-flex;
    vertical-align: middle;
}





/* استایل صفحه‌بندی گریدها (gridjs) داخل کانتینرهای grid-report */
.grid-report .gridjs-footer,
.gridjs-footer {
    /* margin-top: .75rem; */
    /* مثل صفحات گزارش: فوتر خوانا و یک‌دست (بدون وابستگی به mermaid.min.css) */
    padding: .75rem .9rem;
    background-color: var(--bill-surface);
    /* border-top: 1px solid rgba(148, 163, 184, .35);
    border-left: 1px solid rgba(148, 163, 184, .35);
    border-right: 1px solid rgba(148, 163, 184, .35);
    border-bottom: 1px solid rgba(148, 163, 184, .35); */
    border-radius: 0 0 8px 8px;
    box-shadow: none !important;
    border: 0 !important;
    /* font-size: .8rem; */
    display: block !important;
    width: 100% !important;
    direction: rtl;
}

/* =========================
   User services table (modal)
   ========================= */
/* هدر روشن و خوانا در تم روشن */
.modal .user-services-table thead tr th {
    background-color: #e5edff !important;
    color: #0f172a !important;
    border-bottom: 1px solid var(--bill-border) !important;
    font-weight: 700;
    /* font-size: .85rem; */
    text-align: center;
    position: sticky;
    top: 0;
    z-index: 4;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.12);
}

.user-services-table tbody tr:nth-child(odd) td {
    background-color: #f9fafb !important;
}

.user-services-table tbody tr:nth-child(even) td {
    background-color: #ffffff !important;
}

/* هدر با کنتراست بالا در تم تاریک */
body.theme-dark .modal .user-services-table thead tr th {
    background-color: #1f2937 !important;
    color: #e5ecff !important;
    border-color: rgba(148, 163, 184, .7) !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

body.theme-dark .user-services-table tbody tr:nth-child(odd) td {
    background-color: rgba(15, 23, 42, .85) !important;
}

body.theme-dark .user-services-table tbody tr:nth-child(even) td {
    background-color: rgba(15, 23, 42, .7) !important;
}

/* اطمینان از خوانایی ستون «سرویس استعلام» در تم تاریک (ستون دوم) */
body.theme-dark .user-services-table tbody td:nth-child(2) {
    color: #e5ecff !important;
    font-weight: 600;
}

/* ستون شماره ردیف در تم تاریک (کمی ملایم ولی خوانا) */
body.theme-dark .user-services-table tbody td:first-child {
    color: #9ca3af !important;
    font-weight: 500;
}

/* بردر عمودی بین ستون‌های جدول سرویس‌ها + بدون شکستن خط در هدر و سلول‌ها */
.user-services-table {
    width: max-content;
    min-width: 100%;
    table-layout: auto;
}

.user-services-table th,
.user-services-table td {
    border-right: 1px solid var(--bill-border) !important;
    border-left: 0;
    white-space: nowrap;
    vertical-align: middle;
}

.user-services-table tr td:last-child,
.user-services-table tr th:last-child {
    border-left: 1px solid var(--bill-border) !important;
}

/*
 * جدول سرویس‌ها: ارتفاع محدود تا اسکرول افقی پایین همان «پنجرهٔ دید» باشد
 * (نه انتهای کل لیست ردیف‌ها — دیگر لازم نیست تا آخر لیست بروید).
 */
.modal .table-responsive:has(.user-services-table) {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    max-height: min(58vh, 520px);
}

/* =========================
   Forms
   ========================= */
input, textarea, select {
    font-family: inherit;
    direction: rtl;
    text-align: right;
    /* font-size: 0.8rem; */
}

input:focus, textarea:focus, select:focus {
    outline: none;
    box-shadow: none;
}

input::placeholder,
textarea::placeholder {
    color: rgba(100, 116, 139, .6);
}

body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder,
body.theme-dark select::placeholder {
    color: rgba(166, 166, 166, 0.7);
}

/* ورودی‌ها و کنترل‌های فرم در تم تیره – پس‌زمینه تیره، بدون سفید */
body.theme-dark input,
body.theme-dark textarea,
body.theme-dark .form-control {
    background-color: rgba(15, 23, 42, .92);
    border-color: var(--bill-border);
    color: #e2e8f0;
}

/* کنترل‌های غیرفعال: رنگ متن در هر دو تم */
.form-control:disabled {
    color: #334155;
    opacity: .55;
}

body.theme-dark .form-control:disabled {
    background-color: rgba(30, 41, 59, .95);
    color: #e2e8f0;
    opacity: .55;
}

/* متن واحد/پسوند مثل «ریال» در تم تاریک خوانا باشد */
body.theme-dark .currency-suffix {
    border-color: rgba(148, 163, 184, .5);
    color: #e2e8f0;
}

.wallet-amount-stepper {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.wallet-amount-input {
    flex: 1;
}

.wallet-step-btn {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, .4);
    background: #f8fafc;
    color: #475569;
    font-weight: 700;
    font-size: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

body.theme-dark .wallet-step-btn {
    background: rgba(15, 23, 42, .92);
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, .35);
}

/* تن زرد برای دکمه‌های +/- مبلغ کیف پول */
.wallet-step-btn.btn-tone-warning {
    background: rgba(217, 119, 6, .18) !important;
    color: rgb(180, 83, 9) !important;
    border-color: rgba(217, 119, 6, .45);
}
.wallet-step-btn.btn-tone-warning:hover,
.wallet-step-btn.btn-tone-warning:focus-visible {
    background: rgba(217, 119, 6, .28) !important;
    color: rgb(154, 52, 18) !important;
    border-color: rgba(217, 119, 6, .55);
}
body.theme-dark .wallet-step-btn.btn-tone-warning {
    background: rgba(245, 158, 11, .28) !important;
    color: rgb(251, 191, 36) !important;
    border-color: rgba(245, 158, 11, .45);
}
body.theme-dark .wallet-step-btn.btn-tone-warning:hover,
body.theme-dark .wallet-step-btn.btn-tone-warning:focus-visible {
    background: rgba(245, 158, 11, .38) !important;
    color: rgb(253, 224, 71) !important;
    border-color: rgba(245, 158, 11, .55);
}

.currency-input {
    position: relative;
}

.currency-input .form-control {
    padding-inline-end: 3rem;
}

.currency-input .currency-suffix {
    position: absolute;
    inset-inline-end: .75rem;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    padding: 0;
    line-height: 1;
    pointer-events: none;
    color: inherit;
    z-index: 99;
}

.currency-input.input-group-sm .form-control {
    padding-inline-end: 2.5rem;
    text-align: center;
}

.currency-input.input-group-sm .currency-suffix {
    inset-inline-end: .5rem;
    font-size: .75rem;
}

.currency-input .form-control.is-invalid,
.currency-input .form-control.is-valid,
.currency-input .form-control:invalid,
.currency-input .form-control:valid,
.was-validated .currency-input .form-control:invalid,
.was-validated .currency-input .form-control:valid {
    background-image: none;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-left-radius: initial !important;
    border-bottom-left-radius: initial !important;
}



body.theme-dark .form-label,
body.theme-dark label {
    color: var(--text-color);
}

.postal-digit {
    /* font-size: 1rem; */
    text-align: center;
    -webkit-text-fill-color: currentColor; /* برای رفع مشکل نامرئی شدن متن روی برخی مرورگرهای موبایل */
}

@media (max-width: 576px) {
    .postal-digit {
        max-width: 2.4rem;
        padding: 0;
        /* font-size: 0.9rem; کوچک‌تر شدن اعداد در موبایل */
    }
}

.service-panel__hint {
    color: var(--muted-color);
}

body.theme-dark .service-panel__hint {
    color: var(--text-color);
}

/* محدود کردن آیکن تقویم فقط به فیلدهای تاریخ */
#regFromDisplay, #regToDisplay {
    /* نمونه: اگر آیکن لازم است */
    /* background-image: url('/icons/calendar.svg'); */
    background-repeat: no-repeat;
    background-position: left .75rem center;
    background-size: 1rem;
}

/* استایل دکمه حذف (×) در سلکت‌های Choices (مثلاً نام کاربری در گزارش‌ها) */
.choices-bs .choices__list--single .choices__item[data-item][data-deletable] .choices__button,
.choices-bs .choices__list--multiple .choices__item[data-item][data-deletable] .choices__button {
    /* font-size: 0.8rem;       آیکن کمی بزرگ‌تر */
    line-height: 1;
    color: #dc2626;          /* قرمز */
    /* آیکن پیش‌فرض Choices با SVG مشکی است؛ اینجا آن را قرمز می‌کنیم */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Cg fill='%23dc2626' fill-rule='evenodd'%3E%3Cpath d='M2.592.044l18.364 18.364-2.548 2.548L0.044 2.592z'/%3E%3Cpath d='M18.408.044L0.044 18.408l2.548 2.548L20.956 2.592z'/%3E%3C/g%3E%3C/svg%3E");
    opacity: 1;
    margin-inline-start: .35rem;
}

.choices-bs .choices__list--single .choices__item[data-item][data-deletable] .choices__button:hover,
.choices-bs .choices__list--multiple .choices__item[data-item][data-deletable] .choices__button:hover {
    color: #b91c1c;          /* قرمز تیره‌تر روی هاور */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Cg fill='%23b91c1c' fill-rule='evenodd'%3E%3Cpath d='M2.592.044l18.364 18.364-2.548 2.548L0.044 2.592z'/%3E%3Cpath d='M18.408.044L0.044 18.408l2.548 2.548L20.956 2.592z'/%3E%3C/g%3E%3C/svg%3E");
}

/* =========================
   Navbar & Footer
   ========================= */
.navbar {
    /* font-size: 1rem; */
    padding: .75rem 1rem;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.navbar-nav .nav-link.active {
    font-weight: bold;
    color: var(--bs-primary) !important;
    background-color: rgba(13,110,253,.1);
    border-left: 3px solid #facc15;
    border-radius: .5rem;
}

.navbar-nav .nav-link:hover {
    background-color: rgba(13,110,253,.05);
    border-radius: .5rem;
}

/* تم تاریک برای منوی کناری (vertical-navbar) — رنگ از --chrome-surface-bg در Layout */
body.theme-dark .vertical-navbar {
    background: var(--chrome-surface-bg, #1a2133);
}

body.theme-dark .vertical-navbar .navbar-brand img {
    content: url('/Assets/images/nlg-wi.png');
}

body.theme-dark .navbar-nav .nav-link {
    color: var(--text-color);
}

body.theme-dark .navbar-nav .nav-link:hover {
    background-color: rgba(96, 165, 250, .12);
    color: #e5ecff;
}

body.theme-dark .navbar-nav .nav-link.active {
    color: #e5ecff !important;
    background-color: rgba(37, 99, 235, .32) !important;
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, .35);
}

/* تم روشن: متن سرویس فعال سفید */
body:not(.theme-dark) .svc.service-option.active .svc-icon i,
body:not(.theme-dark) .svc.service-option.active .svc-label {
    color: #1f2937;
}

body:not(.theme-dark) .svc.service-option.active .svc-fee {
    color: rgba(248, 251, 255, .85);
}

/* تم تیره: متن سرویس‌های غیرفعال – فعال‌ها جداگانه استایل می‌گیرند */
body.theme-dark .svc.service-option:not(.active) .svc-fee {
    color: #ffc107; /* زرد */
}

body.theme-dark .svc.service-option:not(.active) .svc-label {
    color: #e2e8f0;
}

/* تم تیره: متن سرویس فعال */
/* body.theme-dark .svc.service-option.active .svc-label {
    color: #eab308;
} */

body.theme-dark .svc.service-option.active .svc-fee {
    color: #ffc107; /* زرد */
}

/* کمک‌کلاس: سرویس‌هایی که روی کارت روشن نمایش داده می‌شوند */
body.theme-dark .svc-on-light:not(.active) .svc-fee {
    color: #ffc107 !important; /* زرد */
}

body.theme-dark .svc-on-light:not(.active) .svc-label {
    color: #ffffff !important; /* سفید */
}

body.theme-dark .svc.service-option .svc-icon i {
    color: #60a5fa;
}

/* کارت سرویس (قبوض و خودرو) – استایل پایه */
.svc.service-option {
    position: relative;
    width: 100%;
    border-radius: .9rem;
    border: 1px solid var(--bill-border);
    background: var(--bill-surface);
    padding: .9rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    text-align: center;
    box-shadow: 0 8px 20px rgba(15, 28, 67, .06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.svc.service-option .svc-icon i {
    font-size: 1.1rem;
    color: var(--bill-muted);
}

.svc.service-option .svc-fee {
    color: #ffc107;
    font-weight: 600;
}

/* سرویس فعال – متمایز و پررنگ‌تر */
.svc.service-option.active {
    border-color: transparent;
    background: linear-gradient(135deg, var(--bill-accent) 0%, var(--bill-accent-strong) 100%);
    box-shadow: 0 14px 28px rgba(29, 78, 216, .32);
    transform: translateY(-2px);
}

/* تم تیره: کارت سرویس */
body.theme-dark .svc.service-option {
    box-shadow: 0 6px 18px rgba(8, 47, 73, .35);
}

body.theme-dark .svc.service-option:not(.active) {
    border-color: rgba(148, 163, 184, .4);
    background: linear-gradient(145deg, #020617, #020617);
    color: var(--bill-muted);
}

body.theme-dark .svc.service-option.active {
    border-color: #eab308;
    background: linear-gradient(135deg, var(--bill-accent) 0%, var(--bill-accent-strong) 100%);
    box-shadow: 0 18px 34px rgba(37, 99, 235, .55);
}

body.theme-dark .svc.service-option .svc-fee {
    color: #ffc107;
}

/* غیرفعال (غیرقابل انتخاب) */
.svc.service-option.svc-disabled,
.svc.service-option.svc-disabled * {
    cursor: not-allowed !important;
}

.svc.service-option.svc-disabled {
    filter: grayscale(.25);
}

.svc.service-option .svc-icon {
    position: relative;
}

.svc.service-option .svc-status {
    position: absolute;
    inset: 0;
    display: none;
}

.svc.service-option.svc-disabled .svc-icon i {
    opacity: .2;
}

.svc.service-option.svc-disabled .svc-status {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #dc3545;
    font-size: 1.2rem;
}

.svc.service-option.svc-disabled .svc-status::before {
    content: '\f05e';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.svc.service-option:disabled,
.svc.service-option[aria-disabled="true"] {
    opacity: .45;
    cursor: not-allowed;
    filter: grayscale(.15);
}

.svc.service-option[aria-disabled="true"] {
    cursor: not-allowed;
}

.svc.service-option span,
.svc span {
    width: 100%;
    text-align: center;
}

/* حذف هایلایت تاچ در موبایل */
.svc.service-option,
.svc.service-option * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* چیدمان یکسان قبوض و خودرو: آیکون بالا، متن پایین */
.svc.service-option .svc-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: .15rem;
    flex: 1;
    min-width: 0;
}

/* آیکون دایره/تیک سمت راست دکمه سرویس */
.svc.service-option .svc-check {
    position: absolute;
    top: .45rem;
    right: .55rem;
    left: auto;
    width: auto;
    min-width: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

#serviceBarCar .svc.service-option .svc-check,
#serviceBarMoto .svc.service-option .svc-check,
#serviceBarOther .svc.service-option .svc-check,
#ibanServiceBar .svc.service-option .svc-check,
#creditScoreServiceBar .svc.service-option .svc-check,
#postalServiceBar .svc.service-option .svc-check,
#vttServiceBar .svc.service-option .svc-check {
    right: .55rem;
    left: auto;
    width: auto;
}

.svc.service-option .svc-check .svc-check-empty,
.svc.service-option .svc-check .svc-check-done {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.svc.service-option:not(.active) .svc-check .svc-check-empty {
    display: inline-flex;
}
.svc.service-option:not(.active) .svc-check .svc-check-done {
    display: none;
}

.svc.service-option.active .svc-check .svc-check-empty {
    display: none;
}
.svc.service-option.active .svc-check .svc-check-done {
    display: inline-flex;
}

body.theme-dark .dropdown-item:hover,
body.theme-dark .dropdown-item:focus {
    color: #e5ecff;
    background-color: rgba(62, 62, 63, 0.85);
}

/* Grid.js «موجودی فعلی سرویس‌دهنده‌ها» */
#providerBalancesGrid .gridjs-table thead th {
    font-weight: 600;
    padding-top: .4rem;
    padding-bottom: .4rem;
    text-align: center;
    vertical-align: middle;
}

#providerBalancesGrid .gridjs-td,
#providerBalancesGrid .gridjs-th {
    text-align: center;
    vertical-align: middle;
}

/* مودال «آخرین پاسخ مانیتور» - باکس نمایش پاسخ */
.pblrm-pre {
    max-height: 60vh;
    min-height: 36vh;
    overflow: auto;
    background: #f8fafc;
    color: #0f172a;
    border: 1px solid rgba(148, 163, 184, .35);
    white-space: pre-wrap;
    word-break: break-word;
}

.pblrm-pre code {
    color: inherit;
}

body.theme-dark .pblrm-pre {
    background: #0b1220;
    color: #e5ecff;
    border-color: rgba(148, 163, 184, .28);
}

/* تب‌های مودال API calls مانیتور موجودی */
#providerBalanceLastResponseModal .pblrm-tab-content {
    min-height: 280px;
}

#providerBalanceLastResponseModal .nav-tabs .nav-link {
    font-size: 0.875rem;
}

/* رنگ موجودی (موفق) - سبز */
.provider-live-balance--ok {
    color: rgb(49 193 176);
    font-weight: 700;
}

body.theme-dark .provider-live-balance--ok {
    color: rgb(49 247 148);
}



/* flatpickr (jalali-support) - راست به چپ */
.flatpickr-calendar {
    direction: rtl;
}
/* هفته/روزها را در RTL برعکس کن تا شنبه سمت راست باشد */
.flatpickr-weekdays .flatpickr-weekdaycontainer {
    flex-direction: row-reverse;
}
.flatpickr-days .dayContainer {
    flex-direction: row-reverse;
}
/* فلش‌های انتخاب ماه (dropdown) را حذف کن تا فقط یک فلش دیده نشود */
.flatpickr-monthDropdown-months {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: none;
    padding-right: 0;
}
/* لغو font-size: 135% از flatpickr.min.css */
.flatpickr-current-month {
    font-size: inherit !important;
}
/* بزرگ‌تر شدن input سال */
.flatpickr-current-month .numInputWrapper {
    width: 5.25rem !important;
}
.flatpickr-current-month input.cur-year {
    text-align: left;
}


/* تولتیپ‌های Bootstrap باید از تقویم جلالی بالاتر باشند (وگرنه تولتیپ دکمه‌های ماه قبل/بعد زیر تقویم می‌رود) */
:root {
    --bs-tooltip-zindex: 2105;
}

/* fallback برای حالت‌هایی که CSS variable اعمال نشود */
.tooltip {
    z-index: 2105 !important;
}

body.theme-dark .jalali-datepicker.dropdown-menu {
    background-color: #0f172a !important; /* override bg-body */
    color: #e5ecff;
    border: 1px solid rgba(148, 163, 184, .25);
}

body.theme-dark .jalali-datepicker .btn-tone-secondary {
    color: #e5ecff;
    border-color: rgba(148, 163, 184, .45);
    background-color: rgba(15, 23, 42, .85);
}

body.theme-dark .jalali-datepicker .btn-tone-secondary:hover,
body.theme-dark .jalali-datepicker .btn-tone-secondary:focus {
    color: #f8fafc;
    background-color: rgba(96, 165, 250, .28);
    border-color: rgba(96, 165, 250, .55);
}

/* روز جاری: فقط کادر زرد (بدون تغییر پس‌زمینه) */
.jalali-datepicker .datepicker-today {
    border-color: #ffc107 !important; /* bootstrap warning */
    box-shadow: inset 0 0 0 3px rgba(255, 193, 7, .85);
}

body.theme-dark .jalali-datepicker .datepicker-today {
    border-color: #ffc107 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 193, 7, .65);
}

/* مودال‌ها - متن راهنما زیر فیلدها (form-text) در تم تیره خوانا باشد */
body.theme-dark .modal .form-text {
    color: var(--muted-color) !important;
}

body.theme-dark .btn-tone-secondary.dropdown-toggle::after {
    filter: invert(1);
}

 

/* .btn-topbar styles removed */

/* منوی موبایل */
.mobile-nav {
    position: fixed;
    inset: 0;
    display: none;
    align-items: stretch;
    justify-content: flex-start;
    z-index: 1050;
}

.mobile-nav.is-visible {
    display: flex;
}

.mobile-nav-panel {
    width: min(65vw, 240px);
    background: var(--surface-bg);
    border-right: 1px solid var(--surface-border);
    display: flex;
    flex-direction: column;
    max-height: 100vh;
    overflow-y: auto;
    padding: 1.25rem;
    gap: 1rem;
    transform: translateX(-100%);
    transition: transform .3s ease;
}

.btn.datepicker-selected {
    background: rgba(251, 191, 36, .2) !important;
    border-color: rgba(59, 130, 246, .55) !important;
    color: #1d4ed8 !important;
}

body.theme-dark .btn.datepicker-selected {
    background: rgba(250, 204, 21, .25) !important;
    border-color: rgba(56, 189, 248, .65) !important;
    color: #e5faff !important;
}

body.theme-dark .mobile-nav-brand img {
    content: url('/Assets/images/nlg-wi.png');
}

.mobile-nav-panel.is-visible {
    transform: translateX(0);
}

.mobile-nav-backdrop {
    flex: 1;
    background: rgba(15, 23, 42, .55);
}

.mobile-nav-header {
    border-bottom: 1px solid rgba(37, 99, 235, .15);
    padding-bottom: .75rem;
}

.mobile-nav-content {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.mobile-nav-link,
.mobile-nav-children a {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .65rem .75rem;
    border-radius: .75rem;
    color: var(--text-color);
    text-decoration: none;
}

.mobile-nav-label {
    flex: 1;
    min-width: 0;
}



/* لینک‌های داخل گروه‌ها ساده‌تر و بدون بردر */
.mobile-nav-children a {
    background: transparent;
}

.mobile-nav-link:hover,
.mobile-nav-children a:hover {
    background: rgba(37, 99, 235, .08);
}

.mobile-nav-link.active,
.mobile-nav-children a.active {
    background: rgba(37, 99, 235, .15);
}

/* .mobile-nav-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, .12);
    color: #2563eb;
} */

.mobile-nav-group {
    border: 1px solid rgba(37, 99, 235, .15);
    border-radius: .9rem;
    padding: .35rem;
    background: rgba(255, 255, 255, .6);
}

.mobile-nav-group summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .6rem .75rem;
    border-radius: .65rem;
    cursor: pointer;
}

.mobile-nav-group summary::-webkit-details-marker {
    display: none;
}

.mobile-nav-group[open] summary {
    background: rgba(37, 99, 235, .12);
}

.mobile-nav-children {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: .5rem .25rem .25rem;
}

.mobile-nav-children a {
    background: rgba(37, 99, 235, .06);
}

.mobile-nav-children a:hover {
    background: rgba(37, 99, 235, .14);
}

.mobile-nav-label {
    display: block;
    margin-left: auto;
}

body.theme-dark .mobile-nav-panel {
    /* background: #0f172a; */
    border-right-color: rgba(148, 163, 184, .22);
}



body.theme-dark .mobile-nav-link:hover,
body.theme-dark .mobile-nav-children a:hover {
    background: rgba(96, 165, 250, .2);
}

body.theme-dark .mobile-nav-group {
    border-color: rgba(96, 165, 250, .2);
    background: rgba(15, 23, 42, .6);
}

body.theme-dark .mobile-nav-group[open] summary {
    background: rgba(96, 165, 250, .18);
}

/* body.theme-dark .mobile-nav-icon {
    background: rgba(96, 165, 250, .18);
    color: #93c5fd;
} */

body.mobile-nav-open {
    overflow: hidden;
}

@media (min-width: 992px) {
    .mobile-nav {
        display: none !important;
    }
}

body.theme-dark .mobile-nav-backdrop {
    background: rgba(15, 23, 42, .7);
}
footer {
    padding: 1rem;
    /* font-size: 13px; */
    color: #666;
    background: #e9ecef;
    text-align: center;
}

/* =========================
   Cards & Modals
   ========================= */
.card {
    border-radius: 1rem;
    transition: box-shadow .2s ease;
}

.card-header {
    background: transparent !important;
    text-align: center;
    border-bottom: 0 !important;
    padding-top: .9rem;
    padding-bottom: .9rem;
    font-size: 17px;
    color: rgb(85,118,139,1);
}
body.theme-dark .card-header{
    color: rgb(144,168,187,1);
}

/* اگر justify صریح نباشد (مثلاً between)، وسط‌چین؛ وگرنه کلاس بوت‌استرپ را خراب نکن */
.card-header.d-flex:not([class*="justify-content-"]) {
    justify-content: center;
}
.card-footer:last-child {
    border-radius: 0 0 20px 20px;
}

.card-footer {
    background: var(--bill-surface);
    border-top: 1px solid var(--bill-border);
    border-radius: 0 0 1.25rem 1.25rem;
    padding: 1.5rem;
}

body.theme-dark .card-footer {
    background: var(--bill-surface);
    border-color: var(--bill-border);
    padding: 1.5rem;
}

.login-divider {
    height: 1px;
    background: linear-gradient(90deg, rgba(13, 110, 253, 0) 0%, rgba(13, 110, 253, 0.45) 50%, rgba(13, 110, 253, 0) 100%);
    margin: 1rem 0 .75rem;
}

body.theme-dark .login-divider {
    background: linear-gradient(90deg, rgba(248, 250, 252, 0) 0%, rgba(248, 250, 252, 0.7) 50%, rgba(248, 250, 252, 0) 100%);
}

.bill-service-logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: .35rem;
    margin-bottom: .75rem;
    text-align: right;
    padding-bottom: .5rem;
    width: 100%;
}

.bill-service-logo img {
    max-height: 35px;
    width: auto;
    object-fit: contain;
}

.bill-service-logo-fee {
    color: var(--bill-muted);
}

.bill-service-logo-text-col {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.bill-service-logo-logo-col {
    display: flex;
    align-items: center;
    margin-inline-start: auto;
}

body.theme-dark .bill-service-logo-text {
    color: #ffffff;
}

.car-service-info-icon {
    font-size: 18px;
    color: var(--bill-muted);
}

.car-service-info-icon .svc-logo,
.car-service-info-icon i {
    margin: 0 .35rem;
}



.car-service-info-icon .svc-logo {
    border: 1px solid rgba(148, 163, 184, .6);
    border-radius: 8px;
    padding: 2px;
    background-color: rgba(148, 163, 184, .08);
}


.svc.service-option .svc-logo {
    max-height: 45px;
    width: auto;
    object-fit: contain;
}

.svc.service-option i.svc-logo {
    font-size: 36px;
    line-height: 1;
}




.svc.service-option:not(.active) .svc-logo {
    filter: grayscale(1);
    opacity: .65;
}

.themed-text-muted {
    color: var(--bill-muted);
}

body.theme-dark .themed-text-muted {
    color: #cbd5f5;
}

/* رادیوهای مودال تنظیمات چاپ */
#printSettingsModal .form-check-input {
    accent-color: #ffc107;
    border-color: #94a3b8;
}

body.theme-dark #printSettingsModal .form-check-input {
    border-color: #ffffff !important;
}

#printSettingsModal .form-check-input:checked {
    background-color: #ffc107;
    border-color: #ffc107;
}

#printSettingsModal .form-check-input:focus {
    border-color: #ffc107;
    box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, .25);
}
    .card:hover {
        box-shadow: var(--shadow-soft);
    }

.modal-content {
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, .04);
    box-shadow: 0 30px 60px rgba(15, 23, 42, .15);
    background: #fdfefe;
    /* خود مودال ثابت بماند و فقط محتوا اسکرول شود */
    max-height: calc(100vh - 3rem);
    display: flex;
    flex-direction: column;
}

.modal-header {
    background: #eaf2ff;
    padding: 1rem 1.75rem;
    color: rgb(85,118,139,1);
    border: none;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
    position: relative;
}

.modal-header .btn-close {
    position: absolute;
    inset-inline-end: 1rem;
    border-radius: 999px;
    opacity: .85;
    background-color: transparent;
    border: 0;
    background-image: none !important;
    --bs-btn-close-bg: none;
}

.modal-header .btn-close:hover,
.modal-header .btn-close:focus,
.modal-header .btn-close:focus-visible {
    opacity: 1;
    background-color: transparent;
    box-shadow: none !important;
    outline: none !important;
}

body.theme-dark .modal-header .btn-close {
    background-color: transparent;
    border: 0;
    opacity: .9;
}

body.theme-dark .modal-header .btn-close:hover,
body.theme-dark .modal-header .btn-close:focus,
body.theme-dark .modal-header .btn-close:focus-visible {
    background-color: transparent;
    box-shadow: none !important;
    outline: none !important;
}

.modal-header .btn-close::before {
    content: "✕";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
    color: #0f172a;
}

body.theme-dark .modal-header .btn-close::before {
    color: #e5e7eb;
}

body.theme-dark .modal-header .btn-close:hover,

body.theme-dark .modal-header .btn-close:focus-visible {
    background-color: transparent;
}

.modal-header .modal-title {
    font-weight: 800;
    letter-spacing: -.015em;
}



.modal-content .modal-body {
    background: #ffffff;
    color: var(--text-color);
    overflow-y: auto;
}



#actionModal .modal-dialog {
    max-width: 360px;
}

.print-settings-label {
    min-width: 110px;
    display: inline-block;
}

.print-settings-options {
    display: inline-flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.print-settings-options .form-check {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.print-settings-options .form-check-input {
    margin: 0;
    margin-top: 0;
}

.print-settings-options .form-check-label {
    line-height: 1.2;
}

.print-settings-table {
    margin-bottom: 0;
}

.print-settings-table th {
    white-space: nowrap;
    width: 110px;
}

.print-settings-table td,
.print-settings-table th {
    padding: .35rem 0;
    vertical-align: middle;
}

.print-settings-table .print-settings-radio {
    padding-inline: .5rem;
    vertical-align: middle;
}

.modal-content .modal-body > *:last-child {
    margin-bottom: 0;
}

.modal-footer {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.modal-footer {
    display: flex;
    justify-content: center;
   
    border: none;
    /* padding: 1.25rem 1.75rem; */
    gap: .85rem;
    width: 100%;
}

.modal-footer .btn {
    /* padding: .65rem 1.6rem; */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* font-size: .8rem; */
}



body.theme-dark .modal .modal-content {
    /* border: 1px solid rgb(255, 255, 255); */
    box-shadow: 0 28px 70px rgba(2, 6, 23, .72);
    background: rgba(15, 23, 42, .94);
}

body.theme-dark .modal-header {
    background: #343f4e;
    color: #e5e7eb;
}

body.theme-dark .modal .modal-content .modal-body {
    background: var(--bill-surface);
    color: rgba(226, 232, 240, .92);
}

body.theme-dark .modal .modal-footer {
    background: var(--bill-surface);
}

body.theme-dark .modal .modal-content .text-muted {
    color: rgba(226, 232, 240, .75) !important;
}

body.theme-dark .modal .modal-content .small.text-muted {
    color: rgba(226, 232, 240, .7) !important;
}



/* مودال نماد اعتماد در صفحه اصلی همیشه با تم روشن نمایش داده شود (حتی در theme-dark) */
body.theme-dark #enamadModal .modal-content {
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, .04);
    box-shadow: 0 30px 60px rgba(15, 23, 42, .15);
    background: #fdfefe;
}

body.theme-dark #enamadModal .modal-header {
    background: linear-gradient(135deg, rgba(19, 55, 171, 0.55), rgba(43, 126, 158, 0.54));
    color: #0f172a;
    border-bottom: none;
}

body.theme-dark #enamadModal .modal-content .modal-body {
    background: #ffffff;
    color: #1f2933;
}

body.theme-dark #enamadModal .modal-footer {
    background: linear-gradient(135deg, rgba(241, 245, 249, .9), rgba(226, 232, 240, .65));
}

/* =========================
   Bootstrap modal (default) – Dark theme fix
   (برای مودال‌هایی که custom-modal نیستند)
   ========================= */
body.theme-dark .modal .modal-content .modal-title {
    color: rgba(226, 232, 240, .96);
}


body.theme-dark .modal .modal-content .btn-close:hover,
body.theme-dark .modal .modal-content .btn-close:focus-visible {
    opacity: 1;
}

/* جدول داخل مودال‌ها در تم تاریک خوانا باشد */
body.theme-dark .modal .modal-content .table {
    color: rgba(226, 232, 240, .92);
}

body.theme-dark .modal .modal-content .table-bordered > :not(caption) > * {
    border-color: rgba(148, 163, 184, .28);
}


/* =========================
   مودال لاگ API — #apiLogModal و #ipgApiLogModal (یکسان)
   پallet اختصاصی (--apl-*)؛ `.border` بوت‌استرپ با !important است.
   ========================= */
#apiLogModal,
#ipgApiLogModal {
    --apl-pane-bg: #eef2fa;
    --apl-meta-bg: #e4eaf6;
    --apl-border: #8fa3c8;
    --apl-tab-muted: #4b5a78;
    --apl-tab-active-fg: var(--bs-body-color, #0f172a);
    --apl-pre-fg: inherit;
}

body.theme-dark #apiLogModal,
body.theme-dark #ipgApiLogModal {
    /* نزدیک به --bill-surface تم تیرک؛ کمتر «سیاه مطلق» از #0d1326 */
    --apl-pane-bg: #1c2840;
    --apl-meta-bg: #243352;
    --apl-border: rgba(129, 140, 248, .45);
    --apl-tab-muted: rgba(199, 210, 254, .82);
    --apl-tab-active-fg: rgba(241, 245, 249, .96);
    --apl-pre-fg: rgba(226, 232, 240, .93);
}

#apiLogModal .tab-content,
#ipgApiLogModal .tab-content {
    background-color: var(--apl-pane-bg);
    border-radius: .75rem;
    border: 1px solid var(--apl-border) !important;
}

#apiLogModal pre,
#ipgApiLogModal pre {
    background: transparent;
    color: var(--apl-pre-fg);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}

#apiLogModal .api-log-meta-card,
#ipgApiLogModal .api-log-meta-card {
    background-color: var(--apl-meta-bg);
    border: 1px solid var(--apl-border) !important;
    min-width: 0;
    max-width: 100%;
}

/* ستون کناری متا داخل flex است؛ بدون min-width:0 متن بدون فاصله (مثل URL) عرض ستون را می‌شکند */
#apiLogModal .modal-body > .row > [class*="col-"],
#ipgApiLogModal .modal-body > .row > [class*="col-"] {
    min-width: 0;
}

#apiLogModal .api-log-meta-card .fw-semibold,
#apiLogModal .api-log-meta-card .small.text-muted,
#ipgApiLogModal .api-log-meta-card .fw-semibold,
#ipgApiLogModal .api-log-meta-card .small.text-muted {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* URLهای یک‌تکه بدون فاصله */
#ipgApiMetaPaymentUrl {
    word-break: break-all;
}

#apiLogModal .nav-tabs,
#ipgApiLogModal .nav-tabs {
    border-bottom-color: var(--apl-border) !important;
}

#apiLogModal .nav-tabs .nav-link,
#ipgApiLogModal .nav-tabs .nav-link {
    color: var(--apl-tab-muted);
    border-color: transparent transparent var(--apl-border) transparent !important;
}

#apiLogModal .nav-tabs .nav-link:hover:not(.disabled):not(.active),
#ipgApiLogModal .nav-tabs .nav-link:hover:not(.disabled):not(.active) {
    border-color: var(--apl-border) var(--apl-border) var(--apl-border) !important;
}

#apiLogModal .nav-tabs .nav-link.active,
#ipgApiLogModal .nav-tabs .nav-link.active {
    color: var(--apl-tab-active-fg);
    background-color: var(--apl-pane-bg) !important;
    border-color: var(--apl-border) var(--apl-border) var(--apl-pane-bg) !important;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}









/* =========================
   User details table in Edit User modal (dark theme)
   ========================= */
body.theme-dark #editRolesModal .table.table-sm.table-bordered {
    background-color: rgba(15, 23, 42, .9);
    border-color: rgba(148, 163, 184, .28);
}

body.theme-dark #editRolesModal .table.table-sm.table-bordered thead.table-light th {
    background-color: rgba(30, 41, 59, .92);
    color: rgba(226, 232, 240, .9);
    border-bottom-color: rgba(148, 163, 184, .5);
}

body.theme-dark #editRolesModal .table.table-sm.table-bordered tbody th,
body.theme-dark #editRolesModal .table.table-sm.table-bordered tbody td {
    background-color: transparent;
    color: rgba(226, 232, 240, .88);
    border-color: rgba(148, 163, 184, .28);
}

/* =========================
   Grid.js (RTL Pagination & Header)
   ========================= */
.gridjs-pagination {
    direction: rtl !important;
    justify-content: flex-start !important;
}

    .gridjs-pagination .gridjs-pages {
        display: flex;
        flex-direction: row-reverse;
        float: none !important; /* خنثی کردن float:right پیش‌فرض Grid.js */
    }

    .gridjs-pagination button {
        font-family: inherit;
        margin: 0; /* دکمه‌ها کاملاً به هم بچسبند (مثل یک نوار یک‌تکه) */
        border-radius: 0 !important; /* گوشه‌های وسط را صاف کن، فقط دو سر گرد شوند */
    }

    .gridjs-pagination .gridjs-pages {
        gap: 0;
    }

    .gridjs-pagination .gridjs-pages button {
        border: 0 !important;
        margin-inline-start: -1px;
        background-color: transparent;
        box-shadow: none !important;
        outline: none !important;
    }

    [dir="rtl"] .gridjs-pagination .gridjs-pages button {
        margin-inline-start: 0;
        margin-inline-end: -1px;
    }

    [dir="rtl"] .gridjs-pagination .gridjs-pages button:first-child {
        margin-inline-end: 0;
    }

    .gridjs-pagination .gridjs-pages button:first-child {
        margin-inline-start: 0;
    }

  

/* دکمه‌های صفحه‌بندی Grid.js در تم تیره */
body.theme-dark .gridjs-pagination .gridjs-pages button {
    background-color: var(--bill-surface);
    color: #e5e8f0;
    border: 0 !important;
}



body.theme-dark .gridjs-pagination .gridjs-pages button.gridjs-currentPage {
    color: #facc15 !important;
    font-weight: 700;

}

.gridjs-pagination .gridjs-pages button.gridjs-currentPage {
    color: #facc15 !important;
    font-weight: 700;
    background-color: unset !important;
}

.gridjs-pagination .gridjs-pages button:hover:not(.gridjs-currentPage) {
    background-color: unset !important;
}

/* دکمه‌های صفحه‌بندی Grid.js در تم تیره – حالت غیرفعال */
body.theme-dark .gridjs-pagination .gridjs-pages button:disabled,
body.theme-dark .gridjs-pagination .gridjs-pages button:hover:disabled,
body.theme-dark .gridjs-pagination .gridjs-pages button[disabled] {
   
    color: rgba(148, 163, 184, .9) !important;
    border-color: rgba(51, 65, 85, .9) !important;
    cursor: default;
}

.gridjs-table thead tr th {
    background-color: var(--bill-accent-soft) !important;
    color: var(--bill-accent-strong) !important;
    vertical-align: middle;
    text-align: center;
    border-color: var(--bill-border) !important;
    border-style: solid !important;
    border-width: 1px !important;
}

body.theme-dark .gridjs-table thead tr th {
    background-color: rgba(51, 65, 85, .95) !important;
    color: #e5ecff !important;
    border-color: var(--bill-border) !important;
}

.gridjs-table th.gridjs-th,
.gridjs-table td.gridjs-td {
    border: 0 !important;
}

.gridjs-table tbody tr {
    border-bottom: 1px solid rgba(15, 58, 136, .15) !important;
}

body.theme-dark .gridjs-table tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, .2) !important;
}

.gridjs-table td.gridjs-td,
.gridjs-table th.gridjs-th {
    /* استفاده از padding پیش‌فرض جدول بوت‌استرپ */
    padding: var(--bs-table-cell-padding-y, .5rem) var(--bs-table-cell-padding-x, .5rem) !important;
}

.gridjs-container {
    width: 100% !important;
    min-width: 100%;
}

/* رنگ خلاصه Grid.js (تعداد رکوردها) در تم تیره */
body.theme-dark .gridjs-summary {
    color: #ffffff;
}

/* فوتر Grid.js: summary و pagination دو سر فوتر (جدا از هم) */

.gridjs-footer .gridjs-summary {
    float: none !important;
    margin-top: 0 !important;
    margin: 0 !important;
    width: auto !important;
    text-align: right;
    justify-self: start;
}

.gridjs-footer .gridjs-pagination {
    margin-top: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: .5rem;
    width: 100% !important;
    margin: 0 !important;
}

.gridjs-footer .gridjs-pages {
    grid-column: 2;
    justify-self: center;
    direction: ltr;
    background-color: var(--bill-surface);
}

/* فوتر گرید در موبایل: چیدمان درست و جلوگیری از قطع دکمه‌ها */
@media (max-width: 767px) {
    .gridjs-footer .gridjs-pagination {
        display: flex !important;
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        row-gap: 0.75rem;
    }
    .gridjs-footer .gridjs-summary {
        grid-column: unset;
        justify-self: unset;
        order: 1;
        text-align: center;
        white-space: nowrap;
    }
    .gridjs-footer .gridjs-pages {
        grid-column: unset;
        justify-self: unset;
        order: 2;
        display: flex !important;
        flex-wrap: nowrap;
        justify-content: center;
        gap: 0.25rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 2px;
        width: 100%;
        max-width: 100%;
    }
    .gridjs-pagination .gridjs-pages button {
        min-width: 2.25rem;
        padding-inline: 0.5rem;
        flex-shrink: 0;
    }
}

/* بلوک تب‌های شارژ/بسته + نوع خط در phoneservices: پیش‌فرض مخفی تا شماره معتبر */
#phoneServiceLineTypeRow:not(.is-visible) {
    display: none !important;
}

#phoneServiceTabContent:not(.is-visible) {
    display: none !important;
}

/* نوار تب فیروزه‌ای — شارژ/بسته، نوع خط، مدل نمایش، اپراتور، مبالغ، تب خدمات خودرو */
.pp-teal-tabstrip {
    display: flex !important;
    gap: .5rem;
    background: #caf5f5;
    padding: .6rem;
    border-radius: 15px;
    justify-content: space-between;
    border: none;
    overflow: visible;
}

.pp-teal-tabstrip--nowrap {
    flex-wrap: nowrap !important;
}

.pp-teal-tabstrip--wrap {
    flex-wrap: wrap;
}

.pp-teal-tabstrip--mb {
    margin-bottom: 1.2rem;
}

body.theme-dark .pp-teal-tabstrip,
body.theme-dark .pp-teal-amount-grid {
    background: #2f3b4b;
}

.pp-teal-tabstrip .nav-item {
    flex: 1 1 0;
}

.pp-teal-amount-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    background: #caf5f5;
    padding: .6rem;
    border-radius: 15px;
    border: none;
    overflow: visible;
}

.pp-teal-amount-grid > .small {
    grid-column: 1 / -1;
}

.pp-teal-tabstrip .nav-link,
.pp-teal-tabstrip .ps-operator-btn,
.pp-teal-amount-grid .ps-amount-btn {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    min-width: 0;
    width: 100%;
    padding: .6rem .75rem;
    font-weight: 600;
    line-height: 1.1;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    position: relative;
    box-shadow: none;
    font-size: .8125rem;
}



.pp-teal-tabstrip .nav-link,
.pp-teal-amount-grid .ps-amount-btn {
    border: 1px solid transparent;
    background: transparent;
    color: #64748b;
}

.pp-teal-tabstrip .ps-operator-btn {
    flex: 1 1 0;
    min-width: 0;
    border: 2px solid transparent;
    background: transparent;
    color: #64748b;
}

.pp-teal-tabstrip .ps-operator-btn .ps-operator-btn-logo {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex-shrink: 0;
}

.pp-teal-amount-grid .ps-amount-btn {
    min-width: 0;
}

.pp-teal-tabstrip .nav-link.active,
.pp-teal-amount-grid .ps-amount-btn.active {
    background: #fff;
    border-color: transparent;
    color: #1aa8a8;
    box-shadow: 0 4px 14px rgba(20, 184, 166, .3);
    border: 2px solid #14b8a6 !important;
}

.pp-teal-tabstrip .ps-operator-btn.active {
    background: #fff;
    color: #0f766e;
    border: 2px solid #14b8a6 !important;
    box-shadow: 0 4px 14px rgba(20, 184, 166, .3);
    font-weight: 700;
}

.pp-teal-tabstrip .nav-link.active::after {
    content: none;
}

.pp-teal-tabstrip .nav-link i {
    font-size: 13px;
}

body.theme-dark .pp-teal-tabstrip .nav-link:not(.active),
body.theme-dark .pp-teal-tabstrip .ps-operator-btn:not(.active),
body.theme-dark .pp-teal-amount-grid .ps-amount-btn:not(.active) {
    color: #e2e8f0;
    background: transparent;
    border-color: transparent;
}

body.theme-dark .pp-teal-tabstrip .nav-link.active,
body.theme-dark .pp-teal-amount-grid .ps-amount-btn.active {
    background: #047568;
    color: #e5ecff;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08);
    border: 2px solid #14b8a6 !important;
}

body.theme-dark .pp-teal-tabstrip .ps-operator-btn.active {
    background: #047568;
    color: #f8fafc !important;
    border: 2px solid #14b8a6 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08);
    font-weight: 700;
}

@media (max-width: 575.98px) {
    .pp-teal-tabstrip .nav-link,
    .pp-teal-tabstrip .ps-operator-btn,
    .pp-teal-amount-grid .ps-amount-btn {
        padding: .6rem .35rem;
        gap: .35rem;
        font-size: .82rem;
    }

    .pp-teal-tabstrip--hide-tab-icons-sm .nav-link i {
        display: none;
    }
}

.pp-teal-tabstrip .nav-link:hover,
.pp-teal-tabstrip .nav-link:focus,
.pp-teal-tabstrip .nav-link:focus-visible,
.pp-teal-tabstrip .ps-operator-btn:hover,
.pp-teal-tabstrip .ps-operator-btn:focus,
.pp-teal-tabstrip .ps-operator-btn:focus-visible,
.pp-teal-amount-grid .ps-amount-btn:hover,
.pp-teal-amount-grid .ps-amount-btn:focus,
.pp-teal-amount-grid .ps-amount-btn:focus-visible {
    transform: none !important;
}

.pp-teal-tabstrip .nav-link:not(.active):hover,
.pp-teal-tabstrip .nav-link:not(.active):focus,
.pp-teal-tabstrip .nav-link:not(.active):focus-visible,
.pp-teal-tabstrip .ps-operator-btn:not(.active):hover,
.pp-teal-tabstrip .ps-operator-btn:not(.active):focus,
.pp-teal-tabstrip .ps-operator-btn:not(.active):focus-visible,
.pp-teal-amount-grid .ps-amount-btn:not(.active):hover,
.pp-teal-amount-grid .ps-amount-btn:not(.active):focus,
.pp-teal-amount-grid .ps-amount-btn:not(.active):focus-visible {
    box-shadow: none !important;
}

/* تم تیره: nav-pills بدون نوار فیروزه‌ای (شارژ از .pp-teal-tabstrip استثنا می‌شود) */
body.theme-dark .nav-pills:not(.pp-teal-tabstrip) .nav-link {
    background: #020617;
    border: 1px solid rgba(51, 65, 85, .9);
    color: var(--text-color);
}

body.theme-dark .nav-pills:not(.pp-teal-tabstrip) .nav-link.active {
    border-color: #eab308;
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
    color: #fff;
}

/* کلاس‌های تن دکمه (قابل استفاده مجدد) — مرتب‌شده بر اساس نام */
.btn.btn-tone-accent {
    background: rgba(109, 40, 217, .22) !important;
    color: rgb(91, 33, 182) !important;
}
.btn.btn-tone-accent:hover,
.btn.btn-tone-accent:focus-visible {
    background: rgba(109, 40, 217, .32) !important;
    color: rgb(76, 29, 149) !important;
}
body.theme-dark .btn.btn-tone-accent {
    background: rgba(124, 58, 237, .3) !important;
    color: rgb(167, 139, 250) !important;
}
body.theme-dark .btn.btn-tone-accent:hover,
body.theme-dark .btn.btn-tone-accent:focus-visible {
    background: rgba(124, 58, 237, .42) !important;
    color: rgb(196, 181, 253) !important;
}

.btn.btn-tone-danger {
    background: rgba(239, 68, 68, .12) !important;
    color: rgba(239, 68, 68, 1) !important;
}
.btn.btn-tone-danger:hover,
.btn.btn-tone-danger:focus-visible {
    background: rgba(239, 68, 68, .2) !important;
    color: rgba(239, 68, 68, 1) !important;
}
body.theme-dark .btn.btn-tone-danger {
    background: rgba(248, 113, 113, .2) !important;
    color: rgba(248, 113, 113, 1) !important;
}
body.theme-dark .btn.btn-tone-danger:hover,
body.theme-dark .btn.btn-tone-danger:focus-visible {
    background: rgba(248, 113, 113, .3) !important;
    color: rgba(248, 113, 113, 1) !important;
}

.btn.btn-tone-info {
    background: rgba(59, 130, 246, .12) !important;
    color: rgba(59, 130, 246, 1) !important;
}
.btn.btn-tone-info:hover,
.btn.btn-tone-info:focus-visible {
    background: rgba(59, 130, 246, .2) !important;
    color: rgba(59, 130, 246, 1) !important;
}
body.theme-dark .btn.btn-tone-info {
    background: rgba(56, 189, 248, .2) !important;
    color: rgba(125, 211, 252, 1) !important;
}
body.theme-dark .btn.btn-tone-info:hover,
body.theme-dark .btn.btn-tone-info:focus-visible {
    background: rgba(56, 189, 248, .3) !important;
    color: rgba(125, 211, 252, 1) !important;
}

/* فیروزه‌ای خیلی روشن — مثال: دکمه‌های تنظیمات / دفترچه تلفن در سرویس تلفن */
.btn.btn-tone-mint {
    background: #caf5f5 !important;
    color: #0f766e !important;
}
.btn.btn-tone-mint:hover,
.btn.btn-tone-mint:focus-visible {
    background: #b5ecec !important;
    color: #0d5c54 !important;
    border-color: rgba(13, 148, 136, .45) !important;
}
body.theme-dark .btn.btn-tone-mint {
    background: rgba(202, 245, 245, .2) !important;
    color: #5eead4 !important;
    border-color: rgba(94, 234, 212, .38) !important;
}
body.theme-dark .btn.btn-tone-mint:hover,
body.theme-dark .btn.btn-tone-mint:focus-visible {
    background: rgba(202, 245, 245, .3) !important;
    color: #99f6e4 !important;
    border-color: rgba(94, 234, 212, .5) !important;
}

.btn.btn-tone-success {
    background: rgba(5, 150, 105, .18) !important;
    color: rgb(4, 120, 87) !important;
}
.btn.btn-tone-success:hover,
.btn.btn-tone-success:focus-visible {
    background: rgba(5, 150, 105, .28) !important;
    color: rgb(4, 120, 87) !important;
}
body.theme-dark .btn.btn-tone-success {
    background: rgba(22, 163, 74, .25) !important;
    color: rgb(74, 222, 128) !important;
}
body.theme-dark .btn.btn-tone-success:hover,
body.theme-dark .btn.btn-tone-success:focus-visible {
    background: rgba(22, 163, 74, .38) !important;
    color: rgb(74, 222, 128) !important;
}

.btn.btn-tone-warning {
    background: rgba(217, 119, 6, .18) !important;
    color: rgb(180, 83, 9) !important;
}
.btn.btn-tone-warning:hover,
.btn.btn-tone-warning:focus-visible {
    background: rgba(217, 119, 6, .28) !important;
    color: rgb(154, 52, 18) !important;
}
body.theme-dark .btn.btn-tone-warning {
    background: rgba(245, 158, 11, .28) !important;
    color: rgb(251, 191, 36) !important;
}
body.theme-dark .btn.btn-tone-warning:hover,
body.theme-dark .btn.btn-tone-warning:focus-visible {
    background: rgba(245, 158, 11, .38) !important;
    color: rgb(253, 224, 71) !important;
}

/* دکمه خنثی / ثانویه (جایگزین outline-secondary) */
.btn.btn-tone-secondary {
    background: var(--bill-soft) !important;
    color: var(--bill-muted) !important;
   
}
.btn.btn-tone-secondary:hover,
.btn.btn-tone-secondary:focus-visible {
    background: var(--bill-accent-soft) !important;
    color: var(--bill-accent-strong) !important;
   
}
body.theme-dark .btn.btn-tone-secondary {
    background: rgba(15, 23, 42, .75) !important;
    color: #e5ecff !important;
   
}
body.theme-dark .btn.btn-tone-secondary:hover,
body.theme-dark .btn.btn-tone-secondary:focus-visible {
    background: rgba(96, 165, 250, .15) !important;
   
}

/* تن رنگ برای آیکون fa-duotone (هم‌خوان با btn-tone) */
.icon-tone-muted .fa-duotone,
.icon-tone-muted.fa-duotone {
    color: #94a3b8;
}
body.theme-dark .icon-tone-muted .fa-duotone,
body.theme-dark .icon-tone-muted.fa-duotone {
    color: #64748b;
}

.icon-tone-info .fa-duotone,
.icon-tone-info.fa-duotone {
    color: rgba(59, 130, 246, 1);
}
body.theme-dark .icon-tone-info .fa-duotone,
body.theme-dark .icon-tone-info.fa-duotone {
    color: rgba(125, 211, 252, 1);
}

.icon-tone-success .fa-duotone,
.icon-tone-success.fa-duotone {
    color: rgb(4, 120, 87);
}
body.theme-dark .icon-tone-success .fa-duotone,
body.theme-dark .icon-tone-success.fa-duotone {
    color: rgb(74, 222, 128);
}

.icon-tone-warning .fa-duotone,
.icon-tone-warning.fa-duotone {
    color: rgb(180, 83, 9);
}
body.theme-dark .icon-tone-warning .fa-duotone,
body.theme-dark .icon-tone-warning.fa-duotone {
    color: rgb(251, 191, 36);
}

.icon-tone-danger .fa-duotone,
.icon-tone-danger.fa-duotone {
    color: rgba(239, 68, 68, 1);
}
body.theme-dark .icon-tone-danger .fa-duotone,
body.theme-dark .icon-tone-danger.fa-duotone {
    color: rgba(248, 113, 113, 1);
}

.icon-tone-accent .fa-duotone,
.icon-tone-accent.fa-duotone {
    color: rgb(91, 33, 182);
}
body.theme-dark .icon-tone-accent .fa-duotone,
body.theme-dark .icon-tone-accent.fa-duotone {
    color: rgb(167, 139, 250);
}

.icon-tone-secondary .fa-duotone,
.icon-tone-secondary.fa-duotone {
    color: #475569;
}
body.theme-dark .icon-tone-secondary .fa-duotone,
body.theme-dark .icon-tone-secondary.fa-duotone {
    color: #94a3b8;
}

/* حلقه بزرگ آیکون (مثل حالت خالی تیکت) — هم‌خوان با تن */
.icon-ring-tone-success {
    border: 2px solid rgba(5, 150, 105, .35);
    background-color: rgba(5, 150, 105, .12);
}
.icon-ring-tone-success .fa-duotone,
.icon-ring-tone-success.fa-duotone {
    color: rgb(4, 120, 87);
}
body.theme-dark .icon-ring-tone-success {
    border-color: rgba(74, 222, 128, .4);
    background-color: rgba(22, 163, 74, .18);
}
body.theme-dark .icon-ring-tone-success .fa-duotone,
body.theme-dark .icon-ring-tone-success.fa-duotone {
    color: rgb(74, 222, 128);
}

/* دکمه تأیید استعلام: تن موفق + اندازه */
.btn.btn-inquiry-confirm {
    min-width: 140px;
    width: 100%;
}








.btn.btnreinqtbl {
    white-space: nowrap;
}

/* مودال وضعیت قبض و خودرو: دکمه‌های استعلام پرداخت و ابطال پرداخت زیر هم، عرض یکسان */
#billInquiryStatusModal .multi-paystatus .bill-pay-inq-cancel-wrap,
#multiInquiryModal .multi-paystatus .bill-pay-inq-cancel-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    gap: 0.35rem;
}
#billInquiryStatusModal .bill-pay-inq-cancel-wrap .bill-pay-btn-equal,
#multiInquiryModal .bill-pay-inq-cancel-wrap .bill-pay-btn-equal {
    width: 100%;
    min-width: 0;
}

/* Car grid: right-align عملیات header */
.gridjs-th[data-column-id="actionsHtml"] {
    text-align: right !important;
}

/* Inquiry confirm modal: plate aligned to left */


.modal-summary-table .inq-plate-cell .plate-ui,
.modal-summary-table .inq-plate-cell .plate-moto,
.bill-inquiry-modal-summary .inq-plate-cell .plate-ui,
.bill-inquiry-modal-summary .inq-plate-cell .plate-moto {
    display: inline-flex;
}

/* Car grid: align rows for plate/actions — همان چینش برای ستون «مقدار» ذخیره‌شده‌ها */
.gridjs-td[data-column-id="itemHtml"],
.gridjs-td[data-column-id="valueDisplay"] {
    text-align: right !important;
}

.cargrid-status-item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.gridjs-td[data-column-id="actionsHtml"] {
    text-align: left !important;
}

.gridjs-td[data-column-id="itemHtml"] .plate-ui,
.gridjs-td[data-column-id="itemHtml"] .plate-moto,
.gridjs-td[data-column-id="plateHtml"] .plate-ui,
.gridjs-td[data-column-id="plateHtml"] .plate-moto,
.gridjs-td[data-column-id="valueDisplay"] .plate-ui,
.gridjs-td[data-column-id="valueDisplay"] .plate-moto {
    display: inline-flex;
}
table .plate-ui,
table .plate-moto {
    height: 30px;
    width: 13em;
    max-width: 13rem;
    font-size: 12px;
    border-radius: 5px;
    background: transparent !important;
}

/* همهٔ جداول: ورودی‌های پلاک نمایشی — پس‌زمینه شفاف (فیلترهای خارج از <table> مثل #fwPlateForm شامل نمی‌شوند) */
table .plate-ui input,
table .plate-moto input,
table .plate-ui .plate-right,
table .plate-ui .iran-num {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

table .plate-ui input:focus,
table .plate-moto input:focus {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}
#multiInquiryModal .plate-ui,
#multiInquiryModal .plate-moto {
    width: 15em;
    max-width: 15rem;
}
/* برای تاریخچه پلاک و نمره منفی: ستون پرداخت در مودال وضعیت استعلام مخفی */
/* برای تاریخچه پلاک و نمره منفی: ستون‌های مبلغ و پرداخت در مودال وضعیت استعلام مخفی */
#multiInquiryModal table.multi-inquiry-hide-payment-col thead th:nth-child(2),
#multiInquiryModal table.multi-inquiry-hide-payment-col thead th:nth-child(4),
#multiInquiryModal table.multi-inquiry-hide-payment-col tbody td:nth-child(2),
#multiInquiryModal table.multi-inquiry-hide-payment-col tbody td:nth-child(4) {
    display: none;
}
table .plate-right img{
    width: 19px;
}

/* دکمه‌های داخل جدول: فونت ۱۲px */
table .btn {
    font-size: 12px !important;
}

/* دکمه‌های جزئیات و استعلام مجدد در car grid: عرض بیشتر */
/* .btninqdetailtbl,
.btnreinqtbl {
    min-width: 6.5rem;
} */

/* Car grid: prevent header wrapping */
.grid-report .gridjs-th {
    white-space: nowrap;
}

/* ستون وضعیت استعلام (car grid): اسم خدمات نشکنه — override قانون .grid-report .gridjs-td بالا */
.grid-report .gridjs-td[data-column-id="typeStr"] {
    white-space: nowrap !important;
    word-wrap: normal !important;
}
.grid-report .gridjs-td[data-column-id="nationalCode"] {
    white-space: nowrap;
}

@media (max-width: 576px) {
    .grid-report .gridjs-th {
        white-space: normal;
        font-size: 0.85rem;
    }
    /* ستون وضعیت استعلام (اسم خدمات): نشکنه */
    .grid-report .gridjs-td[data-column-id="typeStr"] {
        white-space: nowrap;
        font-size: 0.85rem;
    }
    .grid-report .gridjs-td[data-column-id="nationalCode"] {
        white-space: normal;
        font-size: 0.85rem;
    }
}

@media (max-width: 768px) {
    .grid-report .gridjs-th,
    .grid-report .gridjs-td {
        white-space: nowrap;
        word-break: normal;
    }
}


.receipt-modal-actions .btn {
    min-width: 0;
}

.receipt-modal-actions {
    justify-content: center;
}

.receipt-modal-actions .btn-receipt-print {
    flex: 0 0 auto;
}

.receipt-modal-actions .btn-receipt-pay {
    flex: 0 0 45%;
}


#resendOtpBtn {
    background: transparent !important;
    border: 0;
    box-shadow: none !important;
}


.highlight-text {
    color: #facc15;
}

input.form-control:-webkit-autofill,
input.form-control:-webkit-autofill:hover,
input.form-control:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
    box-shadow: 0 0 0 1000px #ffffff inset;
    -webkit-text-fill-color: inherit;
    transition: background-color 9999s ease-out 0s;
}

body.theme-dark input.form-control:-webkit-autofill,
body.theme-dark input.form-control:-webkit-autofill:hover,
body.theme-dark input.form-control:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px rgba(15, 23, 42, .92) inset;
    box-shadow: 0 0 0 1000px rgba(15, 23, 42, .92) inset;
    -webkit-text-fill-color: #e2e8f0;
}

/* Shared input layout */
.input-wrap {
    position: relative;
}

.input-wrap .input-icon {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--login-input-icon-color, #94a3b8);
    pointer-events: none;
    z-index: 1;
}

.input-wrap .form-control {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
}

.input-wrap.has-toggle .form-control,
.input-wrap input[type="password"].form-control {
    direction: ltr;
}

.input-wrap input[type="password"].form-control.is-invalid,
.input-wrap input[type="password"].form-control.is-valid,
.input-wrap input[type="password"].form-control:invalid,
.input-wrap input[type="password"].form-control:valid,
.was-validated .input-wrap input[type="password"].form-control:invalid,
.was-validated .input-wrap input[type="password"].form-control:valid {
    background-image: none;
}

.input-wrap .input-toggle {
    position: absolute;
    left: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--login-input-icon-color, #94a3b8);
    z-index: 2;
}

/* Index: services grid */
.services-grid-section {
    position: relative;
    z-index: 2;
}

.services-grid-shell {
    background: var(--surface-bg);
    border: 1px solid var(--surface-border);
    border-radius: 16px;
    padding: 1.75rem 1.5rem 2rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .08);
}

.services-grid-shell .services-header h2 {
    font-size: 1.35rem;
    margin: 0;
    color: var(--text-color);
}

.services-grid-shell .services-header p {
    margin-bottom: .5rem;
    font-weight: 600;
    color: var(--muted-color);
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 1.25rem;
}

.service-circle {
    /* background: var(--surface-bg);
    border: 1px solid var(--surface-border);
    border-radius: 18px; */
    padding: 1.25rem 1rem;
    min-height: 160px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    /* box-shadow: 0 6px 18px rgba(15, 23, 42, .08); */
}


.service-circle-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(37, 99, 235, .08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    font-size: 1.6rem;
    box-shadow: none;
}

.service-circle h3 {
    font-size: 1rem;
    margin: 0;
    color: var(--text-color);
    font-weight: 700;
}

.service-circle p {
    margin: 0;
    color: var(--muted-color);
    font-size: .85rem;
    line-height: 1.6;
}

@media (max-width: 991.98px) {
    .services-grid-shell {
        padding: 1.5rem 1rem;
    }
}

@media (max-width: 767.98px) {
    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .service-circle {
        padding: 1.1rem .9rem;
        min-height: 145px;
    }
}

@media (max-width: 575.98px) {
    .services-grid {
        gap: .85rem;
    }
}



.btn {
    background: rgba(107, 114, 128, .12) !important;
    color: rgba(75, 85, 99, 1) !important;
    border: 0 !important; 
    --bs-btn-font-size: 14px;
    font-size: var(--bs-btn-font-size) !important;
    font-weight: bold;
}

.btn:hover,
.btn:focus-visible {
    background: rgba(107, 114, 128, .2) !important;
    color: rgba(75, 85, 99, 1) !important;
}

body.theme-dark .btn {
    background: rgba(148, 163, 184, .2) !important;
    color: rgba(226, 232, 240, 1) !important;
}

body.theme-dark .btn:hover,
body.theme-dark .btn:focus-visible {
    background: rgba(148, 163, 184, .3) !important;
    color: rgba(226, 232, 240, 1) !important;
}

/* آیتم‌های منوی اکانت: شفاف؛ خروج از کلاس تن danger استفاده می‌کند */
.account-action-btn {
    background: transparent !important;
    color: inherit !important;
}
.account-action-btn:hover,
.account-action-btn:focus-visible {
    background: transparent !important;
    color: inherit !important;
}
body.theme-dark .account-action-btn {
    background: transparent !important;
    color: inherit !important;
}
body.theme-dark .account-action-btn:hover,
body.theme-dark .account-action-btn:focus-visible {
    background: transparent !important;
    color: inherit !important;
}

/* منوی اکانت: هاور/فوکوس یکسان برای لینک و دکمه (دکمهٔ خروج مثل بقیهٔ آیتم‌ها) */
.dropdown-menu.account-menu .account-menu-actions a.dropdown-item:hover,
.dropdown-menu.account-menu .account-menu-actions a.dropdown-item:focus,
.dropdown-menu.account-menu .account-menu-actions a.dropdown-item:focus-visible,
.dropdown-menu.account-menu .account-menu-actions button.dropdown-item:hover,
.dropdown-menu.account-menu .account-menu-actions button.dropdown-item:focus,
.dropdown-menu.account-menu .account-menu-actions button.dropdown-item:focus-visible {
    background: var(--bs-dropdown-link-hover-bg) !important;
    color: var(--bs-dropdown-link-hover-color) !important;
}
body.theme-dark .dropdown-menu.account-menu .account-menu-actions a.dropdown-item:hover,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions a.dropdown-item:focus,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions a.dropdown-item:focus-visible,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions button.dropdown-item:hover,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions button.dropdown-item:focus,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions button.dropdown-item:focus-visible {
    color: #e5ecff !important;
    background-color: rgba(148, 163, 184, 0.22) !important;
}

body.theme-dark .dropdown-menu.account-menu .account-menu-actions a.dropdown-item:hover i,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions a.dropdown-item:focus-visible i,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions a.dropdown-item:hover span,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions a.dropdown-item:focus-visible span,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions button.dropdown-item:hover i,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions button.dropdown-item:focus-visible i,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions button.dropdown-item:hover span,
body.theme-dark .dropdown-menu.account-menu .account-menu-actions button.dropdown-item:focus-visible span {
    color: #e5ecff !important;
}

/* رنگ خطر فقط در حالت عادی خروج (هاور مثل بقیه با بلاک بالا) */
.dropdown-menu.account-menu .account-menu-actions .account-action-btn-logout {
    color: rgba(239, 68, 68, 1) !important;
}
body.theme-dark .dropdown-menu.account-menu .account-menu-actions .account-action-btn-logout {
    color: rgba(248, 113, 113, 1) !important;
}

.account-menu-actions + .account-menu-actions {
    margin-top: .35rem;
}

/* آیکون مودال خروج */
.logout-modal-icon {
    font-size: 2.75rem;
    color: rgba(239, 68, 68, 1);
    margin-bottom: .75rem;
}
body.theme-dark .logout-modal-icon {
    color: rgba(248, 113, 113, 1);
}

/* دکمه تأیید خروج: فقط اندازه (رنگ از btn-tone-danger) */
.btn.btnconfirmlogout {
    min-width: 140px;
}

/* دکمه اصلی استعلام (پررنگ/پر شده) */

.gridjs-footer .gridjs-summary {
    grid-column: 1;
    justify-self: start;
}

/* فوتر Grid.js (شمارنده و صفحه‌بندی) در تم تیره */
body.theme-dark .gridjs-footer {
    background-color: var(--bill-surface);
    color: #e5e8f0;
    /* border-top: 1px solid rgba(255, 255, 255, .75); */
}



body.theme-dark .grid-report .gridjs-footer,
body.theme-dark .gridjs-footer {
    border: 0 !important;
}

/* پیام خالی/خطا Grid.js در تم تیره – خواناتر روی پس‌زمینه تیره */
body.theme-dark .gridjs-container .gridjs-message,
body.theme-dark .gridjs-container [data-empty-state] {
    color: #e5e8f0;
    background-color: transparent;
}





/* =========================
   Choices.js — Bootstrap-like theme (RTL-friendly)
   ========================= */
.choices-bs .choices__inner {
    min-height: calc(2.25rem + 2px);
    border-radius: .5rem;
    padding: 0 !important; /* کنترل padding را خودمان می‌دهیم */
}

/* نسخهٔ تم تیره برای Choices: حذف بک‌گراند سفید کنترل انتخاب */
body.theme-dark .choices-bs .choices__inner {
    background-color: rgba(15, 23, 42, .9);
    border-color: rgba(148, 163, 184, .5);
    color: #e2e8f0;
}

/* تم تیره: رنگ متن و placeholder ورودی جستجوی Choices خوانا باشد */
body.theme-dark .choices-bs .choices__input,
body.theme-dark .choices-bs .choices__list--dropdown .choices__input {
    /* سفیدِ مطلق نباشد؛ هم‌راستا با سایر متن‌های تم تیره */
    color: #d97706 !important; /* amber-600 (تیره‌تر) */
    caret-color: #d97706;
    background-color: transparent;
}

body.theme-dark .choices-bs .choices__input::placeholder,
body.theme-dark .choices-bs .choices__list--dropdown .choices__input::placeholder {
    color: rgba(217, 119, 6, .65) !important;
}

.choices-bs .choices__list--dropdown {
    max-height: 250px;
    border-radius: .5rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.08);
    overflow: hidden;
    z-index: 1060;
}

    .choices-bs .choices__list--dropdown .choices__item {
        padding: .5rem .75rem;
    }

    .choices-bs .choices__list--dropdown .choices__item--selectable.is-highlighted {
        background: var(--bs-light);
        color: inherit;
    }

/* ورودی‌های جستجو داخل dropdown و حالت عادی */
[dir="rtl"] .choices-bs .choices__input,
[dir="rtl"] .choices-bs .choices__list--dropdown .choices__input {
    text-align: right;
}

/* برخی فیلترها (مثل نام کاربری) ذاتاً لاتین هستند؛ برای جلوگیری از مشکل محل تایپ/کرسر */
[dir="rtl"] .choices-bs.choices-ltr .choices__input,
[dir="rtl"] .choices-bs.choices-ltr .choices__list--dropdown .choices__input {
    direction: ltr;
    text-align: left;
}

/* حالت فشرده برای فرم‌های فیلتر (اختیاری) */
.filter-dense .choices__inner {
    min-height: calc(2rem + 2px);
    padding: .25rem .5rem;
}

.filter-dense .choices__list--multiple .choices__item {
    padding: .15rem .5rem;
    /* font-size: .8125rem; */
}

/* Multiple-specific: chips + horizontal scroll */
.choices-bs[data-type*="multiple"] .choices__inner {
    display: flex;
    align-items: center;
    min-height: calc(2.25rem + 2px);
    /* شبیه form-select: پدینگ استاندارد + جا برای فلش در RTL */
    padding: .25rem .75rem .25rem 2.5rem;
    line-height: 1.5;
}

/* فلش برای multi-select هم نمایش داده شود (برای یکدست شدن با select-one) */
.choices-bs[data-type*="multiple"]::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid rgba(108, 117, 125, .95); /* شبیه caret بوت‌استرپ */
    pointer-events: none;
}

[dir="rtl"] .choices-bs[data-type*="multiple"]::after {
    left: .75rem;
    right: auto;
}

body.theme-dark .choices-bs[data-type*="multiple"]::after {
    border-top-color: rgba(203, 213, 245, .9);
}

.choices-bs[data-type*="multiple"] .choices__list--multiple {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: thin;
}

    .choices-bs[data-type*="multiple"] .choices__list--multiple::-webkit-scrollbar {
        height: 6px;
    }

    .choices-bs[data-type*="multiple"] .choices__list--multiple::-webkit-scrollbar-thumb {
        background: #bbb;
        border-radius: 3px;
    }

    .choices-bs[data-type*="multiple"] .choices__list--multiple .choices__item {
        flex: 0 0 auto;
        margin: .15rem .25rem;
        max-width: 150px;
        text-overflow: ellipsis;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        border: 0;
        border-radius: 999px;
        padding: .25rem .6rem;
        /* font-size: .875rem; */
        /* background: var(--bs-primary-subtle);
        color: var(--bs-primary); */
        box-shadow: 0 1px 0 rgba(0,0,0,.04);
    }
        /* Remove button (x) — آیکن فونتی جایگزین */

            .choices-bs[data-type*="multiple"] .choices__list--multiple .choices__item .choices__button:hover::before {
                color: #dc3545;
            }

/* Single-specific: arrow & clear (RTL) */
.choices-bs[data-type*="select-one"] .choices__inner {
    display: flex;
    align-items: center;
    min-height: calc(2.25rem + 2px);
    padding: 0 .75rem 0 2.5rem; /* راست/چپ: جا برای فلش و × */
    line-height: 1.5;
}
/* فلش پیش‌فرض را برای RTL سمت چپ ببَر */
[dir="rtl"] .choices-bs[data-type*="select-one"]::after {
    left: .75rem;
    right: auto;
}
/* دکمه clear (×) در RTL سمت چپ */
[dir="rtl"] .choices-bs[data-type*="select-one"] .choices__button {
    left: 2rem;
    right: auto;
}
/* ارتفاع تک‌سطره انتخاب‌شده */
.choices-bs[data-type*="select-one"] .choices__list--single {
    display: flex;
    align-items: center;
    padding: 0;
    padding-right: 10px;
}

/* حذف فاصله اضافی Choices بین کنترل‌ها */
.choices-bs {
    margin-bottom: 0;
}

/* =========================
   Responsive
   ========================= */

/* موبایل: عرض محتوا داخل viewport (بدون 100vw) */
@media (max-width: 575.98px) {
    .app-content {
        max-width: 100%;
        overflow-x: clip;
    }

    section[role="main"] .container {
        max-width: 100% !important;
        overflow-x: clip;
        padding-inline: 1rem;
    }
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        padding-top: .75rem;
    }

    .navbar-nav > .nav-item:first-child {
        margin-top: .5rem;
    }

    .navbar .navbar-brand {
        margin-bottom: .5rem;
    }
}
/* منو شناور باشه */
.table .dropdown-menu {
    position: absolute !important; /* خارج از فلو جدول */
    will-change: transform; /* روان */
    min-width: 150px;
    border-radius: .5rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
    z-index: 1050; /* بالاتر از جدول */
}

.table .dropdown-item {
    display: flex;
    align-items: center;
    gap: .5rem;
}

/* سایز عمومی آیتم‌های دراپ‌داون در کل سایت (حتی اگر بوت‌استرپ بعد از ما لود شود) */

    .table .dropdown-item i {
        width: 18px;
        text-align: center;
        /*color: #0d6efd;*/
    }

/* صفحه عادی */
.receipt-side {
    width: 250px;
    /* flex: 0 0 250px;  */
}

/* باکس مهر و امضا در همه مودال‌ها: هم‌استایل با stamp-placeholder صفحه رسید پرداخت */
.receipt-signature {
    width: 250px;
    height: 115px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* font-size: 14px; */
    margin-top: 8px; /* کمی فاصله از بالای باکس امضا در همه مودال‌ها */
    border: 1px solid var(--bill-border);
    border-radius: 6px;
    padding: 0;
    /* color: #6b7280; */
    /* background: #f9fafb; */
    font-weight: 500;
}

/* قبض‌ها: وقتی «هزینه استعلام» داخل باکس مهر و امضا قرار می‌گیرد،
   ارتفاع ثابت 115px باعث فشردگی/به‌هم‌ریختگی می‌شود؛ این باکس را منعطف می‌کنیم. */
#receiptContainer .receipt-signature.bill-signature {
    height: auto;
    min-height: 115px;
    padding: 10px 8px;
    box-sizing: border-box;
}

/* آزادراه/طرح ترافیک: هزینه استعلام داخل باکس مهر و امضا */
#receiptContainerFreeway .receipt-signature.fw-signature,
#receiptContainerTraffic .receipt-signature.fw-signature {
    height: auto;
    min-height: 115px;
    padding: 10px 8px;
    box-sizing: border-box;
}

/* شبا: هزینه استعلام داخل باکس مهر و امضا */
#ibanReceiptContainer .receipt-signature.iban-signature {
    height: auto;
    min-height: 115px;
    padding: 10px 8px;
    box-sizing: border-box;
}

/* صفحه رسید پرداخت (Receipt): همان باکس مهر و امضا */
/* #receipt-print .receipt-signature.receipt-payment-signature {
    height: auto;
    min-height: 115px;
    padding: 10px 8px;
    box-sizing: border-box;
} */

/* رسید خلافی: عرض باکس مهر و امضا ثابت نباشد */
.signdetail-police .receipt-signature {
    width: auto;
    margin-top: 0;
}

/* هدر رسید خلافی: چیدمان 3-6-3 بدون جدول داخلی */
#policeHeaderBlock .police-header-row {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    flex-wrap: wrap;
}

#policeHeaderBlock .police-header-col {
    min-width: 0;
}

#policeHeaderBlock .police-header-col-logo,
#policeHeaderBlock .police-header-col-meta {
    flex: 0 0 calc(25% - .5rem);
}

#policeHeaderBlock .police-header-col-title {
    flex: 0 0 calc(50% - .5rem);
}
.signdetail-police .receipt-signature-office {
    max-width: 100%;
}

/* رسید خلافی: بردر مهر و امضا و توضیحات حذف شود */
.signdetail-police,
.signdetail-police td,
.signdetail-police th {
    border: 0 !important;
}
/* تاکید: جدول/سلول‌های توضیحات هم هیچ بردری نگیرند */
.signdetail-police .table-borderless,
.signdetail-police .table-borderless td,
.signdetail-police .table-borderless th {
    border: 0 !important;
}

/* رسید خلافی: فونت هزینه استعلام کوچک‌تر باشد */

/* رسید خلافی: باکس «مهر و امضا» هم‌قدِ ستون توضیحات باشد */
.signdetail-police .signdetail-police-side .receipt-signature {
    height: 100%;
    min-height: 115px; /* حداقل همون حالت قبلی */
    width: 100%;
    box-sizing: border-box;
    /* وسط‌چین عمودی/افقی محتوا داخل باکس */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}

/* نام دفتر داخل باکس مهر و امضا (فقط وقتی مقدار دارد نمایش داده می‌شود) */
.receipt-signature-office {
    margin-top: 6px;
    padding: 0 10px;
    max-width: 240px;

    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* نسخهٔ تم تیره: بردر باکس مهر و امضا هماهنگ با بقیهٔ جدول‌ها */
/* body.theme-dark .receipt-signature {
    border-color: rgb(255, 255, 255) !important;
} */

.receipt-side > table {
    width: 100%; /* 100% از همان 250px والد */
    margin-top: 8px;
    table-layout: fixed;
}

/* بردر جدول هزینه استعلام در رسید – حالت پیش‌فرض (روشن) */
.receipt-side > table.table-bordered {
    border-color: #000000;
}

.receipt-side > table.table-bordered th,
.receipt-side > table.table-bordered td {
    border-color: #000000;
}



/* رنگ پس‌زمینه سلول‌های هدر/برچسب قبض در مودال رسید (هم‌راستا با پالت bill-soft در هر دو تم) */
.receipt-content .bg-light {
    background-color: var(--bill-soft) !important;
}

/* نسخهٔ تم تیره: بردر جدول‌های رسید استعلام با رنگ #2c3243 */
body.theme-dark .receipt-side > table.table-bordered {
    border-color: rgb(255, 255, 255);
}

body.theme-dark .receipt-side > table.table-bordered th,
body.theme-dark .receipt-side > table.table-bordered td {
    border-color: rgb(255, 255, 255);
}

/* نسخهٔ تم تیره: همهٔ جدول‌های داخل رسید (قبوض + خودرو) */
body.theme-dark .modal-content table {
    border-color: rgb(255, 255, 255);
    background-color: var(--bill-surface);
    color: #e2e8f0;
}

body.theme-dark .modal-content table th,
body.theme-dark .modal-content table td {
    background-color: var(--bill-surface);
    color: #e2e8f0;
}

/* تم تیره: در رسید آزادراهی، متن توضیحات و عنوان یک رنگ و مبلغ‌ها رنگ متمایز داشته باشند */
body.theme-dark #receiptContainerFreeway #fwHeaderTitle,
body.theme-dark #receiptContainerTraffic #trafficHeaderTitle,
body.theme-dark #receiptContainerPlateHistory #phHeaderTitle {
    color: var(--bill-muted);
}

body.theme-dark #receiptContainerFreeway #fwFreewayNotes,
body.theme-dark #receiptContainerTraffic #trafficNotes {
    color: var(--bill-muted);
}

body.theme-dark #receiptContainerFreeway #fwAmount,
body.theme-dark #receiptContainerFreeway #fwCostValue,
body.theme-dark #receiptContainerTraffic #trafficAmount,
body.theme-dark #receiptContainerTraffic #trafficCostValue,
body.theme-dark #receiptContainerPlateHistory #phAmount {
    color: #eab308; /* زرد برای مبلغ‌ها در رسید آزادراهی */
}

/* برای نمایش چندخطی (مثلاً تاریخچه پلاک: وضعیت پلاک + شناسه استعلام در خط بعد) */
#receiptContainerFreeway #fwAmount,
#receiptContainerTraffic #trafficAmount,
#receiptContainerPlateHistory #phAmount {
    white-space: pre-line;
}

body.theme-dark #receiptContainerFreeway #fwCostCurrency,
body.theme-dark #receiptContainerTraffic #trafficCostCurrency {
    color: var(--bill-muted);
}


/* حالت خطا برای رسید خودرو: جزئیات تمام‌عرض، امضا زیر آن و حذف فاصله اضافی */
.receipt-layout.receipt-error-mode,
#receiptLayoutPlateHistory.receipt-error-mode {
    flex-direction: column;
    gap: .5rem;
}

.receipt-layout.receipt-error-mode .receipt-details,
#receiptLayoutPlateHistory.receipt-error-mode .receipt-details {
    order: 1; /* خطا/جزئیات بالا */
    width: 100%;
}

.receipt-layout.receipt-error-mode .receipt-side,
#receiptLayoutPlateHistory.receipt-error-mode .receipt-side {
    order: 2; /* مهر و امضا پایین */
    width: 100%;
    flex: 0 0 auto;
}

/* حالت جزئیات طرح ترافیک:
   - جدول جزئیات تمام‌عرض در بالا
   - مهر و امضا زیر آن، چسبیده به راست (در RTL) */
.receipt-layout.traffic-detail-mode,
#receiptLayoutPlateHistory.traffic-detail-mode {
    flex-direction: column;
   
    /* gap: .5rem; */
}

/* flex-fill (شامل جدول جزئیات) در بالا و تمام‌عرض */
.receipt-layout.traffic-detail-mode .flex-fill,
#receiptLayoutPlateHistory.traffic-detail-mode .flex-fill {
    order: 1;
    width: 100%;
}

/* امضا و هزینه در ردیف بعدی، تراز به راست */
.receipt-layout.traffic-detail-mode .receipt-side,
#receiptLayoutPlateHistory.traffic-detail-mode .receipt-side {
    order: 2;
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    margin: 0;
    display: flex;
    justify-content: center;
}

/* تاریخچه پلاک: جدول جزئیات تمام‌عرض و امضا زیر آن */
#receiptLayoutPlateHistory {
    flex-direction: column;
}
#receiptLayoutPlateHistory .flex-fill {
    order: 1;
    width: 100%;
}
#receiptLayoutPlateHistory .receipt-side {
    order: 2;
    width: 100%;
    max-width: 100%;
    margin-top: 0.5rem;
    display: flex;
    justify-content: flex-start;
}


/* جدول جزئیات در رسید خودرو (آزادراه/ترافیک): فونت و بردر هماهنگ با rc-table های بالا */
.receipt-content .receipt-details,
#receiptLayoutPlateHistory .receipt-details {
    margin-top: 0; /* بدون هیچ فاصله‌ای بین جدول بالایی و جدول جزئیات */
}


.receipt-content .receipt-details table,
#receiptLayoutPlateHistory .receipt-details table {
    font-size: 12px;
    /* border-collapse: separate; */
    border-spacing: 0;
    width: 100%;
    margin-bottom: 0; /* بدون فاصله اضافه زیر جدول جزئیات */
}


/* نسخهٔ تم تیره برای جدول جزئیات رسید خودرو: بردر خاکستری تیره */

/* تم تیره: ردیف هدر جدول جزئیات (table-light) در رسید خودرو/ترافیک/تاریخچه پلاک باید تیره شود */
body.theme-dark .receipt-layout .receipt-details table tr.table-light,
body.theme-dark #receiptLayoutPlateHistory .receipt-details table tr.table-light {
    background-color: rgba(30, 41, 59, .92) !important;
    color: rgba(226, 232, 240, .92) !important;
}
body.theme-dark .receipt-layout .receipt-details table tr.table-light th,
body.theme-dark #receiptLayoutPlateHistory .receipt-details table tr.table-light th {
    background-color: rgba(30, 41, 59, .92) !important;
    color: rgba(226, 232, 240, .92) !important;
}

/* نمایش خطا در مودال رسید قبوض: متن وسط‌چین و کمی درشت‌تر شود */
#receiptModal #receiptDetails[data-has-error="1"] table td {
    text-align: center !important;
    /* font-size: 1.2rem; */
}

#receiptModal #receiptDetails[data-has-error="1"] table td.text-danger {
    font-weight: 600;
}

/* نمایش خطا در مودال رسید خودرو (آزادراه/طرح ترافیک) */
#receiptModalFreeway #receiptDetails table tbody[data-has-error="1"] td {
    text-align: center !important;
    /* font-size: 1.2rem; */
}

#receiptModalFreeway #receiptDetails table tbody[data-has-error="1"] td.text-danger {
    font-weight: 600;
}

/* متن خطای آزادراه/طرح ترافیک در ردیف «توضیحات» */
#receiptModalFreeway .fw-error-text {
    /* font-size: 1.05rem; */
    line-height: 1.8;
}



.gateway-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 1rem;
    cursor: pointer;
    transition: all .2s ease-in-out;
    text-align: center;
    background: #fff;
    color: #0f172a;
}

    .gateway-card:hover {
        border-color: #007bff;
        box-shadow: 0 0 6px rgba(0, 123, 255, 0.4);
    }

.gateway-logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.gateway-name {
    /* font-size: .85rem; */
    font-weight: 500;
    color: inherit;
}

.btn-check:focus + .gateway-card,
.btn-check:checked + .gateway-card,
.gateway-card.active {
    /* هم‌رنگ با #serviceBar .svc.active */
    border: 2px solid #14b8a6;
    background: #caf5f5;
    box-shadow: 0 4px 14px rgba(20, 184, 166, .54);
    color: #0f172a;
}

body.theme-dark .gateway-card {
    background: rgba(15, 23, 42, .88);
    border-color: rgba(148, 163, 184, .35);
    color: rgba(226, 232, 240, .9);
}

body.theme-dark .gateway-card .gateway-name {
    color: inherit;
}

/* مودال افزایش سپرده: در تم تیره لوگوی بانک/درگاه خوانا (سیلوئت سفید) */
body.theme-dark #increaseWalletModal .gateway-logo {
    filter: brightness(0) invert(1);
    opacity: .96;
}

body.theme-dark .btn-check:focus + .gateway-card,
body.theme-dark .btn-check:checked + .gateway-card,
body.theme-dark .gateway-card.active {
    /* هم‌رنگ با body.theme-dark #serviceBar .svc.active */
    background: #047568;
    color: #e5ecff;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08);
    border: 2px solid #14b8a6 !important;
}

#increaseWalletModal #gatewayContainer .gateway-card {
    min-height: 7.5rem;
}

@media (max-width: 575.98px) {
    .gateway-card {
        padding: .65rem;
        border-radius: .75rem;
        gap: .25rem;
    }

    .gateway-logo {
        width: 32px;
        height: 32px;
    }

    .gateway-name {
        font-size: .75rem;
    }

    .btn-check:focus + .gateway-card,
    .btn-check:checked + .gateway-card,
    .gateway-card.active {
        box-shadow: 0 4px 14px rgba(20, 184, 166, .54);
    }

    body.theme-dark .btn-check:focus + .gateway-card,
    body.theme-dark .btn-check:checked + .gateway-card,
    body.theme-dark .gateway-card.active {
        box-shadow: 0 6px 20px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08);
    }
}
/* ============ Plate UI ============ */
/* ===== کادر کلی (خودرو/موتور) ===== */
.w-2 {
    width: 10%;
}
.w-3 {
    width: 20%;
}
.w-4 {
    width: 23.3333%;
}
.w-full {
    width: 100%;
}


#plateCar input[name="pletter"],
#fwPlateForm input[name="pletter"],
#savedItemsPlateForm input[name="pletter"],
#savedItemsEditPlateForm input[name="pletter"],
#savedItemsFilterPlateForm input[name="pletter"] {
    border-top: 0;
    border-bottom: 0;
    text-align: center;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
}

    /* در حالت فوکوس هم نذار آبی شه */
    #plateCar input[name="pletter"]:focus, #fwPlateForm input[name="pletter"]:focus,
    #savedItemsPlateForm input[name="pletter"]:focus, #savedItemsEditPlateForm input[name="pletter"]:focus,
    #savedItemsFilterPlateForm input[name="pletter"]:focus {
        outline: none;
        box-shadow: none;
    }






:root {
    --plate-border-width: 2px;
}



.plate-ui {
    /* صفحه RTL است؛ بدون این، flex «شروع» از راست است و ترتیب DOM با پلاک واقعی برعکس دیده می‌شود */
    direction: ltr;
    display: flex;
    align-items: stretch;
    border: var(--plate-border-width) solid var(--bill-border);
    border-radius: .6rem;
    overflow: hidden;
    margin-inline: auto;
    height: 50px;
}

    /* نوار پرچم (LTR)، دو رقم استانی، حرف، سه رقم، بلوک ایران+کد — مطابق پلاک فیزیکی */
    .plate-ui > .plate-band-ir {
        border-right: var(--plate-border-width) solid var(--bill-border);
        box-sizing: border-box;
    }

    .plate-ui input,
    .plate-moto input {
        border: none;
        outline: 0;
        text-align: center;
        font-weight: 900;
        flex: 1 1 0;
        min-width: 0;
    }
    .plate-ui input[name="p3"],
    .plate-ui input[name="pletter"],
    .plate-ui input[name="p2a"],
    .plate-moto input[name="mTop"] {
        border-right: var(--plate-border-width) solid var(--bill-border);
    }
    table .plate-ui input[name="p3"],
    table .plate-ui input[name="pletter"],
    table .plate-ui input[name="p2a"]
     {
        border-right: none;
    }
    
  
    .plate-moto input[name="mTop"] {
        flex: 1 1 0;
    }
    .plate-moto input[name="mBottom"] {
        flex: 1.6 1 0;
    }
    .plate-ui .plate-band-ir,
    .plate-moto .plate-band-ir {
        flex: 0 0 auto;
        max-width: 30px;
        object-fit: contain;
        align-self: stretch;
    }
    .plate-moto .plate-band-ir {
        order: -1;
    }


    .plate-ui .letter {
        padding: 2px;
    }
        /* حرف وسط */
        .plate-ui .letter select {
            width: 100%;
            height: 100%;
            /* font-size: 2.75rem; */
            text-align: center;
            text-align-last: center;
            border: 0;
        }
.plate-left {

    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: .35rem .25rem;
    gap: .25rem;
}

    .plate-left img {
        width: 100%;
    }
.plate-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-right: 0;
    flex: 1 1 0;
    min-width: 0;
    padding-top: .15rem;
}
.plate-right img {
    width: 100%;
    max-width: 30px;
    height: auto;
    object-fit: contain;
 
}
body.theme-dark .plate-right img {
    filter: invert(1) brightness(1.1);
}
.plate-right .iran-num {
    width: 100%;
}

    .plate-right .iran-num {
        border: 0;
        outline: 0;
        background: transparent;
        text-align: center;
        font-weight: 900;
    }

        .plate-right .iran-num:focus {
            outline: none;
            box-shadow: none;
        }
@media screen and (max-width: 620px) {
    .plate-ui {
        width: min(18.5rem, 100%);
        height: clamp(3.2rem, 10vw, 4.4rem);
    }
    .plate-moto {
        width: 11rem;
    }
   
}




/* در صفحه رسید (چاپ)، پلاک کمی جمع‌وجور بماند و وسط سلول قرار بگیرد */
#receipt-print .plate-ui,#receipt-print .plate-moto {
    width: 13rem;
    height: 35px;
}

/* همان ابعاد فیلتر پلاک صفحهٔ خودرو (#fwPlateForm) برای ذخیره‌شده‌ها */
#fwPlateForm .plate-ui,
#savedItemsPlateForm .plate-ui,
#savedItemsEditPlateForm .plate-ui,
#savedItemsFilterPlateForm .plate-ui {
    width: 14.5rem;
    height: 2.6rem;
    border: var(--plate-border-width) solid var(--bill-border);
    border-radius: .5rem;
}

/* همرنگ کردن بردر چپ اولین خانه پلاک با خود کادر در فیلتر نتایج + پر کردن ارتفاع */
#fwPlateForm .plate-ui .iran-num,
#savedItemsPlateForm .plate-ui .iran-num,
#savedItemsEditPlateForm .plate-ui .iran-num,
#savedItemsFilterPlateForm .plate-ui .iran-num {

    padding-top: 0;
    height: 100%;
}

#fwPlateForm .plate-ui img,
#savedItemsPlateForm .plate-ui img,
#savedItemsEditPlateForm .plate-ui img,
#savedItemsFilterPlateForm .plate-ui img {
    display: none;
}

#fwPlateForm .plate-ui input,
#savedItemsPlateForm .plate-ui input,
#savedItemsEditPlateForm .plate-ui input,
#savedItemsFilterPlateForm .plate-ui input {
    font-weight: 600;
    height: 100%;
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box;
}

#fwPlateForm .plate-moto,
#savedItemsPlateForm .plate-moto,
#savedItemsEditPlateForm .plate-moto,
#savedItemsFilterPlateForm .plate-moto {
    width: 14.5rem;
    height: 2.6rem;
    display: flex;
    border-radius: .6rem;
    box-shadow: none;
    align-items: stretch;
    flex-direction: row;
    display: flex;
}
#fwPlateForm .plate-moto .plate-band-ir,
#savedItemsPlateForm .plate-moto .plate-band-ir,
#savedItemsEditPlateForm .plate-moto .plate-band-ir,
#savedItemsFilterPlateForm .plate-moto .plate-band-ir {
    flex: 0 0 auto;
}
/* فیلتر: هم‌تراز با حالت افقی جدید */

#fwPlateForm .plate-moto .plate-band-ir,
#savedItemsPlateForm .plate-moto .plate-band-ir,
#savedItemsEditPlateForm .plate-moto .plate-band-ir,
#savedItemsFilterPlateForm .plate-moto .plate-band-ir {
    width: 10%;
    max-width: 45px;
    object-fit: contain;
    align-self: stretch;
}
/* #inquirySummaryTable .plate-moto .plate-band-ir {
    width: 10%;
    max-width: 45px;
    object-fit: contain;
    align-self: stretch;
} */

      
  
    

/* موتور (دو ردیفه) - حالت پیش‌فرض (بزرگ، مثلاً در فرم اصلی) */
.plate-moto {
    display: flex;
    align-items: stretch;
    border-radius: .6rem;
    overflow: hidden;
    width: 16.5rem;
    height: 50px;
    margin: auto;
    box-shadow: none;
    flex-direction: row;
    direction: ltr;
border: var(--plate-border-width) solid var(--bill-border);
}


/* چینش عمودی مقدار و بارکد در جدول خلاصه خلافی (مقدار بالا، بارکد پایین) */
#policeSummary .police-id-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    /* کاهش پدینگ افقی برای ستون‌های شناسه‌ها (override کلاس p-2) */
    /* padding: 0.5rem 0.25rem !important; عمودی ۰.۵، افقی ۰.۲۵ */
}
#policeSummary .police-id-cell span {
    white-space: nowrap;
}
#policeSummary .police-id-cell svg {
    max-height: 40px;
}



/* ===== فیلدهای اضافه (خودرو، مالیات نقل‌وانتقال، …) — کد ملی / موبایل ===== */
#extraFields .form-control,
#vttExtraFields .form-control {
    text-align: center;
}

#extraFields,
#vttExtraFields {
    margin-top: 1rem;
}



 
.receiptCreateDate{
    direction:ltr;
    unicode-bidi:plaintext;
}
/* cars.css یا site.css */
.gridjs-wrapper {
    overflow-x: auto;
    border-radius: 0 !important;
    -webkit-overflow-scrolling: touch;
    box-shadow: none !important;
}

.gridjs-table {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}
/* پیش‌فرض: متن‌ها یک‌خطی باشند مگر این‌که صفحه خاصی override کند */
.gridjs-th,.gridjs-td {
    white-space: nowrap;
}

/* غیرفعال کردن resize ستون‌ها */
.gridjs-resizable {
    pointer-events: none;
    cursor: default !important;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none; /* بک‌گراند پیش‌فرض هم حذف میشه */
    padding-inline: .6rem 2rem; /* فاصله برای فلش جدید */
    cursor: pointer;
}

body.theme-dark select:not(.flatpickr-monthDropdown-months),
body.theme-dark .form-select:not(.flatpickr-monthDropdown-months) {
    color: #e2e8f0;
    background-color: rgba(15, 23, 42, .9);
    border: 1px solid var(--bill-border);
    color-scheme: dark;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7'%3E%3Cpath fill='%23ffffff' d='M6 6.5a.75.75 0 0 1-.53-.22l-5-5a.75.75 0 0 1 1.06-1.06L6 4.69l4.47-4.47a.75.75 0 0 1 1.06 1.06l-5 5A.75.75 0 0 1 6 6.5Z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: left .9rem center !important;
    background-size: .8rem .5rem !important;
    padding-right: .85rem;
}

body.theme-dark .form-select:focus:not(.flatpickr-monthDropdown-months) {
    border-color: rgba(59, 130, 246, .65);
    box-shadow: 0 0 0 .15rem rgba(59, 130, 246, .25);
}

body.theme-dark select option:not(.flatpickr-monthDropdown-months),
body.theme-dark .form-select option:not(.flatpickr-monthDropdown-months) {
    color: #e2e8f0;
    background-color: #0f172a;
}



.searchbox {
    background: #e6e6e6;
}
.servicedesc {
    background: #e6e6e6;
}
.modal-body {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* روان‌تر در iOS */
}

.receipt-content {
    min-width: 600px; /* هرچقدر عرض ثابت لازم داری */
}

/* رسید خلافی: برگشت استایل اسکرول افقی بدون کلاس receipt-scroll-x */
#finesReceiptPoliceModal .modal-body {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
#finesReceiptPoliceModal .receipt-content {
    min-width: 900px;
}

.receipt-content table {
    margin-bottom: 0;
}

#receiptContainerThirdPartyInsurance table {
    font-size: 12px;
}

/*
  رسید بیمه شخص ثالث: عنوان بخش (وسط‌چین + پس‌زمینه نواری).
  iframe چاپ فقط site.css + print.css لود می‌کند.
*/
#receiptContainerThirdPartyInsurance .tpi-section-title {
    text-align: center !important;
    font-weight: 700;
    color: #0f172a;

    display: block;
    width: 100%;
    box-sizing: border-box;
    background: linear-gradient(180deg, #eef2f7 0%, #e2e8f0 100%);
    border: 1px solid #cbd5e1;
    border-radius: .3rem;
}

/* جدول چهارستونهٔ رسید بیمهٔ شخص ثالث: راست‌چین هر سلول (در iframe چاپ هم اعمال می‌شود) */
#receiptContainerThirdPartyInsurance .tpi-kv-table-4col > tbody > tr > th,
#receiptContainerThirdPartyInsurance .tpi-kv-table-4col > tbody > tr > td {
    text-align: right !important;
}

/* پلاک رسید بیمه ثالث: عرض کامل سلول تا justify-content-end اثر کند (وگرنه فقط به اندازهٔ پلاک است و وسط دیده می‌شود) */
#receiptContainerThirdPartyInsurance .tpi-plate-strip {
    width: 100%;
    box-sizing: border-box;
}

#receiptContainerThirdPartyInsurance .tpi-plate-strip #tpiPlateHtml {
    width: 100%;
    min-width: 0;
    justify-content: flex-end !important;
}

#receiptContainerThirdPartyInsurance .tpi-plate-strip .plate-ui {
    margin-inline: 0 !important;
    flex-shrink: 0;
}

/* پلاک فقط داخل receipt-content (مثل رسید آزادراهی) کمی جمع‌وجورتر از حالت عمومی باشد */
.receipt-content .plate-ui {
    width: min(19.75rem, 100%);
}


body.theme-dark .receipt-notes-on-light {
    color: #0f172a;
}


.text-justify {
    text-align: justify !important;
}
/* همیشه مودال تنظیمات چاپ بالاتر از بقیه باشه */
#printSettingsModal {
    z-index: 1080 !important;
}

    /* و بک‌دراپش هم یه پله پایین‌تر از خودش */
    #printSettingsModal ~ .modal-backdrop {
        z-index: 1075 !important;
    }

/* مودال انتخاب درگاه همیشه روی مودال‌های دیگه (مثل رسید خلافی) قرار بگیره */
#gatewaysModal {
    z-index: 1078 !important;
}

    /* بک‌دراپ مخصوص مودال انتخاب درگاه، کمی پایین‌تر از خود مودال ولی بالاتر از بقیه */
    #gatewaysModal ~ .modal-backdrop {
        z-index: 1073 !important;
    }

/* مودال تأیید ابطال پرداخت (قبض/خودرو) روی مودال وضعیت استعلام بیاید */
#confirmCancelPaymentModal {
    z-index: 1065 !important;
}

/* مودال «استعلام پرداخت» باید روی مودال رسید (مثل خلافی) بیاید */
#verifyPaymentModal {
    z-index: 1076 !important;
}

/* بک‌دراپ مودال «استعلام پرداخت» کمی پایین‌تر از خودش ولی بالاتر از مودال‌های پشت‌سر */
#verifyPaymentModal ~ .modal-backdrop {
    z-index: 1071 !important;
}

.modal-backdrop.show {
    opacity: 0.8 !important;
}

.rc-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100%;
}

    .rc-table th,
    .rc-table td {
        border: 1px solid #000 !important;
        padding: 4px;
        background-color: #ffffff;
    }

/* خلافی (جدول هدر/پلاک و جدول جزئیات/خلاصه): پیش‌فرض بدون شکستن متن */
#policeReceiptTable td,
#policeReceiptTable th,
#policeReceiptTable .rc-cell,
#policeReceiptTable .rc-text,
#policeDetailsTable td,
#policeDetailsTable th,
#policeDetailsTable .rc-cell,
#policeDetailsTable .rc-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* فقط زمان/محل/شرح تخلف اجازه شکست داشته باشند */
#policeReceiptTable .rc-wrap,
#policeReceiptTable .rc-wrap .rc-cell,
#policeReceiptTable .rc-wrap .rc-text,
#policeDetailsTable .rc-wrap,
#policeDetailsTable .rc-wrap .rc-cell,
#policeDetailsTable .rc-wrap .rc-text {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
}


body.theme-dark .rc-table th,
body.theme-dark .rc-table td {
    background-color: rgba(15, 23, 42, .94);
    color: #e5e8f0;
    border-color: rgb(255, 255, 255) !important;
}

/* خلافی: ردیف‌های جزئیات (داخل مودال) — ارتفاع خودکار (بدون محدودیت) */
 #police-rows tr {
    height: auto;
}
 #police-rows td {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 2px !important;
    padding-right: 2px !important;
    vertical-align: middle;
}

/* خلافی: خلاصه (policeSummary) — ارتفاع خودکار (بدون محدودیت) */
 #policeSummary {
    width: 100%;
}
 #policeSummary tr {
    height: auto;
    width: 100%;
}
 #policeSummary th,
 #policeSummary td {
    padding-top: 6px;
    padding-bottom: 6px;
    vertical-align: middle;
}
/* بارکدها داخل ارتفاع 39px جا شوند */
 #policeSummary svg {
    max-height: 26px;
    width: 100%;
}



/* کنترل نمایش لوگو در رسیدها (روشن/تاریک)
   بعضی رسیدها (مثل رسید استعلام شبا) هر دو لوگو را در DOM دارند؛
   این قوانین تضمین می‌کند فقط یکی مطابق تم نمایش داده شود. */
.receipt-brand-logo.receipt-logo-dark {
    display: none;
}

body.theme-dark .receipt-brand-logo.receipt-logo-light {
    display: none !important;
}

body.theme-dark .receipt-brand-logo.receipt-logo-dark {
    display: inline-block !important;
}

/* رسید استعلام شبا: شبا خواناتر/درشت‌تر */
#ibanReceiptModal #ir-iban,
#iban-receipt-print #ir-iban {
    /* font-size: 1.15rem; */
    font-weight: 800;
    letter-spacing: 0.5px;
}

/* لوگوی رسید (مودال‌های رسید / رسید کلی و …) در تم تیره */
body.theme-dark  .receipt-brand-logo
 {
    content: url('/Assets/images/jlogo.png');
}

/* رسید کلی استعلام: جمع کل پررنگ */
tr.multi-receipt-total td {
    font-weight: 700;
}

/* رسید کلی استعلام: ستون هزینه استعلام هر خدمت وسط‌چین */

/* لوگوی نوبار در ناوبری و صفحه ورود در تم تیره */
body.theme-dark .vertical-navbar .navbar-brand img,
body.theme-dark .login-logo img {
    content: url('/Assets/images/nlg-wi.png');
}

/* ================== دکمه‌های سگمنت ================== */
.segment .seg-btn {
    border: 0;
    background: transparent;
    color: #6c757d;
    font-weight: 600;
    width: 250px;
}

    .segment .seg-btn.active {
        background: #2d4449;
        color: #fcb100;
        box-shadow: 0 0 0 .2rem rgba(13,110,253,.15);
    }

/* ================== نوار سرویس ================== */
/* نوار سرویس قبوض مثل خودرو: عرض کامل (محدودیت 800px حذف شد) */
#serviceBar,
#postalServiceBar,
#vttServiceBar,
#creditScoreServiceBar {
    width: 100%;
}

    #serviceBar .svc,
    #ibanServiceBar .svc.service-option,
    #creditScoreServiceBar .svc.service-option,
    #serviceBarCar .svc.service-option,
    #serviceBarMoto .svc.service-option,
    #serviceBarOther .svc.service-option,
    #postalServiceBar .svc.service-option,
    #vttServiceBar .svc.service-option {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        background: #fff;
        border-radius: 1rem;
        padding: .8rem .9rem;
        /* color: #212529; */
    }

        /* حالت فعال سرویس‌ها (قبوض + خودرو + پست + مالیات نقل‌وانتقال) */
        #serviceBar .svc.active,
        #ibanServiceBar .svc.service-option.active,
        #creditScoreServiceBar .svc.service-option.active,
        #serviceBarCar .svc.service-option.active,
        #serviceBarMoto .svc.service-option.active,
        #serviceBarOther .svc.service-option.active,
        #postalServiceBar .svc.service-option.active,
        #vttServiceBar .svc.service-option.active {
            /* background: #104e8c;
            border-color: #104e8c;
            box-shadow: 0 0 0 .2rem rgba(13, 253, 107, 0.12); */
            /* color: #fff; */

            border:2px solid #14b8a6;
            /* هم‌رنگ با .pp-teal-tabstrip و سایه هم‌خانوادهٔ .pp-teal-tabstrip .nav-link.active */
            background: #caf5f5;
            box-shadow: 0 4px 14px rgba(20, 184, 166, .54);
        }

/* نسخهٔ تم تیره برای کارت‌های سرویس در نوار بالا (قبوض + خودرو + پست + مالیات) */
body.theme-dark #serviceBar .svc,
body.theme-dark #ibanServiceBar .svc.service-option,
body.theme-dark #creditScoreServiceBar .svc.service-option,
body.theme-dark #serviceBarCar .svc.service-option,
body.theme-dark #serviceBarMoto .svc.service-option,
body.theme-dark #serviceBarOther .svc.service-option,
body.theme-dark #postalServiceBar .svc.service-option,
body.theme-dark #vttServiceBar .svc.service-option {
   
    background: #1e2844;
    color: #e5e8f0;
}

/* تم تیره: سرویس فعال — همان پس‌زمینه/رنگ/سایه/بردر .pp-teal-tabstrip .nav-link.active */
body.theme-dark #serviceBar .svc.active,
body.theme-dark #ibanServiceBar .svc.service-option.active,
body.theme-dark #creditScoreServiceBar .svc.service-option.active,
body.theme-dark #serviceBarCar .svc.service-option.active,
body.theme-dark #serviceBarMoto .svc.service-option.active,
body.theme-dark #serviceBarOther .svc.service-option.active,
body.theme-dark #postalServiceBar .svc.service-option.active,
body.theme-dark #vttServiceBar .svc.service-option.active {
    background: #047568;
    color: #e5ecff;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08);
    border: 2px solid #14b8a6 !important;
}

/*
 * صفحه قبوض — تم تیره: لوگوی نوع قبض انتخاب‌شده.
 * invert روی PNG با پس‌زمینهٔ سفید کل تصویر را یکدست سفید می‌کند؛ * زمینهٔ روشن گرد + لوگوی اصلی خواناتر روی کارت فعال است.
 */
body.theme-dark #serviceBar .svc.active img.svc-logo {
    filter: none;
    opacity: 1;
    background: rgba(255, 255, 255, .94);
    padding: 0.35rem;
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .22);
    box-sizing: content-box;
}

body.theme-dark #serviceBar .svc.active i.svc-logo,
body.theme-dark #ibanServiceBar .svc.service-option.active i.svc-logo,
body.theme-dark #creditScoreServiceBar .svc.service-option.active i.svc-logo {
    filter: none;
    opacity: 1;
    --fa-primary-color: #f8fafc;
    --fa-secondary-color: #a5f3fc;
    --fa-primary-opacity: 1;
    --fa-secondary-opacity: .85;
}

@media (min-width: 1200px) {
    .table-responsive {
        overflow-x: auto;
    }
}

.table-responsive #billGrid .gridjs-table {
    width: 100% !important;
}

.table-responsive #billGrid {
    min-width: 0;
}

.topbar .btn-topbar {
    margin-right: 0;
    margin-left: auto;
}

/* منوی اکانت و سایر دراپ‌داون‌های تاپ‌بار زیر محتوا نروند (حتی اگر Popper منو را به body منتقل کند) */
.topbar,
.topbar .container,
.app-content {
    overflow: visible !important;
}
.topbar .dropdown-menu,
.topbar .account-menu {
    z-index: 1055 !important;
}
/* وقتی منوی اکانت باز است، هرجا در DOM باشد روی همه چیز باشد */
.dropdown-menu.account-menu,
.dropdown-menu.account-menu.show {
    z-index: 1060 !important;
}

.mobile-nav-caret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* font-size: .9rem; */
    color: var(--muted-color);
    transition: transform .2s ease;
    margin-inline-start: .5rem;
}

/* =========================
   Dashboard service cards
   ========================= */
.dashboard-service-card__icon {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
    /* font-size: 1.7rem; */ /* آیکن بزرگ‌تر */
}

body.theme-dark .dashboard-service-card__icon {
    background: rgba(148, 197, 255, 0.16);
    color: #ffffff;
}

.mobile-nav-group[open] .mobile-nav-caret {
    transform: rotate(180deg);
}


.form-check-input:checked[type="radio"] {
    --bs-form-check-bg-image: none;
}

/* دکمه‌های غیرفعال — یک استایل کلی برای تم روشن و تاریک */
.btn:disabled,
.btn.disabled,
.btn[disabled] {
    background-color: #e5e7eb !important;
    border-color: #d1d5db !important;
    color: #6b7280 !important;
    box-shadow: none !important;
    opacity: .6;
  cursor: not-allowed;
}
.btn:disabled .btn-icon,
.btn.disabled .btn-icon,
.btn[disabled] .btn-icon {
    color: inherit !important;
}

body.theme-dark .btn:disabled,
body.theme-dark .btn.disabled,
body.theme-dark .btn[disabled] {
    background-color: rgba(55, 65, 81, .9) !important;
    border-color: rgba(75, 85, 99, .9) !important;
    color: rgba(203, 213, 245, .85) !important;
    box-shadow: none !important;
    opacity: .6;
    cursor: not-allowed;
}
body.theme-dark .btn:disabled .btn-icon,
body.theme-dark .btn.disabled .btn-icon,
body.theme-dark .btn[disabled] .btn-icon {
    color: inherit !important;
}

/* ========== صفحه رسید پرداخت (Receipt) ========== */


/* #receipt #receipt-print {
    direction: rtl;
    max-width: var(--card-max);
    width: 100%;
    margin: 24px auto;
    padding: var(--card-pad);
    box-sizing: border-box;
    background: var(--surface-bg);
    border: 1px solid var(--bill-border);
    border-radius: var(--card-radius);
} */

/* #receipt .r-header {
    text-align: center;
    margin-bottom: 16px;
} */

/* #receipt .receipt-title {
    margin: 0;
} */

/* هدر رسید پرداخت: چیدمان راستی‌آزمایی؛ پس‌زمینه خنثی برای چاپ سیاه‌وسفید */
#receipt-print .card-header.receipt-payment-brand-head {
    display: block;
    background: #e8ecf0 !important;
    color: #1e293b;
    border-bottom: 2px solid #64748b !important;
    box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.06);
    padding: 1.25rem 1.5rem;
}
#receipt-print .receipt-payment-brand-head-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    flex-wrap: wrap;
    width: 100%;
}
#receipt-print .receipt-payment-brand-head__tagline {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 0.2rem;
    max-width: 16rem;
}
#receipt-print .receipt-payment-brand-head__tagline-line--intro {
    font-size: 0.82rem;
    font-weight: 400;
    color: #64748b;
    line-height: 1.35;
}
#receipt-print .receipt-payment-brand-head__tagline-line--brand {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}
#receipt-print .card-header.receipt-payment-brand-head .receipt-brand-logo {
    position: static;
    margin: 0;
    flex-shrink: 0;
}
#receipt-print .receipt-logo-dark {
    display: none !important;
}
body.theme-dark #receipt-print .receipt-logo-light {
    display: none !important;
}
body.theme-dark #receipt-print .receipt-logo-dark {
    display: block !important;
}

/* تم تاریک — رسید پرداخت (/receipt/...): هدر هماهنگ با تم + متن و پلاک خوانا */
body.theme-dark #receipt-print.card,
body.theme-dark #receipt-print.receipt-print {
    background-color: var(--surface-bg) !important;
    border-color: var(--bill-border) !important;
    color: var(--text-color);
}

body.theme-dark #receipt-print .card-body {
    background-color: transparent;
    color: var(--text-color);
}

body.theme-dark #receipt-print .card-header.receipt-payment-brand-head {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
    color: var(--text-color) !important;
    border-bottom: 2px solid rgba(148, 163, 184, 0.35) !important;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.05);
}

body.theme-dark #receipt-print .receipt-payment-brand-head__tagline-line--intro {
    color: var(--muted-color) !important;
}

body.theme-dark #receipt-print .receipt-payment-brand-head__tagline-line--brand {
    color: var(--text-color) !important;
}

body.theme-dark #receipt-print .r-label {
    color: var(--bill-muted);
}

body.theme-dark #receipt-print .r-value {
    color: var(--text-color);
}

body.theme-dark #receipt-print .r-value .success {
    color: #4ade80;
    font-weight: 700;
}

body.theme-dark #receipt-print .r-value .fail {
    color: #f87171;
    font-weight: 700;
}

body.theme-dark #receipt-print .r-value .pending {
    color: #fbbf24;
    font-weight: 700;
}

body.theme-dark #receipt-print .text-muted {
    color: var(--bill-muted) !important;
}

body.theme-dark #receipt-print .receipt-payment-support {
    border-top-color: var(--bill-border);
}

body.theme-dark #receipt-print .plate-ui,
body.theme-dark #receipt-print .plate-moto {
    background: rgba(15, 23, 42, 0.45);
    border-color: var(--bill-border);
}

body.theme-dark #receipt-print .plate-ui input,
body.theme-dark #receipt-print .plate-moto input {
    color: var(--text-color);
    background: transparent;
}

body.theme-dark #receipt-print .receipt-signature.receipt-payment-signature {
    color: var(--text-color);
    background: rgba(15, 23, 42, 0.25);
}

body.theme-dark #receipt-print.receipt-verify-print-root .receipt-verify-head {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    color: var(--text-color);
    border-bottom-color: rgba(148, 163, 184, 0.35);
}

body.theme-dark #receipt-print.receipt-verify-print-root .receipt-verify-head__tagline-line--intro {
    color: var(--muted-color);
}

body.theme-dark #receipt-print.receipt-verify-print-root .receipt-verify-head__tagline-line--brand {
    color: var(--text-color);
}

body.theme-dark #receipt-print.receipt-verify-print-root .receipt-verify-list .rv-value {
    color: var(--text-color);
}

body.theme-dark #receipt-print.receipt-verify-print-root .receipt-verify-support {
    border-top-color: var(--bill-border);
}

body.theme-dark #receipt-print.receipt-verify-print-root .receipt-verify-support__title {
    color: var(--bill-muted);
}

/* پشتیبانی — انتهای رسید پرداخت (پنل) */
#receipt-print .receipt-payment-support {
    margin-top: 1rem;
    padding-top: 1rem;
    text-align: center;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}
#receipt-print .receipt-payment-support__title {
    font-size: 0.9rem;
    color: #475569;
    margin-bottom: 0.65rem;
    line-height: 1.65;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}
body.theme-dark #receipt-print .receipt-payment-support__title {
    color: #94a3b8;
}
#receipt-print .receipt-payment-support__numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    justify-content: center;
    align-items: center;
    direction: ltr;
}
#receipt-print .receipt-payment-support__numbers a {
    color: #1e3a5f;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
body.theme-dark #receipt-print .receipt-payment-support__numbers a {
    color: #93c5fd;
}
#receipt-print .receipt-payment-support__numbers a:hover {
    text-decoration: underline;
}

/* صفحه راستی‌آزمایی رسید — همان ظاهر در مرورگر و داخل iframe چاپ (کلاس روی ریشهٔ کلون) */
#receipt-print.receipt-verify-print-root {
    max-width: 46rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#receipt-print.receipt-verify-print-root .receipt-verify-card {
    border-radius: 1rem;
    box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.08);
    overflow: hidden;
}
#receipt-print.receipt-verify-print-root .receipt-verify-head {
    background: #e8ecf0;
    color: #1e293b;
    padding: 1.25rem 1.5rem;
    border-bottom: 2px solid #64748b;
    box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.06);
}
#receipt-print.receipt-verify-print-root .receipt-verify-head-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    flex-wrap: wrap;
    width: 100%;
}
#receipt-print.receipt-verify-print-root .receipt-verify-head__tagline {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 0.2rem;
    max-width: 16rem;
}
#receipt-print.receipt-verify-print-root .receipt-verify-head__tagline-line--intro {
    font-size: 0.82rem;
    font-weight: 400;
    color: #64748b;
    line-height: 1.35;
}
#receipt-print.receipt-verify-print-root .receipt-verify-head__tagline-line--brand {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}
#receipt-print.receipt-verify-print-root .receipt-verify-list .rv-row {
    display: grid;
    grid-template-columns: minmax(0, 38%) 1fr;
    gap: 0.5rem 0.75rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 0.92rem;
}
#receipt-print.receipt-verify-print-root .receipt-verify-list .rv-row:last-child {
    border-bottom: none;
}
#receipt-print.receipt-verify-print-root .receipt-verify-list .rv-label {
    color: #4b26a2;
}
#receipt-print.receipt-verify-print-root .receipt-verify-list .rv-value {
    word-break: break-word;
}
#receipt-print.receipt-verify-print-root .receipt-verify-support {
    margin-top: 1.25rem;
    padding: 1rem 1rem 0;
    text-align: center;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}
#receipt-print.receipt-verify-print-root .receipt-verify-support__title {
    font-size: 0.9rem;
    color: #475569;
    margin-bottom: 0.65rem;
    line-height: 1.65;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}
#receipt-print.receipt-verify-print-root .receipt-verify-support__numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    justify-content: center;
    align-items: center;
    direction: ltr;
}
#receipt-print.receipt-verify-print-root .receipt-verify-support__numbers a {
    color: #1e3a5f;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

/* محدودهٔ چاپ = #receipt-print؛ استایل‌ها با #receipt-print تا در iframe چاپ هم اعمال شوند */
#receipt-print {
    max-width: 46rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#receipt-print .receipt-two-cols {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    align-items: start;
}

@media (max-width: 576px) {
    #receipt-print .receipt-two-cols {
        grid-template-columns: 1fr;
    }
    #receipt-print .receipt-col-list {
        width: 100%;
        max-width: 100%;
        order: 1;
    }
    #receipt-print .receipt-col-barcode {
        order: 2;
    }
}

#receipt-print .receipt-col-barcode {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
}

#receipt-print .receipt-col-barcode-footer {
    display: flex;
    justify-content: center;
    width: 100%;
}

#receipt-print .receipt-col-barcode .receipt-signature.receipt-payment-signature {
    width: 100%;
    max-width: 200px;
    min-height: 90px;
    padding: 8px;
    box-sizing: border-box;
}

#receipt-print .receipt-col-list {
    min-width: 0;
}

#receipt-print .receipt-list {
    width: 100%;
}

#receipt-print .r-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    padding: 8px 0;
    row-gap: 10px;
}

#receipt-print .r-label {
    font-weight: 600;
    white-space: nowrap;
}

#receipt-print .r-dot {
    border-bottom: 1px dashed var(--bill-muted);
    height: 1em;
    align-self: baseline;
    margin: 0 .9rem;
    min-width: 80px;
}

#receipt-print .r-dot-plate {
    height: 1.5em;
}

#receipt-print .r-value {
    text-align: left;
    word-break: break-word;
}

/* دکمه چاپ در card-footer */
#receipt-print .card-footer {
    text-align: center;
}

/* ========== تیکت (کاربر + ادمین، یکسان) ========== */
:root {
    --ticket-surface: #ffffff;
    --ticket-border: rgba(15, 28, 67, .08);
    --ticket-muted: #64748b;
    --ticket-accent: #2563eb;
    --ticket-accent-soft: rgba(37, 99, 235, .06);
}

body.theme-dark {
    --ticket-surface: #0f172a;
    --ticket-border: rgba(148, 163, 184, .35);
    --ticket-muted: #9fb0d9;
    --ticket-accent: #60a5fa;
    --ticket-accent-soft: rgba(96, 165, 250, .12);
}

.tickets-shell {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
}

.tickets-card {
    background: var(--ticket-surface);
    border-radius: 1.1rem;
    border: 1px solid var(--ticket-border);
}

.tickets-subtitle {
    color: var(--ticket-muted);
}

.tickets-filters {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}

.tickets-filter-item {
    border-radius: .9rem;
    border: 1px solid transparent;
    padding: .9rem 1.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .8rem;
    background-color: transparent;
    color: inherit;
    cursor: pointer;
}

.tickets-filter-item:hover {
    background-color: rgba(15, 23, 42, .03);
}

body.theme-dark .tickets-filter-item:hover {
    background-color: rgba(15, 23, 42, .7);
}

.tickets-filter-item.active {
    background-color: var(--ticket-accent-soft);
    border-color: var(--ticket-accent);
}

.tickets-filter-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
}

.tickets-filter-item:not(.active) .tickets-filter-icon .fa-duotone {
    color: #94a3b8;
}

body.theme-dark .tickets-filter-item:not(.active) .tickets-filter-icon .fa-duotone {
    color: #64748b;
}

.tickets-filter-label {
    font-size: .85rem;
    font-weight: 600;
    text-align: center;
    color: var(--ticket-muted);
}

.tickets-filter-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    flex-direction: row-reverse;
}

.tickets-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    font-size: .7rem;
    background-color: rgba(37, 99, 235, .08);
    color: var(--ticket-accent);
}

body.theme-dark .tickets-filter-count {
    background-color: rgba(96, 165, 250, .35);
    color: #fff;
}

.tickets-table-head {
    border-bottom: 1px solid rgba(148, 163, 184, .35);
    padding-bottom: .5rem;
    margin-bottom: .5rem;
    font-size: .78rem;
    color: var(--ticket-muted);
}

.tickets-table-row {
    border-bottom: 1px solid rgba(148, 163, 184, .18);
    padding: .65rem 0;
    cursor: pointer;
}

.tickets-table-row:last-child {
    border-bottom: none;
}

.tickets-table-title {
    font-size: .88rem;
    font-weight: 600;
}

.tickets-table-meta {
    font-size: .78rem;
    color: var(--ticket-muted);
}

/* جدول لیست تیکت (کاربر + ادمین): RTL و راست‌چین کامل (خنثی‌کردن thead مرکزچین .grid-report و LTR پیش‌فرض فوتر) */
.grid-report #ticketsGrid .gridjs-container,
.grid-report #ticketsGrid .gridjs-wrapper,
.grid-report #adminTicketsGrid .gridjs-container,
.grid-report #adminTicketsGrid .gridjs-wrapper {
    direction: rtl !important;
    text-align: right;
}

#ticketsGrid .gridjs-table,
#adminTicketsGrid .gridjs-table {
    direction: rtl !important;
}

#ticketsGrid .gridjs-th,
#ticketsGrid .gridjs-td,
#adminTicketsGrid .gridjs-th,
#adminTicketsGrid .gridjs-td {
    text-align: right !important;
}

.grid-report #ticketsGrid .gridjs-table thead tr th.gridjs-th,
.grid-report #adminTicketsGrid .gridjs-table thead tr th.gridjs-th {
    text-align: right !important;
}

.grid-report #ticketsGrid .gridjs-footer,
.grid-report #adminTicketsGrid .gridjs-footer {
    direction: rtl !important;
    text-align: right;
}

.grid-report #ticketsGrid .gridjs-footer .gridjs-summary,
.grid-report #adminTicketsGrid .gridjs-footer .gridjs-summary {
    text-align: right !important;
    justify-self: start;
}

@media (max-width: 767px) {
    .grid-report #ticketsGrid .gridjs-footer .gridjs-summary,
    .grid-report #adminTicketsGrid .gridjs-footer .gridjs-summary {
        text-align: right !important;
    }
}

/* گرید لیست تیکت (کاربر + ادمین): راه‌راه مثل table-striped بوت‌استرپ */
#ticketsGrid .gridjs-table.table-striped > tbody > tr:nth-of-type(odd) > td.gridjs-td,
#adminTicketsGrid .gridjs-table.table-striped > tbody > tr:nth-of-type(odd) > td.gridjs-td {
    background-color: var(--bs-table-striped-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05)) !important;
    color: inherit;
}

#ticketsGrid .gridjs-table.table-striped > tbody > tr:nth-of-type(even) > td.gridjs-td,
#adminTicketsGrid .gridjs-table.table-striped > tbody > tr:nth-of-type(even) > td.gridjs-td {
    background-color: transparent !important;
}

body.theme-dark #ticketsGrid .gridjs-table.table-striped > tbody > tr:nth-of-type(odd) > td.gridjs-td,
body.theme-dark #adminTicketsGrid .gridjs-table.table-striped > tbody > tr:nth-of-type(odd) > td.gridjs-td {
    background-color: rgba(255, 255, 255, 0.06) !important;
}

.tickets-search {
    max-width: 420px;
    width: 100%;
}

.tickets-search .form-control {
    border-radius: .9rem;
}

.ticket-empty-state {
    padding: 2.5rem 1rem;
    text-align: center;
    color: var(--ticket-muted);
    font-size: .9rem;
}

.ticket-empty-main-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border-radius: 999px;
}

.ticket-status-pill {
    border-radius: 999px;
    font-size: .78rem;
    padding: .15rem .7rem;
    border: 1px solid var(--ticket-border);
}

.ticket-status-open {
    color: rgb(49, 247, 148);
    border-color: rgba(22, 163, 74, .35);
    background-color: rgba(187, 247, 208, .16);
}

.ticket-status-inprogress {
    color: #92400e;
    border-color: rgba(245, 158, 11, .45);
    background-color: rgba(254, 243, 199, .2);
}

.ticket-status-closed {
    color: #6b7280;
    border-color: rgba(107, 114, 128, .45);
    background-color: rgba(249, 250, 251, .8);
}

body.theme-dark .ticket-status-closed {
    background-color: rgba(30, 64, 175, .22);
    color: #e5e7eb;
}

.ticket-detail-header {
    border-bottom: 1px solid var(--ticket-border);
}

body.theme-dark #ticketDetailTitle {
    color: #f1f5f9;
}

body.theme-dark #ticketDetailMeta {
    color: #94a3b8;
}

body.theme-dark #ticketDetailMeta a {
    color: #7dd3fc;
}

body.theme-dark #ticketDetailMeta a:hover {
    color: #bae6fd;
}

body.theme-dark .ticket-detail-reply-section {
    border-top: 1px solid rgba(255, 255, 255, .2) !important;
}

/* وضعیت تیکت در هدر جزئیات: برچسب متنی، نه شبیه دکمهٔ گرد */
#ticketDetailStatusPill {
    display: inline-block;
    border-radius: 0.35rem;
    border: none !important;
    border-left: 3px solid transparent;
    padding: 0.2rem 0.55rem 0.2rem 0.65rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.35;
    cursor: default;
    vertical-align: middle;
}

#ticketDetailStatusPill.ticket-status-open {
    color: #166534;
    border-left-color: #22c55e;
    background: rgba(34, 197, 94, 0.1);
}

#ticketDetailStatusPill.ticket-status-inprogress {
    color: #9a3412;
    border-left-color: #ea580c;
    background: rgba(245, 158, 11, 0.12);
}

#ticketDetailStatusPill.ticket-status-closed {
    color: #475569;
    border-left-color: #64748b;
    background: rgba(100, 116, 139, 0.12);
}

body.theme-dark #ticketDetailStatusPill.ticket-status-open {
    color: #86efac;
    border-left-color: #4ade80;
    background: rgba(34, 197, 94, 0.14);
}

body.theme-dark #ticketDetailStatusPill.ticket-status-inprogress {
    color: #fcd34d;
    border-left-color: #f59e0b;
    background: rgba(245, 158, 11, 0.14);
}

body.theme-dark #ticketDetailStatusPill.ticket-status-closed {
    color: #cbd5e1;
    border-left-color: #94a3b8;
    background: rgba(51, 65, 85, 0.45);
}

.ticket-messages {
    max-height: 440px;
    overflow-y: auto;
    padding: 1rem 1.25rem;
}

.ticket-message {
    margin-bottom: .85rem;
    display: flex;
    flex-direction: column;
}

.ticket-message.me,
.ticket-message.user {
    align-items: flex-start;
}

.ticket-message.support {
    align-items: flex-end;
}

.ticket-message .bubble {
    display: inline-block;
    padding: .55rem .8rem;
    border-radius: .75rem;
    max-width: 100%;
    white-space: pre-wrap;
    font-size: .88rem;
}

.ticket-message.me .bubble,
.ticket-message.user .bubble {
    background-color: rgba(34, 197, 136, 0.89);
    color: #ffffff;
}

.ticket-message.support .bubble {
    background-color: rgba(37, 99, 235, 0.8);
    color: #ffffff;
}

body.theme-dark .ticket-message.me .bubble,
body.theme-dark .ticket-message.user .bubble {
    background-color: rgba(34, 197, 136, 0.89);
    color: #ffffff;
}

body.theme-dark .ticket-message.support .bubble {
    background-color: rgba(37, 99, 235, 0.8);
    color: #ffffff;
}

.ticket-message-meta {
    font-size: .72rem;
    color: var(--ticket-muted);
}

.ticket-form textarea {
    resize: vertical;
    min-height: 80px;
}

.ticket-status-select {
    min-width: 150px;
}

body:not(.theme-dark) #adminTicketDetailStatusPill {
    color: rgb(49, 193, 176);
}

@media (max-width: 767.98px) {
    .tickets-shell {
        padding: 1rem .75rem 2rem;
    }
}

/* intro.js — راهنمای «هزینه استعلام» در مودال رسید کلی (سراسری، هماهنگ با IRANSans و تم تاریک) */
.introjs-tooltipReferenceLayer,
.introjs-tooltipReferenceLayer *,
.introjs-helperNumberLayer {
    font-family: 'IRANSansFaNum', 'IRANSans', Tahoma, sans-serif !important;
}
.introjs-tooltip {
    direction: rtl;
    text-align: right;
    max-width: min(92vw, 22rem);
}
/* مودال رسید کلی: راهنما بالای فیلد — دکمه‌ها و تیک داخل viewport بمانند */
.modal .introjs-tooltip .introjs-tooltipbuttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem 0.5rem;
}
.introjs-bullets,
.introjs-progress {
    display: none !important;
}
.introjs-skipbutton {
    display: none !important;
}
.introjs-dontShowAgain {
    direction: rtl;
    text-align: right;
}
.introjs-dontShowAgain label {
    margin: 0 0.35rem 0 0;
}
body.theme-dark .introjs-tooltip {
    background-color: #ffffff !important;
    border: 1px solid rgba(148, 163, 184, 0.35);
    box-shadow: 0 4px 28px rgba(0, 0, 0, 0.35);
}
body.theme-dark .introjs-tooltip .introjs-tooltip-title {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}
body.theme-dark .introjs-tooltiptext {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
}
body.theme-dark .introjs-dontShowAgain label {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
}
body.theme-dark .introjs-tooltip .introjs-arrow.top,
body.theme-dark .introjs-tooltip .introjs-arrow.top-right,
body.theme-dark .introjs-tooltip .introjs-arrow.top-middle {
    border-bottom-color: #ffffff !important;
}
body.theme-dark .introjs-tooltip .introjs-arrow.bottom,
body.theme-dark .introjs-tooltip .introjs-arrow.bottom-right,
body.theme-dark .introjs-tooltip .introjs-arrow.bottom-middle {
    border-top-color: #ffffff !important;
}
body.theme-dark .introjs-tooltip .introjs-arrow.left,
body.theme-dark .introjs-tooltip .introjs-arrow.left-bottom {
    border-right-color: #ffffff !important;
}
body.theme-dark .introjs-tooltip .introjs-arrow.right,
body.theme-dark .introjs-tooltip .introjs-arrow.right-bottom {
    border-left-color: #ffffff !important;
}

/* چاپ از خود صفحه (Ctrl+P): اکشن‌های غیرقابل چاپ */
@media print {
    .no-print {
        display: none !important;
    }
}
