/* =====================================================================
   آراد کانتکت — تمِ جدید (روز: روشن/ایندیگویی · شب: تیره/فیروزه‌ای)
   ---------------------------------------------------------------------
   آخرین فایلِ CSS بارگذاری می‌شود. فقط ظاهر و چیدمان را عوض می‌کند، نه منطق.
   همه‌ی رنگ‌ها از «توکن‌ها» (متغیرهای --t-*) می‌آیند؛ تعویضِ تم = تعویضِ توکن‌ها.
   تم با html[data-theme="light|dark"] تعیین می‌شود (اسکریپتِ ابتدای <head>).
   ===================================================================== */

/* ───────────── ۱) توکن‌ها ───────────── */
:root,
html[data-theme="light"] {
    color-scheme: light;
    --t-canvas: #f3f5fb;
    --t-surface: #ffffff;
    --t-surface-2: #f8f9fd;
    --t-ink: #0f172a;
    --t-ink-2: #334155;
    --t-muted: #64748b;
    --t-line: #e5e9f2;
    --t-line-2: #eef1f8;
    --t-accent: #4f46e5;
    --t-accent-2: #6366f1;
    --t-accent-ink: #ffffff;
    --t-accent-soft: #eef0ff;
    --t-accent-text: #4338ca;
    --t-side-bg: #ffffff;
    --t-side-ink: #334155;
    --t-side-muted: #94a3b8;
    --t-side-hover: #f3f5fb;
    --t-top-bg: rgba(255, 255, 255, .92);
    --t-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
    --t-shadow-lg: 0 20px 48px rgba(15, 23, 42, .18);
    --t-ok: #15803d;  --t-ok-bg: #e3f4e9;
    --t-warn: #a16207; --t-warn-bg: #fdf0d2;
    --t-info: #1d4ed8; --t-info-bg: #e4edfc;
    --t-ok-bd: #bbf7d0; --t-bad-bd: #fecaca; --t-info-bd: #bfdbfe; --t-warn-bd: #fde68a; --t-accent-bd: #c7d2fe;
    --t-bad: #b4262f;  --t-bad-bg: #fbe5e7;
    --t-accent-rgb: 99, 102, 241;
    --t-hero-1: #1e1b4b; --t-hero-2: #312e81; --t-hero-3: #4338ca;
    --t-accent-ink: #ffffff;
    --t-radius: 16px;
    --t-radius-sm: 11px;
    /* همگام‌سازی با متغیرهای قدیمیِ سامانه تا صفحه‌های قدیمی هم هم‌رنگ شوند */
    --brand: var(--t-accent-2);
    --brand-dark: var(--t-accent-text);
    --brand-light: var(--t-accent-soft);
    --gold: var(--t-accent-2);
    --gold-2: #c7d2fe;
    --bg: var(--t-canvas);
    --ui-ink: var(--t-ink);
    --ui-ink-2: var(--t-ink-2);
    --ui-muted: var(--t-muted);
    --ui-line: var(--t-line);
    --ui-line-2: var(--t-line-2);
    --ui-surface: var(--t-surface);
    --ui-soft: var(--t-surface-2);
    --ui-gold: var(--t-accent-2);
    --ui-gold-2: #c7d2fe;
    --ui-gold-ink: #ffffff;
    --ui-focus: 0 0 0 .22rem rgba(99, 102, 241, .22);
    --bs-link-color: var(--t-accent-text);
    --bs-link-color-rgb: 67, 56, 202;
    --bs-link-hover-color: #312e81;
    --bs-body-bg: var(--t-canvas);
    --bs-body-color: var(--t-ink);
    --bs-border-color: var(--t-line);
    --card-radius: var(--t-radius);
    --shadow-sm: var(--t-shadow);
}

