﻿/* ==========================================================================
   ZanPOS — Global Theme Polish
   Loaded AFTER bootstrap + app css. Refines the existing Minible template
   across every page (cards, buttons, tables, forms, sidebar, topbar…).
   Works in both light & dark modes and in RTL. Non-destructive: only visual.
   ========================================================================== */

:root {
    --zp-primary: #5156be;
    --zp-primary-rgb: 81, 86, 190;
    --zp-primary-strong: #454aad;
    --zp-primary-soft: rgba(81, 86, 190, .12);
    --zp-radius-sm: 8px;
    --zp-radius: 12px;
    --zp-radius-lg: 16px;
    --zp-transition: .18s ease;
}

/* Per-theme surface + shadow tokens ------------------------------------- */
[data-bs-theme="light"],
:root:not([data-bs-theme="dark"]) {
    --zp-shadow: 0 2px 12px rgba(18, 38, 63, .06), 0 1px 2px rgba(18, 38, 63, .04);
    --zp-shadow-hover: 0 8px 24px rgba(18, 38, 63, .10);
    --zp-border: rgba(18, 38, 63, .08);
    --zp-hover-bg: rgba(18, 38, 63, .03);
    --zp-scroll: rgba(18, 38, 63, .18);
}

[data-bs-theme="dark"] {
    --zp-shadow: 0 2px 14px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .22);
    --zp-shadow-hover: 0 10px 28px rgba(0, 0, 0, .40);
    --zp-border: rgba(255, 255, 255, .07);
    --zp-hover-bg: rgba(255, 255, 255, .035);
    --zp-scroll: rgba(255, 255, 255, .16);
}

/* Global smoothing ------------------------------------------------------- */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    letter-spacing: .1px;
}

/* Cards ------------------------------------------------------------------ */
.card {
    border: 1px solid var(--zp-border);
    border-radius: var(--zp-radius) !important;
    box-shadow: var(--zp-shadow);
    transition: box-shadow var(--zp-transition), transform var(--zp-transition);
}

.card:hover {
    box-shadow: var(--zp-shadow-hover);
}

.card .card-header {
    background-color: transparent;
    border-bottom: 1px solid var(--zp-border);
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-weight: 600;
}

.card .card-title {
    font-weight: 600;
    letter-spacing: .2px;
}

/* Buttons ---------------------------------------------------------------- */
.btn {
    border-radius: var(--zp-radius-sm);
    font-weight: 500;
    padding: .5rem 1.05rem;
    transition: transform var(--zp-transition), box-shadow var(--zp-transition), background-color var(--zp-transition), border-color var(--zp-transition);
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:active {
    transform: translateY(0);
}

.btn-sm {
    border-radius: var(--zp-radius-sm);
    padding: .3rem .7rem;
}

.btn-primary {
    background: linear-gradient(135deg, var(--zp-primary), var(--zp-primary-strong));
    border-color: var(--zp-primary-strong);
    box-shadow: 0 4px 12px rgba(var(--zp-primary-rgb), .28);
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, var(--zp-primary-strong), var(--zp-primary-strong));
    border-color: var(--zp-primary-strong);
    box-shadow: 0 6px 18px rgba(var(--zp-primary-rgb), .38);
}

.btn-rounded,
.rounded-pill.btn {
    border-radius: 50rem;
}

/* Focus ring ------------------------------------------------------------- */
.btn:focus-visible,
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 .18rem rgba(var(--zp-primary-rgb), .25) !important;
    border-color: rgba(var(--zp-primary-rgb), .5) !important;
}

/* Forms ------------------------------------------------------------------ */
.form-control,
.form-select {
    border-radius: var(--zp-radius-sm);
    transition: border-color var(--zp-transition), box-shadow var(--zp-transition);
}

.form-label {
    font-weight: 500;
    margin-bottom: .4rem;
}

.input-group > .form-control,
.input-group > .form-select {
    border-radius: var(--zp-radius-sm);
}

/* Tables ----------------------------------------------------------------- */
.table {
    --bs-table-hover-bg: var(--zp-hover-bg);
}

.table > thead th {
    text-transform: uppercase;
    font-size: .74rem;
    letter-spacing: .5px;
    font-weight: 600;
    border-bottom-width: 1px;
    padding-top: .85rem;
    padding-bottom: .85rem;
}

