﻿/* فهرست کارتی، زبانه‌ها، کادرهای موجودیت، مودال‌ها، اعلان‌ها و چاپ شناسنامه (D-068، D-069؛ مدیر پروژه ۱۳ آبان ۱۴۰۵).
   پس از modern.css بارگذاری می‌شود. */

/* ═════════ فهرست کارتی (D-068) ═════════
   چرا: جدول پهن با متن بلند اسکرول افقی و ردیف‌های چندخطی ناخوانا می‌ساخت. هر رکورد یک کارت است: سرکارت (نماد، عنوان،
   کد و نشان‌های وضعیت) و بدنه (جفت‌های برچسب و مقدار با نماد رنگی). شبکه با عرض صفحه یک، دو یا سه ستون می‌شود و همیشه اسکرول عمودی است. */
.mdm-recs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 25rem), 1fr)); gap: .9rem; padding: 1rem; }
.mdm-recs.mdm-recs-wide { grid-template-columns: repeat(auto-fill, minmax(min(100%, 34rem), 1fr)); }
.mdm-recs.mdm-recs-one { grid-template-columns: 1fr; }
.mdm-rec {
    display: flex; flex-direction: column; min-width: 0; background: var(--tblr-bg-surface);
    border: 1px solid var(--mdm-card-border); border-radius: 12px; border-inline-start: 4px solid rgba(var(--tblr-primary-rgb), .55);
    box-shadow: 0 1px 2px rgba(15, 42, 74, .04); transition: box-shadow .15s ease, border-color .15s;
}
.mdm-rec:hover { box-shadow: 0 8px 24px rgba(var(--tblr-primary-rgb), .14); border-color: rgba(var(--tblr-primary-rgb), .35); }
.mdm-rec.is-muted { border-inline-start-color: var(--tblr-secondary); opacity: .82; }
.mdm-rec.is-ok { border-inline-start-color: var(--tblr-success); }
.mdm-rec.is-warn { border-inline-start-color: var(--tblr-warning); }
.mdm-rec.is-danger { border-inline-start-color: var(--tblr-danger); }
.mdm-rec-head { display: flex; align-items: flex-start; gap: .7rem; padding: .8rem .9rem .6rem; }
.mdm-rec-icon {
    width: 2.3rem; height: 2.3rem; border-radius: 10px; flex: none; display: inline-flex; align-items: center; justify-content: center;
    background: rgba(var(--tblr-primary-rgb), .1); color: var(--tblr-primary); font-size: .95rem;
}
.mdm-rec-icon > i { margin: 0 !important; }
.mdm-rec-icon.is-ok { background: rgba(var(--tblr-success-rgb), .12); color: var(--tblr-success); }
.mdm-rec-icon.is-warn { background: rgba(var(--tblr-warning-rgb), .14); color: var(--tblr-warning); }
.mdm-rec-icon.is-danger { background: rgba(var(--tblr-danger-rgb), .12); color: var(--tblr-danger); }
.mdm-rec-title { flex: 1 1 auto; min-width: 0; }
.mdm-rec-title > a, .mdm-rec-title > .mdm-rec-name {
    display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    font-weight: 600; font-size: .95rem; line-height: 1.7; color: var(--tblr-body-color); text-decoration: none; overflow-wrap: anywhere;
}
.mdm-rec-title > a:hover { color: var(--tblr-primary); }
.mdm-rec-sub { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .6rem; font-size: .78rem; color: var(--tblr-secondary); margin-top: .1rem; }
.mdm-rec-sub:has(.mdm-code, .mdm-code-chip, [dir=ltr]) { direction: ltr; justify-content: flex-start; text-align: left; }
.mdm-rec-sub:has(.mdm-code, .mdm-code-chip, [dir=ltr]) > .badge { direction: rtl; }
.mdm-rec-sub .mdm-code { font-size: .8rem; color: var(--tblr-body-color); }
.mdm-rec-sub .mdm-copy { --tblr-btn-padding-y: 0; --tblr-btn-padding-x: .2rem; min-height: 0; height: 1.4rem; width: 1.4rem; }
.mdm-rec-badges { display: flex; flex-wrap: wrap; gap: .3rem; justify-content: flex-end; flex: 0 1 auto; max-width: 45%; }
.mdm-rec-badges .badge { font-weight: 500; }
.mdm-rec-check { margin-top: .65rem; flex: none; }
.mdm-rec-body {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.5rem), 1fr)); gap: .55rem .9rem;
    padding: .65rem .9rem .8rem; border-top: 1px dashed var(--mdm-card-border); flex: 1 1 auto; align-content: start;
}
.mdm-rec-body:empty { display: none; }
.mdm-f { display: flex; align-items: flex-start; gap: .45rem; min-width: 0; font-size: .85rem; line-height: 1.65; }
.mdm-f > i { width: 1.1rem; text-align: center; margin: .2rem 0 0 !important; flex: none; font-size: .8rem; color: var(--tblr-primary); opacity: .85; }
.mdm-f > div { min-width: 0; }
.mdm-f-l { display: block; font-size: .7rem; color: var(--tblr-secondary); font-weight: 500; line-height: 1.5; }
.mdm-f-v { display: block; overflow-wrap: anywhere; font-weight: 500; }
.mdm-f-v.mdm-clamp { max-width: none; }
.mdm-f.mdm-f-full { grid-column: 1 / -1; }
.mdm-f-v a { text-decoration: none; border-bottom: 1px dashed rgba(var(--tblr-primary-rgb), .4); font-weight: 500; }
.mdm-f-v a:hover { border-bottom-style: solid; }
.mdm-num { font-weight: 700; font-variant-numeric: tabular-nums; }
.mdm-rec-foot {
    display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .75rem; padding: .5rem .9rem; font-size: .76rem; color: var(--tblr-secondary);
    border-top: 1px solid var(--mdm-card-border); background: var(--mdm-head-bg); border-radius: 0 0 9px 9px;
}
.mdm-rec-foot i { margin-inline-end: .25rem; }
.mdm-rec-foot .ms-auto { margin-inline-start: auto !important; }
.mdm-rec-foot form { margin: 0; }
.mdm-rec-foot .btn { --tblr-btn-padding-y: .2rem; --tblr-btn-padding-x: .55rem; font-size: .78rem; }
.mdm-sortbar { flex-wrap: nowrap; }
.mdm-sortbar .form-select { min-width: 9.5rem; border-radius: 0 !important; }
.mdm-sortbar .input-group-text { border-radius: 0 10px 10px 0; background: var(--mdm-head-bg); }
.mdm-sortbar > .btn { border-radius: 10px 0 0 10px !important; }
@media (max-width: 575.98px) {
    .mdm-recs { padding: .65rem; gap: .65rem; }
    .mdm-rec-head { flex-wrap: wrap; }
    .mdm-rec-badges { max-width: none; flex-basis: 100%; justify-content: flex-start; order: 3; padding-inline-start: 3rem; }
    .mdm-sortbar { width: 100% !important; }
    .mdm-sortbar .form-select { flex: 1 1 auto; }
}
@media print {
    .mdm-recs { display: block; padding: 0; }
    .mdm-rec { break-inside: avoid; box-shadow: none !important; margin-bottom: 5pt; border: 1px solid #c9d2de !important; border-inline-start: 3pt solid #1A6FD1 !important; }
    .mdm-rec-foot, .mdm-rec-check, .mdm-rec-icon { display: none !important; }
    .mdm-rec-body { grid-template-columns: repeat(4, 1fr); }
}

/* ═════════ کادرهای موجودیت (D-069) ═════════ */
/* توضیح کوتاه هر کادر (چرا و کاربرد) زیر سرکارت؛ برای کادرهایی که کاربر کارکردشان را نمی‌داند */
.mdm-box-help { display: flex; gap: .55rem; align-items: flex-start; margin: 0; padding: .6rem 1.25rem; font-size: .8rem; line-height: 1.85; color: var(--mdm-hint); background: rgba(var(--tblr-info-rgb), .06); border-bottom: 1px solid var(--mdm-card-border); }
.mdm-box-help > i { color: var(--tblr-info); margin: .3rem 0 0 !important; flex: none; }
.mdm-box-help strong { color: var(--tblr-body-color); font-weight: 600; }
/* زبانه‌های صفحه‌ی موجودیت: نوار چسبان با شمار هر بخش */
.mdm-tabs { position: sticky; top: .5rem; z-index: 20; background: var(--tblr-bg-surface); border: 1px solid var(--mdm-card-border); border-radius: 14px; padding: .35rem; margin-bottom: 1.1rem; box-shadow: 0 6px 18px rgba(15, 42, 74, .07); }
.mdm-tabs .nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; gap: .25rem; border: 0; }
.mdm-tabs .nav-link { white-space: nowrap; border: 0 !important; border-radius: 10px !important; color: var(--tblr-secondary); font-weight: 500; padding: .55rem .9rem; display: flex; align-items: center; gap: .45rem; }
.mdm-tabs .nav-link i { margin: 0 !important; }
.mdm-tabs .nav-link:hover { background: rgba(var(--tblr-primary-rgb), .07); color: var(--tblr-primary); }
.mdm-tabs .nav-link.active { background: var(--tblr-primary) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(var(--tblr-primary-rgb), .3); }
.mdm-tabs .nav-link .badge { font-size: .7rem; font-weight: 600; background: rgba(var(--tblr-primary-rgb), .14); color: var(--tblr-primary); }
.mdm-tabs .nav-link.active .badge { background: rgba(255, 255, 255, .25); color: #fff; }
.tab-content > .tab-pane > * + .card, .tab-content > .tab-pane > * + .mdm-panel { margin-top: 1.25rem; }
/* خلاصه‌ی هویت بالای صفحه‌ی موجودیت */
.mdm-summary { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: .9rem 1.4rem; }
.mdm-summary .mdm-f { font-size: .9rem; }
.mdm-stat-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.mdm-stat { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .75rem; border-radius: 999px; background: rgba(var(--tblr-primary-rgb), .08); font-size: .8rem; }
.mdm-stat i { margin: 0 !important; color: var(--tblr-primary); }
.mdm-stat.is-ok { background: rgba(var(--tblr-success-rgb), .1); } .mdm-stat.is-ok i { color: var(--tblr-success); }
.mdm-stat.is-warn { background: rgba(var(--tblr-warning-rgb), .12); } .mdm-stat.is-warn i { color: var(--tblr-warning); }
/* ویژگی‌ها: هر خانواده یک شاخه‌ی درخت تاشو درون یک کادر */
.mdm-attr-tree > details { border-top: 1px solid var(--mdm-card-border); }
.mdm-attr-tree > details:first-child { border-top: 0; }
.mdm-attr-tree > details > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .6rem; padding: .7rem 1.25rem; font-weight: 600; background: rgba(var(--tblr-primary-rgb), .03); }
.mdm-attr-tree > details > summary::-webkit-details-marker { display: none; }
.mdm-attr-tree > details > summary .fa-chevron-left { transition: transform .15s; color: var(--tblr-secondary); font-size: .75rem; }
.mdm-attr-tree > details[open] > summary .fa-chevron-left { transform: rotate(-90deg); }
.mdm-attr-tree .mdm-fam-icon { width: 1.9rem; height: 1.9rem; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: rgba(var(--tblr-primary-rgb), .12); color: var(--tblr-primary); font-size: .85rem; flex: none; }
.mdm-attr-tree summary i { margin: 0 !important; }
.mdm-attr-row { display: grid; grid-template-columns: 1.4rem minmax(9rem, 16rem) minmax(0, 1fr) auto; align-items: center; gap: .35rem .9rem; padding: .5rem 1.25rem; padding-inline-start: 2.4rem; border-top: 1px dashed var(--mdm-card-border); }
.mdm-attr-row:hover { background: rgba(var(--tblr-primary-rgb), .035); }
.mdm-attr-name { color: var(--tblr-secondary); font-size: .85rem; font-weight: 500; }
.mdm-attr-val { font-weight: 600; overflow-wrap: anywhere; min-width: 0; }
.mdm-attr-val .mdm-attr-unit { font-weight: 400; color: var(--tblr-secondary); font-size: .82rem; }
.mdm-attr-ev { display: block; font-weight: 400; font-size: .76rem; color: var(--mdm-hint); }
.mdm-attr-meta { display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 767.98px) {
    .mdm-attr-row { grid-template-columns: 1.4rem minmax(0, 1fr); padding-inline-start: 1rem; }
    .mdm-attr-row .mdm-attr-val { grid-column: 2 / -1; }
    .mdm-attr-row .mdm-attr-meta { grid-column: 1 / -1; justify-content: flex-start; padding-inline-start: 1.75rem; }
}
/* ردیف ساده‌ی درون کادر (کد، پیوند، رابطه، سند) با دکمه‌های کنش همیشه دیده‌شونده */
.mdm-line { display: flex; align-items: center; gap: .5rem .75rem; flex-wrap: wrap; padding: .65rem 1.25rem; border-top: 1px solid var(--mdm-card-border); }
.mdm-line:first-child { border-top: 0; }
.mdm-line:hover { background: rgba(var(--tblr-primary-rgb), .035); }
.mdm-line.is-muted { opacity: .6; }
.mdm-line > .mdm-line-main { flex: 1 1 14rem; min-width: 0; overflow-wrap: anywhere; line-height: 1.8; }
.mdm-line > .mdm-line-actions { display: flex; gap: .25rem; margin-inline-start: auto; flex-wrap: wrap; }
.mdm-line form { margin: 0; }
.mdm-line .mdm-line-sub { display: block; font-size: .76rem; color: var(--tblr-secondary); }
.mdm-empty-line { padding: 1rem 1.25rem; color: var(--tblr-secondary); font-size: .85rem; display: flex; gap: .5rem; align-items: center; }
.mdm-empty-line i { margin: 0 !important; }
/* چک‌لیست کار (D-071) */
.mdm-check-icon { width: 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none; font-size: .85rem; background: rgba(var(--tblr-secondary-rgb), .12); color: var(--tblr-secondary); }
.mdm-check-icon i { margin: 0 !important; }
.mdm-check-icon.st-2 { background: rgba(var(--tblr-success-rgb), .14); color: var(--tblr-success); }
.mdm-check-icon.st-1 { background: rgba(var(--tblr-primary-rgb), .14); color: var(--tblr-primary); }
.mdm-check-icon.st-3 { background: rgba(var(--tblr-secondary-rgb), .08); color: var(--tblr-secondary); }
.mdm-check-icon.st-4 { background: rgba(var(--tblr-danger-rgb), .12); color: var(--tblr-danger); }
.mdm-progress-line { height: .45rem; border-radius: 99px; background: rgba(var(--tblr-primary-rgb), .1); overflow: hidden; }
.mdm-progress-line > span { display: block; height: 100%; background: linear-gradient(90deg, var(--tblr-success), color-mix(in srgb, var(--tblr-success) 60%, #fff)); }
.mdm-matrix-cell { width: 1.6rem; height: 1.6rem; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; font-size: .7rem; }
.mdm-matrix-cell i { margin: 0 !important; }

/* ═════════ اعلان‌ها و مودال‌های یکسان (D-069) ═════════ */
.mdm-toasts { z-index: 1090; }
.mdm-toasts .toast { border: 0; border-radius: 12px; box-shadow: 0 14px 36px rgba(15, 42, 74, .22); border-inline-start: 4px solid var(--tblr-success); min-width: 18rem; max-width: 30rem; }
.mdm-toasts .toast.is-error { border-inline-start-color: var(--tblr-danger); }
.mdm-toasts .toast-body { display: flex; gap: .6rem; align-items: flex-start; line-height: 1.8; }
.mdm-toasts .toast-body > i { font-size: 1.1rem; margin: .25rem 0 0 !important; }
.mdm-toasts .toast-body .btn-close { margin-inline-start: auto; }
#mdm-confirm .modal-title > .fa-trash-can { background: var(--tblr-danger); }
.mdm-confirm-what { font-weight: 600; padding: .6rem .8rem; border-radius: 10px; background: rgba(var(--tblr-danger-rgb), .07); border: 1px dashed rgba(var(--tblr-danger-rgb), .35); overflow-wrap: anywhere; }
.mdm-modal-src { display: none !important; }
#mdm-modal .modal-body > form { margin: 0; }
#mdm-modal .modal-body .row { --tblr-gutter-y: .85rem; }

/* ═════════ چاپ شناسنامه‌ی کالا (D-069): قالب A4 جدا و چاپ‌پذیر ═════════ */
.mdm-sheet-page { background: #e9edf2; min-height: 100vh; padding: 1rem 0; }
.mdm-sheet { max-width: 210mm; margin: 0 auto; background: #fff; color: #111; padding: 12mm; font-size: 10.5pt; line-height: 1.8; box-shadow: 0 6px 24px rgba(0, 0, 0, .12); }
.mdm-sheet h1 { font-size: 15pt; font-weight: 800; color: #0F2A4A; margin: 0 0 2mm; line-height: 1.6; }
.mdm-sheet h2 { font-size: 11pt; font-weight: 700; color: #0F2A4A; border-bottom: 1.5pt solid #1A6FD1; padding-bottom: 1mm; margin: 6mm 0 2mm; break-after: avoid; }
.mdm-sheet table { width: 100%; border-collapse: collapse; }
.mdm-sheet th, .mdm-sheet td { border: .5pt solid #c9d2de; padding: 1.2mm 2mm; text-align: start; vertical-align: top; }
.mdm-sheet th { background: #eef3fa; font-weight: 600; width: 34%; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.mdm-sheet thead th { background: #1A6FD1; color: #fff; width: auto; }
.mdm-sheet tr { break-inside: avoid; }
.mdm-sheet-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 6mm; border-bottom: 2.5pt solid #0F2A4A; padding-bottom: 3mm; margin-bottom: 4mm; }
.mdm-sheet-code { font-family: Consolas, monospace; font-size: 14pt; font-weight: 700; direction: ltr; white-space: nowrap; }
.mdm-sheet-meta { font-size: 8.5pt; color: #555; }
.mdm-sheet-foot { margin-top: 8mm; border-top: .5pt solid #999; padding-top: 2mm; font-size: 8pt; color: #555; }
.mdm-sheet .st { font-size: 8pt; padding: 0 1.5mm; border-radius: 2mm; border: .5pt solid #999; white-space: nowrap; }
.mdm-sheet .two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 5mm; }
.mdm-sheet-tools { max-width: 210mm; margin: 0 auto 1rem; display: flex; gap: .5rem; justify-content: flex-end; }
@media (max-width: 767.98px) { .mdm-sheet { padding: 6mm; } .mdm-sheet .two { grid-template-columns: 1fr; } .mdm-sheet-head { flex-direction: column; } }
@media print {
    @page { size: A4; margin: 10mm; }
    .mdm-sheet-page { background: #fff; padding: 0; }
    .mdm-sheet { padding: 0; max-width: none; box-shadow: none; }
    .mdm-sheet-tools { display: none !important; }
}
.mdm-check-progress { display: inline-flex; align-items: center; gap: .5rem; width: min(100%, 16rem); vertical-align: middle; margin-inline-start: .5rem; font-size: .76rem; }
.mdm-check-progress .mdm-progress-line { flex: 1 1 auto; }

/* ═════════ مودال با سرمودال رنگی (D-079 بازنگری ۱۴ آبان ۱۴۰۵، نقد مدیر پروژه) ═════════
   سرمودال با رنگ اصلی طرح (آبی صنعتی → سرمه‌ای)، گوشه‌های تقریباً صاف (۴px)، بدنه‌ی بی‌رنگ با اسکرول خنثی،
   پانویس ثابت؛ دکمه‌ی بستن ‎.mdm-x‎ همان شکل دکمه‌ی بستن سرکارت صفحه است. */
.modal-content, .mdm-accent-modal { border-radius: 4px !important; border: 0 !important; overflow: hidden; box-shadow: 0 30px 80px rgba(15, 42, 74, .35); }
.modal.fade .modal-dialog { transform: scale(.96) translateY(12px); transition: transform .22s cubic-bezier(.2, .8, .2, 1), opacity .22s; opacity: 0; }
.modal.show .modal-dialog { transform: none; opacity: 1; }
.modal-header, .mdm-accent-modal .modal-header { --mdm-mh-a: var(--tblr-primary); --mdm-mh-b: #0F2A4A;
    background: linear-gradient(120deg, var(--mdm-mh-a), var(--mdm-mh-b)) !important; color: #fff; border-bottom: 0; border-radius: 0; padding: 1rem 1.35rem; }
.mdm-accent-danger .modal-header { --mdm-mh-a: #D63939; --mdm-mh-b: #7A1F1F; }
.modal-header .modal-title { color: #fff; font-size: 1.05rem; }
.modal-header .modal-title > .fa-solid { width: 2.4rem; height: 2.4rem; border-radius: 4px; background: rgba(255, 255, 255, .16) !important; color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28) !important; }
.modal-header .card-subtitle { color: rgba(255, 255, 255, .78) !important; font-size: .8rem; }
.modal-body, .mdm-accent-modal .modal-body { background: transparent; padding: 1.3rem 1.35rem; scrollbar-color: auto; }
/* مودالی که فقط یک فهرست انتخابی دارد هم جای کافی داشته باشد */
#mdm-modal .modal-body { min-height: 9rem; }
.modal-footer, .mdm-accent-modal .modal-footer { background: var(--tblr-bg-surface); border-top: 1px solid var(--mdm-card-border); padding: .85rem 1.35rem; justify-content: space-between; gap: .5rem; border-radius: 0; }
.mdm-accent-modal .modal-footer > div { display: flex; gap: .5rem; width: 100%; justify-content: space-between; margin: 0 !important; }
.mdm-accent-modal .modal-footer .btn { min-width: 7rem; }
.mdm-accent-modal .modal-footer[hidden] { display: none !important; }
/* فهرست Tom Select درون مودال: فرزند خود ‎.modal‎ با جای‌گذاری fixed (placeDropdown در site.js)؛ اگر پایین جا نباشد رو به بالا باز می‌شود */
.modal > .ts-dropdown { z-index: 1070; margin: 0; box-shadow: 0 14px 34px rgba(15, 42, 74, .28); border-radius: 4px; }
.modal > .ts-dropdown.is-up { box-shadow: 0 -14px 34px rgba(15, 42, 74, .28); }

/* دکمه‌ی بستن یکسان (D-079): در سرمودال رنگی سفید و نیمه‌شفاف؛ در سرکارت صفحه همان شکل با زمینه‌ی رنگ طرح؛ با نشانگر می‌چرخد. */
.mdm-x { width: 2.25rem; height: 2.25rem; flex: 0 0 auto; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .12); color: #fff;
    display: inline-flex; align-items: center; justify-content: center; padding: 0; margin-inline-start: auto; transition: background .2s, color .2s, transform .2s, box-shadow .2s; }
.mdm-x i { margin: 0 !important; font-size: 1rem; transition: transform .25s; }
.mdm-x:hover:not(:disabled) { background: #fff; color: var(--tblr-danger); box-shadow: 0 6px 16px rgba(0, 0, 0, .25); }
.mdm-x:hover:not(:disabled) i { transform: rotate(90deg); }
.mdm-x:active:not(:disabled), .mdm-x.is-closing { transform: scale(.88); }
.mdm-x:disabled { opacity: .4; cursor: not-allowed; }
.mdm-x.mdm-x-page { border-color: transparent; background: linear-gradient(120deg, var(--tblr-primary), #0F2A4A); color: #fff; }
.mdm-x.mdm-x-page:hover:not(:disabled) { background: var(--tblr-danger); color: #fff; }

/* اعلان کپی: پایین و وسط، مشکی (نقد مدیر پروژه ۱۴ آبان ۱۴۰۵: بنفش پذیرفته نشد) */
.mdm-copy-toasts { z-index: 1095; display: flex; flex-direction: column; align-items: center; gap: .4rem; pointer-events: none; }
.mdm-copy-toast { display: inline-flex; align-items: center; gap: .55rem; padding: .55rem 1.1rem; border-radius: 999px; background: #1B1F24; color: #fff; border: 1px solid rgba(255, 255, 255, .12); font-size: .85rem; font-weight: 500;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .35); animation: mdm-pop .25s ease-out; transition: opacity .35s, transform .35s; max-width: 92vw; }
.mdm-copy-toast i { margin: 0 !important; }
.mdm-copy-toast.is-out { opacity: 0; transform: translateY(10px); }
@keyframes mdm-pop { from { opacity: 0; transform: translateY(12px) scale(.96); } to { opacity: 1; transform: none; } }

/* رفتن به بالا */
.mdm-to-top { position: fixed; inset-inline-start: 1.25rem; bottom: 1.25rem; z-index: 1040; width: 3rem; height: 3rem; border-radius: 50%; border: 0;
    background: var(--tblr-primary); color: #fff; box-shadow: 0 10px 26px rgba(var(--tblr-primary-rgb), .45); opacity: 0; transform: translateY(20px) scale(.8); pointer-events: none; transition: all .25s; }
.mdm-to-top.is-shown { opacity: 1; transform: none; pointer-events: auto; }
.mdm-to-top:hover { transform: translateY(-3px); }
.mdm-to-top i { margin: 0 !important; }

/* مسیر درخت (breadcrumb) در کادر جدا — بازنگری ۱۴ آبان ۱۴۰۵: پله‌های پیکانی با رنگ رو به پررنگ‌تر، گره‌ی جاری توپر؛ کادر خالی پنهان */
.mdm-crumbs { margin-top: .75rem; padding: .45rem; background: var(--tblr-bg-surface); border: 1px solid var(--mdm-card-border); border-radius: 4px; box-shadow: 0 1px 2px rgba(15, 42, 74, .04); overflow-x: auto; scrollbar-width: thin; }
.mdm-crumbs:not(:has(li)) { display: none; }
.mdm-crumbs ol { display: flex; flex-wrap: wrap; align-items: stretch; gap: .3rem 0; margin: 0; padding: 0; list-style: none; counter-reset: crumb; }
.mdm-crumbs li { display: flex; counter-increment: crumb; }
.mdm-crumbs a { --c: calc(.05 + .05 * var(--i, 1)); position: relative; display: inline-flex; align-items: center; gap: .45rem; padding-block: .4rem; padding-inline: 1.1rem 1.35rem; min-height: 2.25rem;
    text-decoration: none; color: var(--tblr-body-color); background: rgba(var(--tblr-primary-rgb), .07); font-size: .85rem; font-weight: 500;
    clip-path: polygon(0 50%, .7rem 0, 100% 0, 100% 100%, .7rem 100%); margin-inline-start: -.35rem; transition: background .15s, color .15s; }
.mdm-crumbs li:first-child a { clip-path: polygon(0 50%, .7rem 0, 100% 0, 100% 100%, .7rem 100%); margin-inline-start: 0; padding-inline-start: .9rem; border-start-end-radius: 4px; border-end-end-radius: 4px; }
.mdm-crumbs li:nth-child(2) a { background: rgba(var(--tblr-primary-rgb), .11); }
.mdm-crumbs li:nth-child(3) a { background: rgba(var(--tblr-primary-rgb), .15); }
.mdm-crumbs li:nth-child(4) a { background: rgba(var(--tblr-primary-rgb), .19); }
.mdm-crumbs li:nth-child(n+5) a { background: rgba(var(--tblr-primary-rgb), .23); }
.mdm-crumbs a::before { content: counter(crumb); display: none; }
.mdm-crumbs a:hover { background: rgba(var(--tblr-primary-rgb), .3); color: var(--tblr-primary); }
.mdm-crumbs a i { margin: 0 !important; color: var(--tblr-primary); font-size: .9rem; }
.mdm-crumbs li:last-child a { background: linear-gradient(120deg, var(--tblr-primary), #0F2A4A); color: #fff; }
.mdm-crumbs li:last-child a i { color: #fff; }
@media (max-width: 575.98px) { .mdm-crumbs a { font-size: .78rem; padding-block: .3rem; min-height: 2rem; } }

/* جایگاه در درخت (صفحه‌ی جزئیات نوع): پله‌ای با خط اتصال، شماره‌ی سطح، شمار کالا و ویژگی هر گره */
.mdm-tp { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.mdm-tp-node { --lvl: 0; position: relative; display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; margin-inline-start: calc(min(var(--lvl), 6) * 1.6rem);
    padding: .5rem .75rem; border: 1px solid var(--mdm-card-border); border-radius: 4px; background: var(--tblr-bg-surface); }
.mdm-tp-node:not(:first-child)::before { content: ""; position: absolute; inset-inline-start: -1rem; top: -.4rem; width: .85rem; height: calc(50% + .4rem);
    border-inline-start: 2px solid rgba(var(--tblr-primary-rgb), .3); border-bottom: 2px solid rgba(var(--tblr-primary-rgb), .3); border-end-start-radius: 4px; }
.mdm-tp-node.is-current { background: linear-gradient(120deg, var(--tblr-primary), #0F2A4A); color: #fff; border-color: transparent; box-shadow: 0 8px 22px rgba(var(--tblr-primary-rgb), .3); }
.mdm-tp-node.is-current .mdm-tp-meta, .mdm-tp-node.is-current .mdm-tp-meta a { color: rgba(255, 255, 255, .85); }
.mdm-tp-node.is-current .mdm-tp-lvl { background: rgba(255, 255, 255, .2); color: #fff; }
.mdm-tp-node.is-current .mdm-tp-ico { color: #fff; }
.mdm-tp-node.is-child { border-style: dashed; }
.mdm-tp-lvl { display: inline-flex; align-items: center; justify-content: center; min-width: 1.6rem; height: 1.6rem; border-radius: 4px; font-size: .75rem; font-weight: 700;
    background: rgba(var(--tblr-primary-rgb), .1); color: var(--tblr-primary); }
.mdm-tp-ico { margin: 0 !important; color: var(--tblr-primary); }
.mdm-tp-name { font-weight: 600; text-decoration: none; }
a.mdm-tp-name:hover { text-decoration: underline; }
.mdm-tp-meta { margin-inline-start: auto; display: inline-flex; gap: .9rem; font-size: .78rem; color: var(--tblr-secondary); }
.mdm-tp-meta a, .mdm-tp-meta span { display: inline-flex; align-items: center; gap: .3rem; color: inherit; text-decoration: none; }
.mdm-tp-meta i { margin: 0 !important; }
@media (max-width: 575.98px) { .mdm-tp-node { margin-inline-start: calc(min(var(--lvl), 6) * .7rem); } .mdm-tp-meta { margin-inline-start: 0; width: 100%; } }

/* متن لاتین: چپ‌به‌راست و چپ‌چین (D-079) */
.mdm-ltr { direction: ltr; text-align: left; unicode-bidi: isolate; }
.mdm-code { direction: ltr; unicode-bidi: isolate; }

/* کارت کالا: سرکارت با زمینه‌ی ملایم، کد در نشان لاتین، پانویس کنش‌ها (D-079) */
.mdm-rec.mdm-rec-pro { overflow: hidden; border-inline-start-width: 1px; }
.mdm-rec-pro .mdm-rec-head { background: linear-gradient(135deg, rgba(var(--tblr-primary-rgb), .07), transparent 65%); border-bottom: 1px solid var(--mdm-card-border); padding: .85rem .95rem; }
.mdm-rec-pro .mdm-rec-icon { width: 2.6rem; height: 2.6rem; border-radius: 12px; background: linear-gradient(135deg, var(--tblr-primary), color-mix(in srgb, var(--tblr-primary) 55%, #fff)); color: #fff; box-shadow: 0 6px 14px rgba(var(--tblr-primary-rgb), .3); }
.mdm-rec-pro.is-warn .mdm-rec-icon { background: linear-gradient(135deg, #e8a33a, #f3c77a); box-shadow: 0 6px 14px rgba(232, 163, 58, .3); }
.mdm-rec-pro.is-ok .mdm-rec-icon { background: linear-gradient(135deg, #2e9b5c, #78c99a); box-shadow: 0 6px 14px rgba(46, 155, 92, .3); }
.mdm-rec-pro.is-muted .mdm-rec-icon { background: linear-gradient(135deg, #7a8699, #b3bccb); box-shadow: none; }
.mdm-rec-pro .mdm-rec-title-row { display: flex; align-items: flex-start; gap: .25rem; }
.mdm-rec-pro .mdm-rec-title-row > a { flex: 1 1 auto; min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; font-size: .95rem; line-height: 1.7; color: var(--tblr-body-color); text-decoration: none; overflow-wrap: anywhere; }
.mdm-rec-pro .mdm-rec-title-row > a:hover { color: var(--tblr-primary); }
.mdm-code-chip { display: inline-flex; align-items: center; gap: .25rem; padding: .1rem .5rem; border-radius: 4px; background: rgba(var(--tblr-primary-rgb), .08); font-family: Consolas, monospace; font-size: .78rem; color: var(--tblr-body-color); }
.mdm-f-v .mdm-filter-link { display: inline-flex; align-items: center; gap: .3rem; }
.mdm-f-v a.mdm-go { color: var(--tblr-secondary); border: 0 !important; font-size: .75rem; margin-inline-start: .3rem; }
.mdm-f-v a.mdm-go:hover { color: var(--tblr-primary); }
.mdm-rec-actions { display: flex; align-items: center; gap: .35rem; padding: .5rem .75rem; border-top: 1px solid var(--mdm-card-border); background: var(--mdm-head-bg); flex-wrap: wrap; }
.mdm-rec-actions .form-check { margin: 0; display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; }
.mdm-rec-actions .btn { --tblr-btn-padding-y: .25rem; --tblr-btn-padding-x: .6rem; font-size: .78rem; border-radius: 8px; }
.mdm-rec-actions .mdm-rec-meta { margin-inline-start: auto; font-size: .74rem; color: var(--tblr-secondary); display: inline-flex; gap: .6rem; }
.mdm-rec-actions form { margin: 0; }
.mdm-rec.is-selected { box-shadow: 0 0 0 2px var(--tblr-primary), 0 8px 24px rgba(var(--tblr-primary-rgb), .18); }
.mdm-selbar { position: sticky; bottom: .75rem; z-index: 15; margin: 0 1rem 1rem; padding: .6rem 1rem; border-radius: 14px; background: var(--mdm-navy); color: #fff; display: none; align-items: center; gap: .75rem; flex-wrap: wrap; box-shadow: 0 12px 30px rgba(15, 42, 74, .35); }
.mdm-selbar.is-shown { display: flex; }
.mdm-selbar .btn { --tblr-btn-padding-y: .3rem; font-size: .82rem; }

/* درخت نوع کالا */
.mdm-type-tree .mdm-tree summary, .mdm-type-tree .mdm-leaf { gap: .5rem; }
.mdm-type-tree .mdm-tree-actions { margin-inline-start: auto; display: inline-flex; gap: .2rem; opacity: .35; transition: opacity .15s; }
.mdm-type-tree summary:hover .mdm-tree-actions, .mdm-type-tree .mdm-leaf:hover .mdm-tree-actions { opacity: 1; }
.mdm-type-tree .mdm-tree-actions .btn { --tblr-btn-padding-y: .1rem; --tblr-btn-padding-x: .35rem; }
.mdm-type-tree .mdm-count { font-size: .72rem; }

/* ویرایش تک‌فیلد (D-079): مداد کنار هر مقدار خلاصه */
.mdm-f .mdm-field-edit { border: 0; background: none; color: var(--tblr-secondary); padding: 0 .3rem; opacity: .45; transition: opacity .15s, color .15s; }
.mdm-f:hover .mdm-field-edit { opacity: 1; }
.mdm-f .mdm-field-edit:hover { color: var(--tblr-primary); }
.mdm-f .mdm-field-edit i { margin: 0 !important; font-size: .78rem; }

/* رفتار پس از ثبت */
.mdm-after-save { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.mdm-after-save .form-selectgroup-label { border-radius: 999px; }
.mdm-rec-title-row { display: flex; align-items: flex-start; gap: .25rem; }
.mdm-rec-title-row > a, .mdm-rec-title-row > .mdm-rec-name { flex: 1 1 auto; min-width: 0; }
.mdm-rec-title-row > .mdm-copy { flex: none; margin-top: .1rem; }
[dir="auto"]:dir(ltr) { text-align: left; }

/* ═════════ نوار اسکرول (D-079 بازنگری): پوسته‌ی ‎os-theme-mdm‎ به رنگ طرح ═════════
   نوار صفحه در سمت چپ (عرف راست‌به‌چپ) تا زیر منوی سرمه‌ای سمت راست پنهان نشود؛ دسته همیشه دیده می‌شود. */
.os-theme-mdm { --os-size: 11px; --os-padding-perpendicular: 2px; --os-padding-axis: 2px; --os-track-border-radius: 6px; --os-handle-border-radius: 6px;
    --os-track-bg: rgba(15, 42, 74, .07); --os-track-bg-hover: rgba(15, 42, 74, .12); --os-handle-bg: rgba(26, 111, 209, .55); --os-handle-bg-hover: rgba(26, 111, 209, .8); --os-handle-bg-active: #1A6FD1;
    --os-handle-min-size: 44px; --os-handle-perpendicular-size: 100%; --os-handle-perpendicular-size-hover: 100%; }
[data-bs-theme=dark] .os-theme-mdm { --os-track-bg: rgba(255, 255, 255, .06); --os-track-bg-hover: rgba(255, 255, 255, .1); --os-handle-bg: rgba(120, 170, 235, .55); --os-handle-bg-hover: rgba(120, 170, 235, .8); --os-handle-bg-active: #78AAEB; }
body > .os-scrollbar-vertical { right: auto !important; left: 0 !important; }