@media screen {
html[data-theme="dark"] {
    color-scheme: dark;
    --t-canvas: #0b0f14;
    --t-surface: #131a22;
    --t-surface-2: #10161d;
    --t-ink: #e8eef5;
    --t-ink-2: #b6c2d0;
    --t-muted: #8593a5;
    --t-line: #222c38;
    --t-line-2: #1b242e;
    --t-accent: #14b8a6;
    --t-accent-2: #2dd4bf;
    --t-accent-ink: #042f2e;
    --t-accent-soft: rgba(45, 212, 191, .13);
    --t-accent-text: #5eead4;
    --t-side-bg: #0f141b;
    --t-side-ink: #aab6c5;
    --t-side-muted: #5b6a7c;
    --t-side-hover: #151d27;
    --t-top-bg: rgba(15, 20, 27, .92);
    --t-shadow: 0 10px 30px rgba(0, 0, 0, .35);
    --t-shadow-lg: 0 20px 48px rgba(0, 0, 0, .6);
    --t-ok: #4ade80;  --t-ok-bg: rgba(34, 197, 94, .14);
    --t-warn: #fbbf24; --t-warn-bg: rgba(245, 158, 11, .14);
    --t-info: #7cb2ff; --t-info-bg: rgba(96, 165, 250, .14);
    --t-ok-bd: rgba(74,222,128,.32); --t-bad-bd: rgba(248,113,113,.34); --t-info-bd: rgba(96,165,250,.34); --t-warn-bd: rgba(251,191,36,.34); --t-accent-bd: rgba(45,212,191,.34);
    --t-bad: #fca5a5;  --t-bad-bg: rgba(248, 113, 113, .14);
    --t-accent-rgb: 45, 212, 191;
    --t-hero-1: #0a1f22; --t-hero-2: #0f2f33; --t-hero-3: #134e4a;
    --gold-2: #134e4a;
    --ui-gold-2: #134e4a;
    --ui-gold-ink: #042f2e;
    --ui-focus: 0 0 0 .22rem rgba(45, 212, 191, .25);
    --bs-link-color-rgb: 94, 234, 212;
    --bs-link-hover-color: #99f6e4;
    --bs-body-bg: var(--t-canvas);
    --bs-body-color: var(--t-ink);
    --bs-border-color: var(--t-line);
    --bs-secondary-color: var(--t-muted);
    --bs-tertiary-bg: var(--t-surface-2);
    --bs-emphasis-color: var(--t-ink);
}
}

/* ───────────── ۲) پایه ───────────── */
html { background: var(--t-canvas); }
body { background: var(--t-canvas); color: var(--t-ink); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: var(--t-ink); }
.text-muted { color: var(--t-muted) !important; }
a { color: var(--t-accent-text); }
::selection { background: var(--t-accent-soft); color: var(--t-ink); }
hr { border-color: var(--t-line); opacity: 1; }