.table > tbody > tr {
    transition: background-color var(--zp-transition);
}

.table > :not(caption) > * > * {
    padding-top: .7rem;
    padding-bottom: .7rem;
}

.table-responsive {
    border-radius: var(--zp-radius);
}

/* Report / list tables inside a card:
   sticky header (stays under the topbar), zebra striping, row hover.
   Uses theme-native card bg so it adapts to light & dark. */
.card .table-responsive {
    max-height: calc(100vh - 250px);
    border-radius: var(--zp-radius);
}

.card .table > thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: var(--bs-card-bg, var(--bs-body-bg, #fff));
    box-shadow: inset 0 -1px 0 var(--zp-border);
}

.card .table > tbody > tr {
    transition: background-color var(--zp-transition);
}

.card .table > tbody > tr:nth-of-type(odd) > * {
    background-color: color-mix(in srgb, var(--zp-hover-bg) 60%, transparent);
}

.card .table > tbody > tr:hover > * {
    background-color: var(--zp-hover-bg);
}

/* Badges ----------------------------------------------------------------- */
.badge {
    border-radius: 50rem;
    font-weight: 600;
    padding: .35em .7em;
    letter-spacing: .2px;
}

/* Dropdowns, modals, popovers ------------------------------------------- */
.dropdown-menu {
    border: 1px solid var(--zp-border);
    border-radius: var(--zp-radius);
    box-shadow: var(--zp-shadow-hover);
    padding: .35rem;
}

.dropdown-item {
    border-radius: var(--zp-radius-sm);
    padding: .5rem .75rem;
}

.modal-content {
    border: 1px solid var(--zp-border);
    border-radius: var(--zp-radius-lg);
    box-shadow: var(--zp-shadow-hover);
    overflow: hidden;
}

.modal-header,
.modal-footer {
    border-color: var(--zp-border);
}

/* Pagination ------------------------------------------------------------- */
.pagination {
    gap: .25rem;
}

.page-link {
    border-radius: var(--zp-radius-sm) !important;
    border: 1px solid var(--zp-border);
    transition: background-color var(--zp-transition), color var(--zp-transition);
}

.page-item.active .page-link {
    background: linear-gradient(135deg, var(--zp-primary), var(--zp-primary-strong));
    border-color: var(--zp-primary-strong);
}

/* Alerts ----------------------------------------------------------------- */
.alert {
    border-radius: var(--zp-radius);
    border: 1px solid var(--zp-border);
}

/* Topbar ----------------------------------------------------------------- */
#page-topbar {
    box-shadow: 0 1px 0 var(--zp-border), 0 2px 10px rgba(0, 0, 0, .04);
    backdrop-filter: saturate(180%) blur(6px);
}

.header-item {
    transition: background-color var(--zp-transition);
}

/* ==========================================================================
   Sidebar (vertical menu)
   ========================================================================== */
#sidebar-menu ul li a {
    border-radius: var(--zp-radius-sm);
    margin: 2px 10px;
    padding: .62rem .9rem;
    transition: background-color var(--zp-transition), color var(--zp-transition), box-shadow var(--zp-transition);
}

#sidebar-menu ul li a i {
    transition: color var(--zp-transition), transform var(--zp-transition);
}

#sidebar-menu ul li a:hover {
    background-color: var(--zp-hover-bg);
}

#sidebar-menu ul li a:hover i {
    transform: translateY(-1px);
}

/* Active item — soft pill with accent bar */
#sidebar-menu ul li a.active,
#sidebar-menu ul li.mm-active > a {
    background-color: var(--zp-primary-soft);
    color: var(--zp-primary) !important;
    font-weight: 600;
    box-shadow: inset 3px 0 0 0 var(--zp-primary);
}

html[dir="rtl"] #sidebar-menu ul li a.active,
html[dir="rtl"] #sidebar-menu ul li.mm-active > a {
    box-shadow: inset -3px 0 0 0 var(--zp-primary);
}

#sidebar-menu ul li a.active i,
#sidebar-menu ul li.mm-active > a i {
    color: var(--zp-primary) !important;
}

#sidebar-menu .menu-title {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: .68rem;
    font-weight: 700;
    opacity: .55;
    padding: 1rem 1.5rem .4rem;
}

/* Page title box --------------------------------------------------------- */
.page-title-box {
    padding: 1rem 0 1.2rem;
}

.page-title-box h4,
.page-title-box .page-title {
    font-weight: 600;
    letter-spacing: .2px;
}

/* ==========================================================================
   Custom scrollbars
   ========================================================================== */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--zp-scroll) transparent;
}

::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background-color: var(--zp-scroll);
    border-radius: 50rem;
    border: 2px solid transparent;
    background-clip: content-box;
}

::-webkit-scrollbar-thumb:hover {
    background-color: rgba(var(--zp-primary-rgb), .55);
    background-clip: content-box;
}

/* Nav pills / tabs ------------------------------------------------------- */
.nav-pills .nav-link.active {
    background: linear-gradient(135deg, var(--zp-primary), var(--zp-primary-strong));
}

.nav-tabs .nav-link {
    border-radius: var(--zp-radius-sm) var(--zp-radius-sm) 0 0;
}

/* Progress bars ---------------------------------------------------------- */
.progress {
    border-radius: 50rem;
    height: .6rem;
}

.progress-bar {
    background: linear-gradient(135deg, var(--zp-primary), var(--zp-primary-strong));
}

/* Soft avatar / icon tiles get a bit rounder ---------------------------- */
.avatar-title {
    border-radius: var(--zp-radius);
}

/* Brand color switcher swatches ----------------------------------------- */
.zp-swatch {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .65);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
    cursor: pointer;
    padding: 0;
    transition: transform var(--zp-transition), box-shadow var(--zp-transition);
}

.zp-swatch:hover {
    transform: scale(1.18);
    box-shadow: 0 3px 8px rgba(0, 0, 0, .35);
}

/* ==========================================================================
   Login / Auth page
   ========================================================================== */
.auth-full-page-content {
    position: relative;
}

.auth-content .welcome,
.auth-content h5 {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .2px;
}

.auth-logo .logo-txt {
    font-size: 1.35rem;
    font-weight: 700;
    vertical-align: middle;
    margin-inline-start: .4rem;
}

.auth-page .form-control {
    padding: .7rem .9rem;
    border-radius: var(--zp-radius);
}

.auth-page .btn-primary {
    padding: .7rem;
    font-size: 1rem;
    border-radius: var(--zp-radius);
}

/* Language flags */
.auth-page .flag-pic {
    border-radius: 4px;
    transition: transform var(--zp-transition), box-shadow var(--zp-transition);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
}

.auth-page .flag-pic:hover {
    transform: translateY(-2px) scale(1.08);
    box-shadow: 0 4px 10px rgba(0, 0, 0, .25);
}

/* Captcha container */
.auth-page dnt-captcha {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    justify-content: center;
}

.auth-page dnt-captcha img {
    border-radius: var(--zp-radius-sm);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
}

/* Right-side brand panel — rich gradient + soft glows instead of flat color */
.auth-bg {
    position: relative;
    overflow: hidden;
}

.auth-bg .bg-overlay.bg-primary {
    background: linear-gradient(135deg, #5156be 0%, #6f5ad6 45%, #8a63e8 100%) !important;
    opacity: 1;
}

.auth-bg .bg-overlay.bg-primary::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 25%, rgba(255, 255, 255, .18), transparent 40%),
        radial-gradient(circle at 80% 80%, rgba(255, 255, 255, .12), transparent 45%);
    pointer-events: none;
}

/* Floating bubbles — smoother, glassier */
.auth-bg .bg-bubbles li {
    background: rgba(255, 255, 255, .10);
    border-radius: 30%;
    backdrop-filter: blur(1px);
}

/* ───────────────────────────────────────────────────────────────
   Select2 — فونتِ سایت
   select2.min.css روی .select2-container مقدارِ `font-family: sans-serif`
   می‌گذارد و Vazirmatn را دور می‌زند (به‌ویژه در placeholder دیده می‌شود).
   چون select2.min.css در بعضی ویوها بعد از این فایل لود می‌شود،
   inherit با !important گذاشته شده تا مستقل از ترتیبِ لود کار کند.
   .select2-dropdown به <body> چسبانده می‌شود، پس inherit همان فونتِ سایت را می‌گیرد.
   ─────────────────────────────────────────────────────────────── */