/* ───────────── ۳) سایدبار ───────────── */
.sidebar {
    background: var(--t-side-bg);
    color: var(--t-side-ink);
    border-inline-start: 1px solid var(--t-line);
    padding: 1.1rem .9rem;
}
.sidebar::-webkit-scrollbar-thumb { background: var(--t-line); }
.sidebar-brand { color: var(--t-ink); font-weight: 800; padding-bottom: 1.2rem; }
.sidebar-brand-icon { box-shadow: 0 6px 14px rgba(99, 102, 241, .25); border-radius: 12px; }
html[data-theme="dark"] .sidebar-brand-icon { box-shadow: 0 6px 14px rgba(20, 184, 166, .22); }
.sidebar-link {
    color: var(--t-side-ink);
    border-radius: 11px;
    padding: .62rem .85rem;
    position: relative;
}
.sidebar-link i { color: var(--t-side-muted); }
.sidebar-link:hover { background: var(--t-side-hover); color: var(--t-ink); }
.sidebar-link.active {
    background: var(--t-accent-soft);
    color: var(--t-accent-text);
    font-weight: 700;
    box-shadow: none;
}
.sidebar-link.active i { color: var(--t-accent); }
html[data-theme="dark"] .sidebar-link.active { color: #fff; }
html[data-theme="dark"] .sidebar-link.active i { color: var(--t-accent-2); }
.sidebar-link.active::before {
    content: ""; position: absolute; inset-inline-start: -.9rem; top: 9px; bottom: 9px;
    width: 3px; border-radius: 3px; background: var(--t-accent);
}
.sidebar-user { border-top: 1px solid var(--t-line); }
.sidebar-user-name { color: var(--t-ink); }
.sidebar-user-role { color: var(--t-muted); }
.sidebar-logout { color: var(--t-muted); }
.sidebar-logout:hover { color: var(--t-bad); }
.sidebar-avatar { background: var(--t-accent-soft); color: var(--t-accent-text); }
.sidebar-avatar-sm { background: var(--t-accent-soft); color: var(--t-accent-text); }
.sidebar-offcanvas { background: var(--t-side-bg); color: var(--t-side-ink); }
.sidebar-offcanvas .offcanvas-header { border-bottom: 1px solid var(--t-line); }
.sidebar-offcanvas .btn-close-white { filter: none; }
html[data-theme="dark"] .sidebar-offcanvas .btn-close-white { filter: invert(1) grayscale(1); }

/* ───────────── ۴) نوار بالا ───────────── */
.topbar {
    background: var(--t-top-bg);
    border-bottom: 1px solid var(--t-line);
    box-shadow: none;
    padding: .75rem 1.5rem;
    min-height: 64px;
}
.topbar-title { color: var(--t-ink); font-size: 1.12rem; font-weight: 800; }
.topbar-title-note { color: var(--t-muted) !important; }
.btn-icon { background: var(--t-surface); color: var(--t-ink-2); border: 1px solid var(--t-line); }
.today-chip { background: var(--t-surface); color: var(--t-ink-2); border: 1px solid var(--t-line); font-weight: 600; }
.topbar-user-btn { background: var(--t-surface); border-color: var(--t-line); color: var(--t-ink); }
.offline-badge-online { background: var(--t-ok-bg); color: var(--t-ok); }
.offline-badge-pending { background: var(--t-warn-bg); color: var(--t-warn); border-color: transparent; }
.offline-badge-offline { background: var(--t-bad-bg); color: var(--t-bad); border-color: transparent; }
.theme-toggle {
    width: 38px; height: 38px; border-radius: 11px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--t-surface); color: var(--t-ink-2); border: 1px solid var(--t-line);
}
.theme-toggle:hover { color: var(--t-accent-text); border-color: var(--t-accent-2); }
.theme-toggle .th-sun, .theme-toggle .th-moon, .theme-toggle .th-auto { display: none; }
html[data-theme-pref="light"] .theme-toggle .th-sun { display: inline; }
html[data-theme-pref="dark"] .theme-toggle .th-moon { display: inline; }
html:not([data-theme-pref="light"]):not([data-theme-pref="dark"]) .theme-toggle .th-auto { display: inline; }

/* ───────────── ۵) محتوا و کارت ───────────── */
.content-inner { padding: 1.5rem 1.6rem 2.2rem; }
.card {
    background: var(--t-surface);
    border: 1px solid var(--t-line);
    border-radius: var(--t-radius);
    box-shadow: var(--t-shadow);
    color: var(--t-ink);
}
.card-header, .card-footer { background: var(--t-surface-2); border-color: var(--t-line); color: var(--t-ink); }
.form-section { background: var(--t-surface-2); border-color: var(--t-line); }
.form-section-title { color: var(--t-accent-text); border-bottom-color: var(--t-line); }
.app-footer { color: var(--t-muted); }
.list-group-item { background: var(--t-surface); border-color: var(--t-line); color: var(--t-ink); }