.select2-container,
.select2-container .select2-selection,
.select2-container .select2-selection__rendered,
.select2-container .select2-selection__placeholder,
.select2-container .select2-selection__choice,
.select2-container .select2-search__field,
.select2-dropdown,
.select2-results,
.select2-results__option {
    font-family: inherit !important;
}

/* ───────────────────────────────────────────────────────────────
   دۆخی «تەنها بینین» — لە حالتِ «هەموو لقەکان»
   کلاسِ zp-readonly را _Layout روی <body> می‌گذارد، ولی فقط در ۱۰ بخشِ
   سند (کڕین/فرۆشتن/گەڕانەوە/گواستنەوە/بەفیڕۆچوو/کاشێر/پسوولە/خەرجی).
   بقیهٔ صفحات (کاڵا، مشتری، لق، بەکارهێنەر …) دست‌نخورده‌اند.

   ⚠ این فقط ظاهر است. گاردِ واقعی ReadOnlyForAllBranchFilter در سرور است،
     پس حتی اگر کسی CSS را دور بزند، POST رد می‌شود.
   ─────────────────────────────────────────────────────────────── */

/*  ۱) دکمهٔ ثبتِ هر فرمِ POST  */
body.zp-readonly form[method="post"] [type="submit"] { display: none !important; }

/*  ۲) هر بازکنندهٔ مودال.
       بررسی شد: در این ۱۷ ویو هیچ مودالِ فقط‌خواندنی وجود ندارد — همه ویرایشگرند
       (مشتری، ئارز، داشکاندن، ڕێژە، نرخی دۆلار، کۆگا، جۆری پارەدان،
        پارەدانی ڕاستەوخۆ، ژمارەی پسوولە، دۆخی پسوولە، وەرگرتنی پسوولە …)  */
body.zp-readonly [data-bs-toggle="modal"] { display: none !important; }

/*  ۳) مدادهای ویرایشِ فیلدهای فاکتور  */
body.zp-readonly .inv-edit { display: none !important; }

/*  ۴) ردیفِ ورودیِ اکسل‌مانند و ستونِ کردار در جدولِ آیتم‌ها  */
body.zp-readonly tr.xl-entry-row,
body.zp-readonly .xl-actions2 { display: none !important; }

/*  ۵) کاشێر — سبد کاملاً با AJAX کار می‌کند، نه فرم  */
body.zp-readonly .pos-prod-card { pointer-events: none; opacity: .55; }
body.zp-readonly .qty-ctrl,
body.zp-readonly .act-pencil,
body.zp-readonly .act-trash,
body.zp-readonly .btn-disc-apply,
body.zp-readonly #txtBarCode,
body.zp-readonly #txtBarCode2 { display: none !important; }


/* ───────────────────────────────────────────────────────────────
   شاردنەوەی دوگمە بەپێی دەسەڵاتی کردار (فازی ٥)
   _Layout کلاسەکان دادەنێت: zp-no-add / zp-no-edit / zp-no-print / zp-no-delete
   تەنها کاتێک کە کلیدی session بۆ ئەو کردارە صریحاً منع‌شدەیە.

   ⚠ تەنها ڕووکەشە. کۆنترۆڵی سەرەکی OperationAccessFilter ـە لە سێرڤەر،
     بۆیە ئەگەر یەکێک CSS تێبپەڕێنێت، POST/چاپ لە سێرڤەر ڕەت دەکرێتەوە.
   ───────────────────────────────────────────────────────────────── */

/*  هوکەکان لە مارک‌آپی ڕاستەقینەی ویوەکانەوە وەرگیراون (بە grep پشتڕاست کرایەوە):
      شاردنی مۆداڵ:  data-bs-target ناوی add/edit/delete ی تێدایە (.modal-add-* / .bs-add-* …)
      کلاسی ڕاستەقینە: .xl-entry-row .inv-edit .act-pencil .act-trash .qty-ctrl .pos-prod-card
      چاپ: دوگمەی .fa-print ی تێدایە → بە :has() گرووپەکەی دەشارینەوە             */

/*  زیادکردن  */
body.zp-no-add tr.xl-entry-row,
body.zp-no-add .xl-actions2,
body.zp-no-add #txtBarCode,
body.zp-no-add #txtBarCode2,
body.zp-no-add [data-bs-target*="add" i] { display: none !important; }
body.zp-no-add .pos-prod-card { pointer-events: none; opacity: .55; }

/*  ویرایش  */
body.zp-no-edit .act-pencil,
body.zp-no-edit .inv-edit,
body.zp-no-edit .qty-ctrl,
body.zp-no-edit .btn-disc-apply,
body.zp-no-edit [data-bs-target*="edit" i] { display: none !important; }

/*  حذف  */
body.zp-no-delete .act-trash,
body.zp-no-delete [data-bs-target*="delete" i] { display: none !important; }

/*  چاپ — دوگمەی چاپ ناوەندی fa-print ـە؛ گرووپ یان دوگمەکەی خۆی دەشارینەوە.
    :has() لە هەموو وێبگەڕە نوێیەکاندا پشتگیری دەکرێت.                          */
body.zp-no-print .btn-group:has(.fa-print),
body.zp-no-print .btn:has(> .fa-print),
body.zp-no-print a:has(> .fa-print) { display: none !important; }


/* ───────────────────────────────────────────────────────────────
   تابلۆی دەستڕاگەیشتنی یەکگرتوو (فۆرمی بەکارهێنەر — فازی ٧)
   یەک تابلۆ لەبری کۆمبۆ + ماتریسی جیا.
   ─────────────────────────────────────────────────────────────── */