/* ───────────── ۶) دکمه‌ها ───────────── */
.btn { border-radius: var(--t-radius-sm); font-weight: 600; }
.btn-primary {
    --bs-btn-bg: var(--t-accent); --bs-btn-border-color: var(--t-accent); --bs-btn-color: var(--t-accent-ink);
    --bs-btn-hover-bg: var(--t-accent-text); --bs-btn-hover-border-color: var(--t-accent-text); --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--t-accent-text); --bs-btn-active-border-color: var(--t-accent-text); --bs-btn-active-color: #fff;
    --bs-btn-disabled-bg: var(--t-accent); --bs-btn-disabled-border-color: var(--t-accent);
    background: var(--t-accent); border-color: var(--t-accent); color: var(--t-accent-ink);
    box-shadow: 0 6px 14px rgba(79, 70, 229, .22);
}
html[data-theme="dark"] .btn-primary { box-shadow: 0 8px 20px rgba(20, 184, 166, .25); }
.btn-primary:hover, .btn-primary:focus { background: var(--t-accent-text); border-color: var(--t-accent-text); color: #fff; }
html[data-theme="dark"] .btn-primary:hover { color: #042f2e; background: var(--t-accent-2); border-color: var(--t-accent-2); }
.btn-outline-primary { --bs-btn-color: var(--t-accent-text); --bs-btn-border-color: var(--t-accent-2); --bs-btn-hover-bg: var(--t-accent); --bs-btn-hover-border-color: var(--t-accent); --bs-btn-hover-color: var(--t-accent-ink); }
.btn-outline-secondary { --bs-btn-color: var(--t-ink-2); --bs-btn-border-color: var(--t-line); --bs-btn-hover-bg: var(--t-surface-2); --bs-btn-hover-color: var(--t-ink); --bs-btn-hover-border-color: var(--t-accent-2); background: var(--t-surface); }
.btn-light { --bs-btn-bg: var(--t-surface); --bs-btn-border-color: var(--t-line); --bs-btn-color: var(--t-ink); --bs-btn-hover-bg: var(--t-surface-2); --bs-btn-hover-color: var(--t-ink); --bs-btn-hover-border-color: var(--t-line); }
.btn-dark { --bs-btn-bg: var(--t-ink); --bs-btn-border-color: var(--t-ink); --bs-btn-color: var(--t-canvas); --bs-btn-hover-bg: var(--t-ink-2); --bs-btn-hover-color: var(--t-canvas); --bs-btn-hover-border-color: var(--t-ink-2); }
html[data-theme="dark"] .btn-outline-dark { --bs-btn-color: var(--t-ink-2); --bs-btn-border-color: var(--t-line); --bs-btn-hover-bg: var(--t-ink); --bs-btn-hover-color: var(--t-canvas); }
.btn-link { color: var(--t-accent-text); }

/* ───────────── ۷) فرم‌ها ───────────── */
.form-control, .form-select, .input-group-text {
    background-color: var(--t-surface);
    border: 1px solid var(--t-line);
    color: var(--t-ink);
    border-radius: var(--t-radius-sm);
}
.form-control::placeholder { color: var(--t-muted); opacity: .75; }
.form-control:focus, .form-select:focus {
    background-color: var(--t-surface); color: var(--t-ink);
    border-color: var(--t-accent-2); box-shadow: var(--ui-focus);
}
.form-control:disabled, .form-select:disabled, .form-control[readonly] { background-color: var(--t-surface-2); color: var(--t-muted); }
.form-check-input { background-color: var(--t-surface); border-color: var(--t-line); }
.form-check-input:checked { background-color: var(--t-accent); border-color: var(--t-accent); }
.form-label { color: var(--t-ink-2); }
.input-group-text { background: var(--t-surface-2); color: var(--t-muted); }

/* ───────────── ۸) جدول ───────────── */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--t-ink);
    --bs-table-border-color: var(--t-line-2);
    --bs-table-striped-bg: var(--t-surface-2);
    --bs-table-hover-bg: var(--t-surface-2);
    color: var(--t-ink);
}
.table > thead > tr > th,
.table thead th {
    background: var(--t-surface-2);
    color: var(--t-muted);
    font-size: .8rem;
    font-weight: 700;
    border-bottom: 1px solid var(--t-line);
    white-space: nowrap;
}
.table > :not(caption) > * > * { border-color: var(--t-line-2); }
.table-light, .table-light > th, .table-light > td { --bs-table-bg: var(--t-surface-2); --bs-table-color: var(--t-muted); color: var(--t-muted); background: var(--t-surface-2); }
.table-responsive { border-radius: var(--t-radius-sm); }
.arad-scrollx { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ───────────── ۹) برچسب، هشدار، تب، منو، مودال ───────────── */
.badge { font-weight: 700; border-radius: 99px; }
.alert { border-radius: var(--t-radius-sm); border: 1px solid transparent; }
.alert-success { background: var(--t-ok-bg); color: var(--t-ok); border-color: transparent; }
.alert-warning { background: var(--t-warn-bg); color: var(--t-warn); border-color: transparent; }
.alert-danger  { background: var(--t-bad-bg); color: var(--t-bad); border-color: transparent; }
.alert-info    { background: var(--t-info-bg); color: var(--t-info); border-color: transparent; }
.nav-tabs { border-bottom-color: var(--t-line); }
.nav-tabs .nav-link { color: var(--t-muted); border-radius: 10px 10px 0 0; }
.nav-tabs .nav-link.active { background: var(--t-surface); color: var(--t-accent-text); border-color: var(--t-line) var(--t-line) var(--t-surface); font-weight: 700; }
.nav-pills .nav-link { color: var(--t-ink-2); border-radius: 10px; }
.nav-pills .nav-link.active { background: var(--t-accent); color: var(--t-accent-ink); }
.dropdown-menu { background: var(--t-surface); border: 1px solid var(--t-line); border-radius: 12px; box-shadow: var(--t-shadow-lg); color: var(--t-ink); }
.dropdown-item { color: var(--t-ink-2); border-radius: 8px; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--t-accent-soft); color: var(--t-accent-text); }
.dropdown-divider { border-color: var(--t-line); }
.modal-content { background: var(--t-surface); color: var(--t-ink); border: 1px solid var(--t-line); border-radius: var(--t-radius); }
.modal-header, .modal-footer { border-color: var(--t-line); }
.page-link { background: var(--t-surface); border-color: var(--t-line); color: var(--t-ink-2); }
.page-item.active .page-link { background: var(--t-accent); border-color: var(--t-accent); color: var(--t-accent-ink); }
.page-item.disabled .page-link { background: var(--t-surface-2); color: var(--t-muted); }
html[data-theme="dark"] .btn-close { filter: invert(1) grayscale(1); }
.progress { background: var(--t-line-2); }
.progress-bar { background: var(--t-accent); }
.breadcrumb a { color: var(--t-muted); }
.accordion-item, .accordion-button { background: var(--t-surface); color: var(--t-ink); border-color: var(--t-line); }
.accordion-button:not(.collapsed) { background: var(--t-accent-soft); color: var(--t-accent-text); }
details > summary { color: inherit; }
code { color: var(--t-accent-text); }