.zp-acc-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px; margin-bottom: 8px;
}
.zp-acc-search { position: relative; flex: 1 1 auto; max-width: 320px; }
.zp-acc-search i {
    position: absolute; top: 50%; inset-inline-start: 12px; transform: translateY(-50%);
    color: var(--zp-muted, #9aa4b2); font-size: 13px; pointer-events: none;
}
.zp-acc-search input { padding-inline-start: 34px; height: 38px; border-radius: 8px; }
.zp-acc-count { font-size: 12px; color: var(--zp-muted, #9aa4b2); white-space: nowrap; }

.zp-acc-wrap {
    max-height: 340px; overflow: auto;
    border: 1px solid var(--zp-border, #e6e9ef); border-radius: 10px;
}
.zp-acc-table { margin: 0; font-size: 13px; }
.zp-acc-table thead th {
    position: sticky; top: 0; z-index: 2;
    background: var(--zp-head-bg, #f5f7fb);
    border-bottom: 1px solid var(--zp-border, #e6e9ef);
    text-align: center; vertical-align: middle; font-weight: 600;
    padding: 8px 6px; white-space: nowrap;
}
.zp-acc-table thead th span { display: block; font-size: 12px; }
.zp-acc-table thead .zp-acc-all { margin-top: 4px; cursor: pointer; }
.zp-acc-table th.zp-acc-name, .zp-acc-table td.zp-acc-name {
    text-align: start; width: auto; min-width: 160px; font-weight: 500;
}
.zp-acc-table th.zp-acc-op, .zp-acc-table td.zp-acc-op {
    width: 74px; text-align: center; vertical-align: middle;
}
.zp-acc-viewcol { background: var(--zp-view-bg, #eef4ff); }
.zp-acc-table td.zp-acc-op:first-of-type + td { }

.zp-acc-group td {
    background: var(--zp-group-bg, #eef1f8);
    font-weight: 700; font-size: 12px; color: var(--zp-group-fg, #43506b);
    padding: 6px 12px; position: sticky; top: 42px; z-index: 1;
}
.zp-acc-row td { padding: 6px; border-top: 1px solid var(--zp-border, #eef1f5); }
.zp-acc-row:hover td { background: var(--zp-row-hover, #f7f9fc); }
.zp-acc-row input[type=checkbox] { width: 17px; height: 17px; cursor: pointer; }
.zp-acc-row input[type=checkbox]:disabled { opacity: .35; cursor: not-allowed; }
.zp-acc-na { color: var(--zp-muted, #c2c8d2); }
.zp-acc-view { accent-color: #3b7ddd; }

.zp-acc-empty { padding: 24px; text-align: center; color: var(--zp-muted, #9aa4b2); font-size: 13px; }

/*  «هەموو لقەکان» → تەنها ستوونی بینین، کردارەکان دەشاردرێنەوە  */
.zp-acc-table.zp-acc-viewonly th.zp-acc-op:not(.zp-acc-viewcol),
.zp-acc-table.zp-acc-viewonly td.zp-acc-op:not(.zp-acc-viewcol) { display: none; }

/*  دۆخی تاریک  */
@media (prefers-color-scheme: dark) {
    .zp-acc-wrap { border-color: #2b303b; }
    .zp-acc-table thead th { background: #232733; border-bottom-color: #2b303b; }
    .zp-acc-group td { background: #262b38; color: #aeb7c8; }
    .zp-acc-viewcol { background: #1f2a3d; }
    .zp-acc-row td { border-top-color: #262a34; }
    .zp-acc-row:hover td { background: #21262f; }
}
:root[data-theme="dark"] .zp-acc-wrap { border-color: #2b303b; }
:root[data-theme="dark"] .zp-acc-table thead th { background: #232733; border-bottom-color: #2b303b; }
:root[data-theme="dark"] .zp-acc-group td { background: #262b38; color: #aeb7c8; }
:root[data-theme="dark"] .zp-acc-viewcol { background: #1f2a3d; }
:root[data-theme="dark"] .zp-acc-row td { border-top-color: #262a34; }
:root[data-theme="dark"] .zp-acc-row:hover td { background: #21262f; }


/* ───────────────────────────────────────────────────────────────
   بلاکِ داشبورد + یادداشتِ مدیرِ کل (فۆرمی بەکارهێنەر — فازی ٧)
   ─────────────────────────────────────────────────────────────── */
.zp-acc-fullnote {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 16px; border-radius: 10px;
    background: var(--zp-fullnote-bg, #eef6ff);
    border: 1px solid var(--zp-fullnote-bd, #cfe4ff);
    color: var(--zp-fullnote-fg, #2c5aa0); font-size: 13px; font-weight: 500;
}
.zp-acc-fullnote i { font-size: 16px; }

.zp-acc-dash {
    border: 1px solid var(--zp-border, #e6e9ef); border-radius: 10px;
    padding: 10px 12px; margin-bottom: 12px;
    background: var(--zp-dash-bg, #f9fbff);
}
.zp-acc-dash-title {
    font-size: 12px; font-weight: 700; color: var(--zp-group-fg, #43506b);
    margin-bottom: 8px; display: flex; align-items: center; gap: 6px;
}
.zp-acc-dash-title i { color: var(--zp-primary, #5156be); }
.zp-acc-dash-items { display: flex; flex-wrap: wrap; gap: 8px; }
.zp-acc-dash-item {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 7px 12px; border-radius: 8px; cursor: pointer; margin: 0;
    border: 1px solid var(--zp-border, #e2e6ee);
    background: var(--zp-card-bg, #fff); font-size: 13px; user-select: none;
    transition: border-color var(--zp-transition, .18s), background var(--zp-transition, .18s);
}
.zp-acc-dash-item:hover { border-color: var(--zp-primary, #5156be); }
.zp-acc-dash-item input { width: 16px; height: 16px; cursor: pointer; margin: 0; }
.zp-acc-dash-item:has(input:checked) {
    border-color: var(--zp-primary, #5156be);
    background: var(--zp-primary-soft, rgba(81,86,190,.10));
}

@media (prefers-color-scheme: dark) {
    .zp-acc-fullnote { background: #17263c; border-color: #244567; color: #9cc4f2; }
    .zp-acc-dash { background: #1e222c; border-color: #2b303b; }
    .zp-acc-dash-item { background: #232733; border-color: #2b303b; }
}
:root[data-theme="dark"] .zp-acc-fullnote { background: #17263c; border-color: #244567; color: #9cc4f2; }
:root[data-theme="dark"] .zp-acc-dash { background: #1e222c; border-color: #2b303b; }
:root[data-theme="dark"] .zp-acc-dash-item { background: #232733; border-color: #2b303b; }


/*  آیکونِ ردیفِ ویجتِ داشبورد در جدولِ مدیرِ کل  */
.zp-acc-dashicon { color: var(--zp-primary, #5156be); font-size: 12px; margin-inline-end: 4px; }
.zp-acc-dashrow td.zp-acc-name { font-weight: 500; }