/* ───────────── ۱۰) کارت‌های آماریِ رنگی (داشبورد قدیمی) ───────────── */
.stat-card { box-shadow: var(--t-shadow); border-radius: 18px; }
.bg-grad-blue   { background: linear-gradient(135deg, #6366f1, #4338ca); }
.bg-grad-purple { background: linear-gradient(135deg, #a78bfa, #6d28d9); }
.bg-grad-teal   { background: linear-gradient(135deg, #2dd4bf, #0f766e); }

/* ───────────── ۱۱) تمِ تیره: پوشش‌دادنِ استایل‌های درون‌خطیِ روشن ───────────── */
html[data-theme="dark"] .bg-white, html[data-theme="dark"] .bg-body { background-color: var(--t-surface) !important; }
html[data-theme="dark"] .bg-light, html[data-theme="dark"] .bg-body-tertiary { background-color: var(--t-surface-2) !important; }
html[data-theme="dark"] .text-dark, html[data-theme="dark"] .text-body { color: var(--t-ink) !important; }
html[data-theme="dark"] .text-secondary { color: var(--t-muted) !important; }
html[data-theme="dark"] .border, html[data-theme="dark"] .border-top, html[data-theme="dark"] .border-bottom,
html[data-theme="dark"] .border-start, html[data-theme="dark"] .border-end { border-color: var(--t-line) !important; }
html[data-theme="dark"] [style*="background:#fff"], html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:#ffffff"], html[data-theme="dark"] [style*="background: #ffffff"],
html[data-theme="dark"] [style*="background-color:#fff"], html[data-theme="dark"] [style*="background-color: #fff"],
html[data-theme="dark"] [style*="background:white"], html[data-theme="dark"] [style*="background: white"] { background: var(--t-surface) !important; }
html[data-theme="dark"] [style*="background:#f8fafc"], html[data-theme="dark"] [style*="background: #f8fafc"],
html[data-theme="dark"] [style*="background:#faf7ef"], html[data-theme="dark"] [style*="background:#faf9f5"],
html[data-theme="dark"] [style*="background:#fafafa"], html[data-theme="dark"] [style*="background:#f9fafb"],
html[data-theme="dark"] [style*="background:#f5f5f4"], html[data-theme="dark"] [style*="background:#f1f5f9"] { background: var(--t-surface-2) !important; }
html[data-theme="dark"] [style*="color:#1c1917"], html[data-theme="dark"] [style*="color:#101828"],
html[data-theme="dark"] [style*="color:#0f172a"], html[data-theme="dark"] [style*="color:#111"],
html[data-theme="dark"] [style*="color:#000"] { color: var(--t-ink) !important; }
html[data-theme="dark"] [style*="color:#78716c"], html[data-theme="dark"] [style*="color:#64748b"],
html[data-theme="dark"] [style*="color:#6b7280"], html[data-theme="dark"] [style*="color:#94a3b8"] { color: var(--t-muted) !important; }
html[data-theme="dark"] [style*="border:1px solid #e"], html[data-theme="dark"] [style*="border: 1px solid #e"],
html[data-theme="dark"] [style*="border-color:#e"] { border-color: var(--t-line) !important; }
html[data-theme="dark"] img.invert-dark { filter: invert(1) hue-rotate(180deg); }
html[data-theme="dark"] .arad-fx table { background: var(--t-surface); }
html[data-theme="dark"] .persian-datepicker, html[data-theme="dark"] .datepicker-container { color-scheme: light; }

/* ───────────── ۱۲) موبایل و تبلت — «اپلیکیشنی»، بدونِ هیچ اسکرولِ افقی ───────────── */
.m-filter-btn, .m-tabbar, td.m-tgc { display: none; }
@media (max-width: 991.98px) {
    html, body { overflow-x: clip; max-width: 100vw; }
    .topbar { padding: .5rem .85rem; min-height: 54px; gap: .5rem; }
    .topbar .btn-icon { display: none; }                       /* منو از نوارِ پایین باز می‌شود */
    .topbar-title { font-size: 1rem; max-width: 56vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .topbar-user-btn { padding: .2rem; border-radius: 99px; }
    .topbar .today-chip, .topbar-title-note, .topbar .offline-status-chip:not(:empty) { font-size: .72rem; }
    .content-inner { padding: .9rem .8rem calc(84px + env(safe-area-inset-bottom)); overflow-x: clip; }
    .app-footer { display: none; }
    .sidebar-offcanvas { width: min(88vw, 320px); }
    .sidebar-link { padding: .8rem .9rem; font-size: .96rem; }
    .sidebar-link.active::before { inset-inline-start: -.75rem; }
    /* نوارِ تبِ پایین (مثلِ اپ) */
    .m-tabbar {
        display: flex; position: fixed; inset-inline: 0; bottom: 0; z-index: 1030;
        background: var(--t-surface); border-top: 1px solid var(--t-line);
        padding: .35rem .4rem calc(.35rem + env(safe-area-inset-bottom)); box-shadow: 0 -6px 20px rgba(15, 23, 42, .08);
    }
    .m-tabbar a, .m-tabbar button {
        flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px;
        padding: .4rem .2rem; border: 0; background: transparent; color: var(--t-muted); font: inherit; font-size: .68rem; border-radius: 12px;
    }
    .m-tabbar i { font-size: 1.15rem; }
    .m-tabbar span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .m-tabbar a.on { color: var(--t-accent-text); background: var(--t-accent-soft); font-weight: 700; }
    body.m-kb .m-tabbar { display: none; }
    /* هیچ چیز از عرضِ صفحه بیرون نزند */
    .content-inner :is(div, form, section, input, select, textarea, table, img, iframe, canvas, video, pre) { max-width: 100%; }
    /* ردیف‌های بوت‌استرپ با حاشیه‌ی منفی پهن‌ترند؛ سقفِ ۱۰۰٪ یک طرفشان را کوتاه و ناتراز می‌کرد */
    .content-inner .row { max-width: none; }
    .content-inner img, .content-inner canvas, .content-inner svg { height: auto; max-width: 100%; }
    .content-inner pre, .content-inner code { white-space: pre-wrap; overflow-wrap: anywhere; }
    .content-inner td, .content-inner th, .content-inner .btn, .content-inner .badge, .content-inner a { overflow-wrap: anywhere; }
    .content-inner .btn { white-space: normal; }
    .content-inner .d-flex { flex-wrap: wrap; }
    .nav-tabs, .nav-pills { flex-wrap: wrap; overflow: visible; }
    .nav-tabs .nav-link { white-space: normal; }
    .arad-fx { display: none !important; }
    .table-responsive { overflow-x: visible; }
    .content-inner [style*="width:"] { max-width: 100% !important; }
    .content-inner [style*="min-width"] { min-width: 0 !important; }
}
@media (max-width: 767.98px) {
    html { font-size: 14.5px; }
    .card { border-radius: 14px; }
    .card-body { padding: .9rem; }
    .btn { min-height: 40px; }
    .btn-sm { min-height: 34px; }
    .form-control, .form-select { min-height: 44px; font-size: 16px; }   /* جلوگیری از زومِ خودکارِ iOS */
    .row { --bs-gutter-x: .75rem; }
    h1, .h1 { font-size: 1.3rem; } h2, .h2 { font-size: 1.2rem; } h3, .h3 { font-size: 1.1rem; }
    .modal-dialog { margin: .5rem; max-width: calc(100vw - 1rem); }
    .modal-dialog-scrollable .modal-body { max-height: 70vh; }
    .dropdown-menu { max-width: 92vw; }
    .stat-card .stat-number { font-size: 1.55rem; }
    .btn-toolbar, .btn-group { flex-wrap: wrap; }

    /* فرمِ فیلتر: پشتِ دکمه‌ی «فیلترها» */
    .m-filter-btn { display: flex; align-items: center; justify-content: center; gap: .5rem; }
    form.m-filter-form { display: none; background: var(--t-surface); border: 1px solid var(--t-line); border-radius: 14px; padding: .8rem; margin-bottom: .8rem; }
    form.m-filter-form.m-open { display: block; }
    .hide-mobile, .m-hide { display: none !important; }       /* فیلد/آیتمِ غیرضروری در موبایل */

    /* جدول ← کارت */
    table.m-cards, table.m-cards tbody, table.m-cards tfoot, table.m-cards tr, table.m-cards td { display: block; width: 100% !important; }
    table.m-cards { border: 0; background: transparent; }
    table.m-cards thead { display: none; }
    table.m-cards tr {
        position: relative; background: var(--t-surface); border: 1px solid var(--t-line); border-radius: 14px;
        padding: .7rem .85rem; margin-bottom: .65rem; box-shadow: var(--t-shadow);
    }
    table.m-cards td { border: 0 !important; padding: .28rem 0 !important; background: transparent !important; text-align: start; }
    table.m-cards td[data-label]:not(.m-first) { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; }
    table.m-cards td[data-label]:not(.m-first)::before { content: attr(data-label); flex: 0 0 34%; max-width: 40%; color: var(--t-muted); font-size: .74rem; font-weight: 600; }
    table.m-cards td.m-first { font-weight: 800; font-size: 1.02rem; padding-bottom: .45rem !important; border-bottom: 1px dashed var(--t-line) !important; margin-bottom: .25rem; }
    table.m-cards td.m-tgc { display: block; padding: 0 !important; }
    table.m-cards td.m-empty { display: none; }
    table.m-cards td.m-more { display: none; }
    table.m-cards tr.m-open td.m-more { display: flex; }
    table.m-cards td.m-check { position: absolute; top: .7rem; inset-inline-end: .85rem; width: auto !important; padding: 0 !important; }
    table.m-cards td.m-act { display: flex; flex-wrap: wrap; gap: .4rem; padding-top: .5rem !important; }
    table.m-cards td.m-span { text-align: center; color: var(--t-muted); }
    table.m-cards .m-tg {
        display: flex; align-items: center; justify-content: center; gap: .35rem; width: 100%; margin-top: .4rem; padding: .4rem;
        border: 0; border-top: 1px dashed var(--t-line); background: transparent; color: var(--t-accent-text); font: inherit; font-size: .82rem; font-weight: 700;
    }
    table.m-cards tr.m-open .m-tg i { transform: rotate(180deg); }
    /* جدولِ آماری (m-stat): کارتِ جمع‌وجور، عددها در خانه‌های کوچکِ سه‌تایی */
    table.m-cards.m-stat tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; padding: .6rem .65rem; }
    table.m-cards.m-stat td { width: auto !important; }
    table.m-cards.m-stat td.m-first { grid-column: 1 / -1; font-size: .92rem; margin-bottom: .1rem; padding: 0 0 .35rem !important; }
    table.m-cards.m-stat td[data-label]:not(.m-first) { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .05rem; text-align: center;
        background: var(--t-surface-2) !important; border-radius: 9px; padding: .3rem .2rem !important; font-weight: 800; font-size: .86rem; }
    table.m-cards.m-stat td[data-label]:not(.m-first)::before { flex: none; max-width: none; font-size: .64rem; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; }
    /* ردیفِ پیشرفت: «پیشرفت» اول (راست)، نوار وسط و کشیده، درصد آخر (چپ) — تمام‌عرض */
    table.m-cards.m-stat td.m-wide { grid-column: 1 / -1; flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; gap: .55rem !important; padding: .4rem .6rem !important; }
    table.m-cards.m-stat td.m-wide::before { width: auto !important; flex: 0 0 auto !important; font-size: .72rem !important; }
    table.m-cards.m-stat td.m-wide > div { flex: 1 1 auto; width: auto !important; height: 10px !important; margin: 0 !important; }
    table.m-cards.m-stat td.m-wide > small { flex: 0 0 auto; margin-inline-start: auto; min-width: 2.6em; text-align: end; font-size: .78rem; }
    table.m-cards tfoot tr { background: var(--t-surface-2); }
    /* جدولِ بدونِ سرستون (اطلاعاتِ دوستونه): همان عرضِ صفحه، شکستنِ متن */
    table:not(.m-cards) { width: 100% !important; table-layout: auto; }
    table:not(.m-cards) td, table:not(.m-cards) th { overflow-wrap: anywhere; word-break: break-word; }
}
@media (max-width: 575.98px) {
    .content-inner { padding: .75rem .6rem calc(84px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
@media print {
    html[data-theme="dark"] body, html[data-theme="dark"] .card { background: #fff !important; color: #000 !important; }
    .theme-toggle { display: none !important; }
}


/* ── SVG درون‌خطی با ویژگیِ fill/stroke (بدون استایل) ── */
html[data-theme="dark"] svg [fill="#fff"], html[data-theme="dark"] svg [fill="#ffffff"], html[data-theme="dark"] svg [fill="#fefdfb"] { fill: var(--t-surface); }
html[data-theme="dark"] svg [stroke="#fff"], html[data-theme="dark"] svg [stroke="#ffffff"] { stroke: var(--t-surface); }
html[data-theme="dark"] svg [stroke="#f1ede3"], html[data-theme="dark"] svg [stroke="#f1ead8"], html[data-theme="dark"] svg [stroke="#ece8f5"],
html[data-theme="dark"] svg [stroke="#e8e7e2"], html[data-theme="dark"] svg [stroke="#d6d5cf"], html[data-theme="dark"] svg [stroke="#bdbcb6"] { stroke: var(--t-line); }
html[data-theme="dark"] svg [fill="#2b2a27"], html[data-theme="dark"] svg [fill="#3a3650"], html[data-theme="dark"] svg [fill="#57534e"] { fill: var(--t-ink); }
html[data-theme="dark"] svg [fill="#6b6a65"], html[data-theme="dark"] svg [fill="#8a8984"], html[data-theme="dark"] svg [fill="#78716c"] { fill: var(--t-muted); }
svg [fill="#6366f1"], svg [fill="#3d40e3"], svg [fill="#3033e1"], svg [fill="#2e31d9"] { fill: var(--t-accent-2, currentColor); }
svg [stroke="#6366f1"], svg [stroke="#3033e1"] { stroke: var(--t-accent-2, currentColor); }
svg stop[stop-color="#6366f1"], svg stop[stop-color="#8c8eef"], svg stop[stop-color="#181a8d"] { stop-color: var(--t-accent-2); }
