/*
  Milaro CRM Radius System
  هدف: یکپارچه‌سازی گوشه‌ها بر اساس منطق طراحی مدرن/Apple-like:
  کنترل‌ها 12px، کارت‌ها 16px، پنل‌های بزرگ 20px، فقط badge/avatar واقعی pill.
*/

:root {
    --radius-xs: 6px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-2xl: 24px;
    --radius-pill: 999px;

    --bs-border-radius-sm: var(--radius-sm);
    --bs-border-radius: var(--radius-md);
    --bs-border-radius-lg: var(--radius-lg);
    --bs-border-radius-xl: var(--radius-xl);
    --bs-border-radius-xxl: var(--radius-2xl);
    --bs-border-radius-pill: var(--radius-pill);
}

/* Controls: input/select/button/search/select2 */
.form-control,
.form-select,
.input-group-text,
.input-group .btn,
.btn:not(.rounded-pill):not(.btn-circle):not(.avatar):not(.status-pill),
.dropdown-toggle,
.page-link,
.nav-pills .nav-link,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-container--classic .select2-selection--single,
.select2-container--classic .select2-selection--multiple,
.select2-search--dropdown .select2-search__field {
    border-radius: var(--radius-md) !important;
}

/* Small icon/table actions: rounded-square instead of random circles */
.table .btn,
.table .btn-sm,
.dt-buttons .btn,
.action-btn,
.btn-action,
.btn-icon,
.icon-btn,
.row-action,
.table-action,
.btn-edit,
.btn-delete,
.btn-view {
    border-radius: var(--radius-md) !important;
}

/* Cards, boxes, filters, table wrappers */
.card,
.modal-content,
.dropdown-menu,
.toast,
.popover,
.offcanvas,
.accordion-item,
.list-group,
.alert,
.table-responsive,
.data-card,
.stat-card,
.kpi-card,
.crm-card,
.app-card,
.panel,
.page-card,
.filter-card,
.filter-panel,
.search-panel,
.content-card,
.border.rounded-3,
.rounded-3 {
    border-radius: var(--radius-lg) !important;
}

/* Larger shells / page blocks */
.topbar,
.app-topbar,
.page-header,
.page-title-card,
.sidebar,
.sidebar-card,
.sidebar-section,
.menu-section,
.menu-group,
.main-panel,
.content-panel,
.reception-panel,
.manager-panel,
.live-tabs-shell {
    border-radius: var(--radius-xl) !important;
}

/* Hero/large visual banners */
.reception-hero,
.manager-hero,
.dashboard-hero,
.hero-card {
    border-radius: var(--radius-2xl) !important;
}

/* Select2 dropdown shape */
.select2-dropdown {
    border-radius: var(--radius-lg) !important;
    overflow: hidden;
}

.select2-container--open.select2-container--above .select2-selection--single,
.select2-container--open.select2-container--above .select2-selection--multiple {
    border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
}

.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--open.select2-container--below .select2-selection--multiple {
    border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
}

.select2-container--open .select2-dropdown--above {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

.select2-container--open .select2-dropdown--below {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
}

.select2-results__option {
    border-radius: var(--radius-sm) !important;
    margin: 2px 6px;
}

/* Pills: فقط مواردی که واقعاً باید pill باشند */
.badge.rounded-pill,
.rounded-pill,
.status-pill,
.avatar,
.user-avatar,
.profile-avatar,
.label-pill,
.pill,
.chip,
.tag {
    border-radius: var(--radius-pill) !important;
}

/* Bootstrap utility cleanup */
.rounded {
    border-radius: var(--radius-md) !important;
}

.rounded-0 {
    border-radius: 0 !important;
}

.rounded-1 {
    border-radius: var(--radius-xs) !important;
}

.rounded-2 {
    border-radius: var(--radius-sm) !important;
}

.rounded-3,
.rounded-4 {
    border-radius: var(--radius-lg) !important;
}

.rounded-5 {
    border-radius: var(--radius-xl) !important;
}

/* Tables should not create random huge corners inside */
.table,
.table thead,
.table tbody,
.table tr,
.table th,
.table td {
    border-radius: 0 !important;
}

/* But the outer shell can be rounded */
.table-responsive,
.data-table-shell,
.table-shell {
    overflow: hidden;
}

/* Error pages */
.error-box,
.public-error-box {
    border-radius: var(--radius-xl) !important;
}

/* Print pages keep clean, not over-rounded */
@media print {
    .print-card,
    .invoice-print-card,
    .card,
    .table-responsive {
        border-radius: var(--radius-md) !important;
    }
}

/* Brand / Logo boxes radius fix */
.brand-box,
.brand_box,
.brandBox,
.brand-card,
.logo-box,
.app-brand,
.sidebar-brand,
.navbar-brand-box,
.login-brand-box,
.auth-brand-box {
    border-radius: var(--radius-lg) !important;
    overflow: hidden;
}

.brand-box img,
.brand_box img,
.brandBox img,
.brand-card img,
.logo-box img,
.app-brand img,
.sidebar-brand img,
.navbar-brand-box img,
.login-brand-box img,
.auth-brand-box img {
    border-radius: inherit;
}

/* اگر brand داخل سایدبار یا تاپ‌بار است کمی نرم‌تر و هماهنگ‌تر */
.sidebar .brand-box,
.sidebar-brand,
.app-sidebar .brand-box,
.topbar .brand-box,
.app-topbar .brand-box {
    border-radius: var(--radius-xl) !important;
}

/* Active / selected menu readability fix - light mode */
:root {
    --nav-active-bg: #eef5e8;
    --nav-active-border: #a7b88d;
    --nav-active-text: #1f2a1a;
    --nav-active-icon: #53693f;
    --nav-hover-bg: #f6f8f3;
}

/* Base spacing for sidebar/nav clickable rows */
.sidebar a,
.sidebar .nav-link,
.sidebar .menu-link,
.sidebar .menu-item > a,
.sidebar .nav-group > summary,
.app-sidebar a,
.app-sidebar .nav-link,
.app-sidebar .menu-link,
.app-sidebar .menu-item > a,
.app-sidebar .nav-group > summary,
.nav-group > summary,
.nav-group a {
    min-height: 42px;
    padding-block: 10px !important;
    padding-inline: 14px 12px !important;
    margin-inline: 6px !important;
    border-radius: var(--radius-md) !important;
    line-height: 1.45;
}

/* RTL-safe correction: avoid cramped left side where icons/carets usually sit */
[dir="rtl"] .sidebar a,
[dir="rtl"] .sidebar .nav-link,
[dir="rtl"] .sidebar .menu-link,
[dir="rtl"] .sidebar .menu-item > a,
[dir="rtl"] .sidebar .nav-group > summary,
[dir="rtl"] .app-sidebar a,
[dir="rtl"] .app-sidebar .nav-link,
[dir="rtl"] .app-sidebar .menu-link,
[dir="rtl"] .app-sidebar .menu-item > a,
[dir="rtl"] .app-sidebar .nav-group > summary,
[dir="rtl"] .nav-group > summary,
[dir="rtl"] .nav-group a {
    padding-inline: 12px 14px !important;
}

/* Active states */
.sidebar a.active,
.sidebar a.selected,
.sidebar a.is-active,
.sidebar .nav-link.active,
.sidebar .nav-link.selected,
.sidebar .nav-link.is-active,
.sidebar .menu-link.active,
.sidebar .menu-link.selected,
.sidebar .menu-link.is-active,
.sidebar .menu-item.active > a,
.sidebar .menu-item.selected > a,
.sidebar .menu-item.is-active > a,
.sidebar .nav-group.active > summary,
.sidebar .nav-group.selected > summary,
.sidebar .nav-group.is-active > summary,
.app-sidebar a.active,
.app-sidebar a.selected,
.app-sidebar a.is-active,
.app-sidebar .nav-link.active,
.app-sidebar .nav-link.selected,
.app-sidebar .nav-link.is-active,
.app-sidebar .menu-link.active,
.app-sidebar .menu-link.selected,
.app-sidebar .menu-link.is-active,
.app-sidebar .menu-item.active > a,
.app-sidebar .menu-item.selected > a,
.app-sidebar .menu-item.is-active > a,
.app-sidebar .nav-group.active > summary,
.app-sidebar .nav-group.selected > summary,
.app-sidebar .nav-group.is-active > summary,
.nav-group > summary.active,
.nav-group > summary.selected,
.nav-group > summary.is-active,
.nav-group.active > summary,
.nav-group.selected > summary,
.nav-group.is-active > summary {
    color: var(--nav-active-text) !important;
    background: var(--nav-active-bg) !important;
    border: 1px solid rgba(83, 105, 63, .22) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65), 0 8px 18px rgba(83, 105, 63, .08) !important;
    font-weight: 900 !important;
}

/* Active icons and text children */
.sidebar a.active i,
.sidebar a.selected i,
.sidebar a.is-active i,
.sidebar .nav-link.active i,
.sidebar .nav-link.selected i,
.sidebar .nav-link.is-active i,
.sidebar .menu-link.active i,
.sidebar .menu-link.selected i,
.sidebar .menu-link.is-active i,
.sidebar .menu-item.active > a i,
.sidebar .menu-item.selected > a i,
.sidebar .menu-item.is-active > a i,
.sidebar .nav-group.active > summary i,
.sidebar .nav-group.selected > summary i,
.sidebar .nav-group.is-active > summary i,
.app-sidebar a.active i,
.app-sidebar a.selected i,
.app-sidebar a.is-active i,
.app-sidebar .nav-link.active i,
.app-sidebar .nav-link.selected i,
.app-sidebar .nav-link.is-active i,
.app-sidebar .menu-link.active i,
.app-sidebar .menu-link.selected i,
.app-sidebar .menu-link.is-active i,
.app-sidebar .menu-item.active > a i,
.app-sidebar .menu-item.selected > a i,
.app-sidebar .menu-item.is-active > a i,
.app-sidebar .nav-group.active > summary i,
.app-sidebar .nav-group.selected > summary i,
.app-sidebar .nav-group.is-active > summary i {
    color: var(--nav-active-icon) !important;
    opacity: 1 !important;
}

/* Hover should be readable too */
.sidebar a:hover,
.sidebar .nav-link:hover,
.sidebar .menu-link:hover,
.sidebar .menu-item > a:hover,
.sidebar .nav-group > summary:hover,
.app-sidebar a:hover,
.app-sidebar .nav-link:hover,
.app-sidebar .menu-link:hover,
.app-sidebar .menu-item > a:hover,
.app-sidebar .nav-group > summary:hover,
.nav-group > summary:hover,
.nav-group a:hover {
    color: var(--nav-active-text) !important;
    background: var(--nav-hover-bg) !important;
}

/* Dark mode override */
html[data-theme="dark"] {
    --nav-active-bg: rgba(167, 184, 141, .16);
    --nav-active-border: rgba(167, 184, 141, .36);
    --nav-active-text: #f7f8f3;
    --nav-active-icon: #dce8c8;
    --nav-hover-bg: rgba(255, 255, 255, .07);
}

html[data-theme="dark"] .sidebar a.active,
html[data-theme="dark"] .sidebar a.selected,
html[data-theme="dark"] .sidebar a.is-active,
html[data-theme="dark"] .sidebar .nav-link.active,
html[data-theme="dark"] .sidebar .nav-link.selected,
html[data-theme="dark"] .sidebar .nav-link.is-active,
html[data-theme="dark"] .sidebar .menu-link.active,
html[data-theme="dark"] .sidebar .menu-link.selected,
html[data-theme="dark"] .sidebar .menu-link.is-active,
html[data-theme="dark"] .sidebar .menu-item.active > a,
html[data-theme="dark"] .sidebar .menu-item.selected > a,
html[data-theme="dark"] .sidebar .menu-item.is-active > a,
html[data-theme="dark"] .sidebar .nav-group.active > summary,
html[data-theme="dark"] .sidebar .nav-group.selected > summary,
html[data-theme="dark"] .sidebar .nav-group.is-active > summary,
html[data-theme="dark"] .app-sidebar a.active,
html[data-theme="dark"] .app-sidebar a.selected,
html[data-theme="dark"] .app-sidebar a.is-active,
html[data-theme="dark"] .app-sidebar .nav-link.active,
html[data-theme="dark"] .app-sidebar .nav-link.selected,
html[data-theme="dark"] .app-sidebar .nav-link.is-active,
html[data-theme="dark"] .app-sidebar .menu-link.active,
html[data-theme="dark"] .app-sidebar .menu-link.selected,
html[data-theme="dark"] .app-sidebar .menu-link.is-active,
html[data-theme="dark"] .app-sidebar .menu-item.active > a,
html[data-theme="dark"] .app-sidebar .menu-item.selected > a,
html[data-theme="dark"] .app-sidebar .menu-item.is-active > a,
html[data-theme="dark"] .app-sidebar .nav-group.active > summary,
html[data-theme="dark"] .app-sidebar .nav-group.selected > summary,
html[data-theme="dark"] .app-sidebar .nav-group.is-active > summary {
    border-color: var(--nav-active-border) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 8px 20px rgba(0,0,0,.14) !important;
}

/* =========================================================
   Milaro CRM Sidebar Polish - Apple-like spacing/typography
   هدف: تقارن، فاصله‌های استاندارد، آیکن هم‌تراز با متن، active خوانا
   ========================================================= */

:root {
    --sidebar-width: 280px;
    --sidebar-pad-x: 14px;
    --sidebar-pad-y: 16px;

    --side-card-radius: 18px;
    --side-group-radius: 14px;
    --side-item-radius: 10px;

    --side-gap: 10px;
    --side-inner-gap: 6px;

    --side-title-size: 13px;
    --side-item-size: 12.5px;
    --side-icon-size: 14px;
    --side-line-height: 1.45;

    --side-text: #0f172a;
    --side-muted: #64748b;
    --side-border: rgba(15, 23, 42, .085);
    --side-surface: rgba(255, 255, 255, .72);
    --side-group-bg: rgba(248, 250, 246, .82);
    --side-hover-bg: rgba(238, 245, 232, .70);
    --side-active-bg: #91a678;
    --side-active-text: #ffffff;
    --side-active-icon: #ffffff;
    --side-focus: rgba(145, 166, 120, .26);
}

/* خود سایدبار: نفس و فاصله متقارن */
.sidebar,
.app-sidebar,
aside.sidebar {
    padding: var(--sidebar-pad-y) var(--sidebar-pad-x) !important;
    background: linear-gradient(180deg, #fbfcf8 0%, #f6f8f1 100%) !important;
    border-inline-start: 1px solid rgba(15, 23, 42, .06);
    font-size: var(--side-item-size);
}

/* کارت لوگو/برند */
.sidebar .brand-box,
.app-sidebar .brand-box,
.sidebar-brand,
.app-brand,
.logo-box {
    margin: 2px 0 14px !important;
    padding: 18px 16px !important;
    min-height: 92px;
    border-radius: var(--side-card-radius) !important;
    border: 1px solid var(--side-border) !important;
    background: rgba(255,255,255,.86) !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .035) !important;
}

/* لیست منو */
.sidebar nav,
.app-sidebar nav,
.sidebar-menu,
.nav-menu,
.menu-list {
    display: grid !important;
    gap: var(--side-gap) !important;
}

/* گروه‌های منو */
.nav-group,
.sidebar .nav-group,
.app-sidebar .nav-group,
.menu-group,
.sidebar details,
.app-sidebar details {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--side-group-radius) !important;
    border: 1px solid var(--side-border) !important;
    background: var(--side-group-bg) !important;
    overflow: hidden !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.72) inset !important;
}

/* summary سرگروه */
.nav-group > summary,
.sidebar .nav-group > summary,
.app-sidebar .nav-group > summary,
.menu-group > summary,
.sidebar details > summary,
.app-sidebar details > summary {
    min-height: 42px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 14px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) 18px !important;
    align-items: center !important;
    column-gap: 8px !important;
    border-radius: var(--side-group-radius) !important;
    background: transparent !important;
    color: var(--side-text) !important;
    font-size: var(--side-title-size) !important;
    font-weight: 850 !important;
    line-height: var(--side-line-height) !important;
    letter-spacing: -0.01em;
    cursor: pointer !important;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease !important;
}

/* اگر summary فقط متن و آیکن فلش دارد، فلش سمت چپ بماند و متن دقیقاً راست */
[dir="rtl"] .nav-group > summary,
[dir="rtl"] .sidebar .nav-group > summary,
[dir="rtl"] .app-sidebar .nav-group > summary,
[dir="rtl"] .menu-group > summary,
[dir="rtl"] .sidebar details > summary,
[dir="rtl"] .app-sidebar details > summary {
    grid-template-columns: 18px minmax(0, 1fr) 18px !important;
}

/* متن summary */
.nav-group > summary span,
.sidebar .nav-group > summary span,
.app-sidebar .nav-group > summary span,
.menu-group > summary span,
.sidebar details > summary span,
.app-sidebar details > summary span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* آیکن‌های summary و آیتم‌ها */
.sidebar i,
.app-sidebar i,
.nav-group i,
.menu-group i {
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: var(--side-icon-size) !important;
    line-height: 1 !important;
    color: #16324a !important;
    opacity: .95 !important;
    vertical-align: middle !important;
    transform: translateY(0) !important;
}

/* فلش FontAwesome */
.fa-summary-toggle,
.nav-group > summary .fa-angle-down,
.sidebar details > summary .fa-angle-down,
.app-sidebar details > summary .fa-angle-down {
    grid-column: 1 !important;
    justify-self: start !important;
    margin: 0 !important;
    font-size: 12px !important;
    color: #16324a !important;
    opacity: .9 !important;
}

/* عنوان سرگروه در ستون متن */
.nav-group > summary > :not(.fa-summary-toggle):not(.fa-angle-down):not(i:first-child),
.sidebar details > summary > :not(.fa-summary-toggle):not(.fa-angle-down):not(i:first-child),
.app-sidebar details > summary > :not(.fa-summary-toggle):not(.fa-angle-down):not(i:first-child) {
    grid-column: 2 !important;
    justify-self: end !important;
}

/* hover summary */
.nav-group > summary:hover,
.sidebar .nav-group > summary:hover,
.app-sidebar .nav-group > summary:hover,
.menu-group > summary:hover,
.sidebar details > summary:hover,
.app-sidebar details > summary:hover {
    background: rgba(255,255,255,.62) !important;
}

/* محتوای بازشده گروه */
.nav-group[open],
.sidebar details[open],
.app-sidebar details[open],
.menu-group[open] {
    padding-bottom: 6px !important;
    background: rgba(255,255,255,.50) !important;
}

.nav-group[open] > summary,
.sidebar details[open] > summary,
.app-sidebar details[open] > summary,
.menu-group[open] > summary {
    margin-bottom: 4px !important;
}

/* لینک‌های داخلی منو */
.nav-group a,
.sidebar .nav-group a,
.app-sidebar .nav-group a,
.menu-group a,
.sidebar details a,
.app-sidebar details a,
.sidebar .menu-link,
.app-sidebar .menu-link,
.sidebar .nav-link,
.app-sidebar .nav-link {
    width: calc(100% - 12px) !important;
    min-height: 38px !important;
    margin: 3px 6px !important;
    padding: 0 12px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 8px !important;
    border-radius: var(--side-item-radius) !important;
    border: 1px solid transparent !important;
    color: #5f6b7a !important;
    background: transparent !important;
    font-size: var(--side-item-size) !important;
    font-weight: 760 !important;
    line-height: var(--side-line-height) !important;
    text-decoration: none !important;
    letter-spacing: -0.01em;
    transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

/* متن لینک‌ها */
.nav-group a span,
.sidebar .nav-group a span,
.app-sidebar .nav-group a span,
.menu-group a span,
.sidebar details a span,
.app-sidebar details a span,
.sidebar .menu-link span,
.app-sidebar .menu-link span,
.sidebar .nav-link span,
.app-sidebar .nav-link span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    justify-self: end !important;
}

/* آیکن لینک‌ها سمت راست متن در RTL */
.nav-group a i,
.sidebar .nav-group a i,
.app-sidebar .nav-group a i,
.menu-group a i,
.sidebar details a i,
.app-sidebar details a i,
.sidebar .menu-link i,
.app-sidebar .menu-link i,
.sidebar .nav-link i,
.app-sidebar .nav-link i {
    grid-column: 1 !important;
    color: #1b3650 !important;
    opacity: .90 !important;
}

/* hover لینک */
.nav-group a:hover,
.sidebar .nav-group a:hover,
.app-sidebar .nav-group a:hover,
.menu-group a:hover,
.sidebar details a:hover,
.app-sidebar details a:hover,
.sidebar .menu-link:hover,
.app-sidebar .menu-link:hover,
.sidebar .nav-link:hover,
.app-sidebar .nav-link:hover {
    color: #172033 !important;
    background: var(--side-hover-bg) !important;
    border-color: rgba(145, 166, 120, .16) !important;
}

/* active / selected / is-active دقیق و خوانا */
.nav-group a.active,
.nav-group a.selected,
.nav-group a.is-active,
.sidebar .nav-group a.active,
.sidebar .nav-group a.selected,
.sidebar .nav-group a.is-active,
.app-sidebar .nav-group a.active,
.app-sidebar .nav-group a.selected,
.app-sidebar .nav-group a.is-active,
.menu-group a.active,
.menu-group a.selected,
.menu-group a.is-active,
.sidebar details a.active,
.sidebar details a.selected,
.sidebar details a.is-active,
.app-sidebar details a.active,
.app-sidebar details a.selected,
.app-sidebar details a.is-active,
.sidebar .menu-link.active,
.sidebar .menu-link.selected,
.sidebar .menu-link.is-active,
.app-sidebar .menu-link.active,
.app-sidebar .menu-link.selected,
.app-sidebar .menu-link.is-active,
.sidebar .nav-link.active,
.sidebar .nav-link.selected,
.sidebar .nav-link.is-active,
.app-sidebar .nav-link.active,
.app-sidebar .nav-link.selected,
.app-sidebar .nav-link.is-active {
    color: var(--side-active-text) !important;
    background: linear-gradient(180deg, #9caf83 0%, var(--side-active-bg) 100%) !important;
    border-color: rgba(83, 105, 63, .20) !important;
    box-shadow: 0 14px 28px rgba(83, 105, 63, .16) !important;
    font-weight: 850 !important;
    transform: translateY(-1px);
}

/* active children */
.nav-group a.active *,
.nav-group a.selected *,
.nav-group a.is-active *,
.sidebar .nav-group a.active *,
.sidebar .nav-group a.selected *,
.sidebar .nav-group a.is-active *,
.app-sidebar .nav-group a.active *,
.app-sidebar .nav-group a.selected *,
.app-sidebar .nav-group a.is-active *,
.menu-group a.active *,
.menu-group a.selected *,
.menu-group a.is-active *,
.sidebar details a.active *,
.sidebar details a.selected *,
.sidebar details a.is-active *,
.app-sidebar details a.active *,
.app-sidebar details a.selected *,
.app-sidebar details a.is-active * {
    color: var(--side-active-text) !important;
    opacity: 1 !important;
}

/* فوکوس تمیز */
.nav-group a:focus-visible,
.sidebar .nav-group a:focus-visible,
.app-sidebar .nav-group a:focus-visible,
.sidebar details > summary:focus-visible,
.app-sidebar details > summary:focus-visible,
.nav-group > summary:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 4px var(--side-focus) !important;
}

/* آیتم راهنما پایین سایدبار */
.sidebar a[href*="help"],
.app-sidebar a[href*="help"],
.sidebar .help-link,
.app-sidebar .help-link {
    margin-top: 14px !important;
    color: #334155 !important;
    font-size: 12.5px !important;
}

/* اصلاح حالت‌هایی که قبلاً padding/margin عمومی خراب کرده */
.sidebar .border,
.app-sidebar .border {
    border-color: var(--side-border) !important;
}

.sidebar .rounded-3,
.app-sidebar .rounded-3 {
    border-radius: var(--side-group-radius) !important;
}

/* Dark mode */
html[data-theme="dark"] {
    --side-text: #f8fafc;
    --side-muted: #cbd5e1;
    --side-border: rgba(255,255,255,.10);
    --side-surface: rgba(15,23,42,.72);
    --side-group-bg: rgba(255,255,255,.045);
    --side-hover-bg: rgba(255,255,255,.075);
    --side-active-bg: #7f9565;
    --side-active-text: #ffffff;
    --side-active-icon: #ffffff;
}

html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .app-sidebar,
html[data-theme="dark"] aside.sidebar {
    background: linear-gradient(180deg, #111827 0%, #0f172a 100%) !important;
}

html[data-theme="dark"] .sidebar .brand-box,
html[data-theme="dark"] .app-sidebar .brand-box,
html[data-theme="dark"] .sidebar-brand,
html[data-theme="dark"] .app-brand,
html[data-theme="dark"] .logo-box,
html[data-theme="dark"] .nav-group,
html[data-theme="dark"] .sidebar .nav-group,
html[data-theme="dark"] .app-sidebar .nav-group,
html[data-theme="dark"] .menu-group,
html[data-theme="dark"] .sidebar details,
html[data-theme="dark"] .app-sidebar details {
    background: rgba(255,255,255,.045) !important;
    border-color: var(--side-border) !important;
}

html[data-theme="dark"] .nav-group > summary,
html[data-theme="dark"] .sidebar details > summary,
html[data-theme="dark"] .app-sidebar details > summary {
    color: var(--side-text) !important;
}

html[data-theme="dark"] .nav-group a,
html[data-theme="dark"] .sidebar details a,
html[data-theme="dark"] .app-sidebar details a,
html[data-theme="dark"] .sidebar .menu-link,
html[data-theme="dark"] .app-sidebar .menu-link,
html[data-theme="dark"] .sidebar .nav-link,
html[data-theme="dark"] .app-sidebar .nav-link {
    color: #d8dee8 !important;
}

html[data-theme="dark"] .sidebar i,
html[data-theme="dark"] .app-sidebar i,
html[data-theme="dark"] .nav-group i,
html[data-theme="dark"] .menu-group i {
    color: #dbe7f3 !important;
}

/* Mobile / narrow sidebar consistency */
@media (max-width: 768px) {
    .sidebar,
    .app-sidebar,
    aside.sidebar {
        padding: 12px !important;
    }

    .nav-group > summary,
    .sidebar details > summary,
    .app-sidebar details > summary {
        min-height: 44px !important;
    }

    .nav-group a,
    .sidebar details a,
    .app-sidebar details a {
        min-height: 40px !important;
    }
}

/* =========================================================
   EMERGENCY FIX: Sidebar menu layout reset
   دلیل: پچ قبلی grid باعث شکست متن و نامتقارن شدن منو شد.
   ========================================================= */

.sidebar,
.app-sidebar,
aside.sidebar {
    padding: 16px 14px !important;
}

/* کارت برند */
.sidebar .brand-box,
.app-sidebar .brand-box,
.sidebar-brand,
.app-brand,
.logo-box {
    margin: 2px 0 14px !important;
    padding: 18px 16px !important;
    border-radius: 18px !important;
}

/* گروه‌ها */
.nav-group,
.sidebar .nav-group,
.app-sidebar .nav-group,
.menu-group,
.sidebar details,
.app-sidebar details {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

/* عنوان گروه: برگشت از grid به flex */
.nav-group > summary,
.sidebar .nav-group > summary,
.app-sidebar .nav-group > summary,
.menu-group > summary,
.sidebar details > summary,
.app-sidebar details > summary {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;

    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 16px !important;

    border-radius: 16px !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
}

/* جلوگیری از شکستن کلمه‌ها داخل summary */
.nav-group > summary *,
.sidebar details > summary *,
.app-sidebar details > summary * {
    white-space: nowrap !important;
    line-height: 1.35 !important;
}

/* فلش FontAwesome سمت چپ، بدون خراب کردن متن */
.nav-group > summary .fa-summary-toggle,
.sidebar details > summary .fa-summary-toggle,
.app-sidebar details > summary .fa-summary-toggle,
.nav-group > summary .fa-angle-down,
.sidebar details > summary .fa-angle-down,
.app-sidebar details > summary .fa-angle-down {
    margin: 0 !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    font-size: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #16324a !important;
    opacity: .9 !important;
}

/* لینک‌های داخل گروه: برگشت از grid به flex */
.nav-group a,
.sidebar .nav-group a,
.app-sidebar .nav-group a,
.menu-group a,
.sidebar details a,
.app-sidebar details a,
.sidebar .menu-link,
.app-sidebar .menu-link,
.sidebar .nav-link,
.app-sidebar .nav-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;

    width: auto !important;
    min-height: 38px !important;
    margin: 4px 8px !important;
    padding: 0 13px !important;

    border-radius: 11px !important;
    font-size: 12.5px !important;
    font-weight: 760 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

/* آیکن‌ها هم‌قد متن، نه داخل شکم متن */
.nav-group a i,
.sidebar .nav-group a i,
.app-sidebar .nav-group a i,
.menu-group a i,
.sidebar details a i,
.app-sidebar details a i,
.sidebar .menu-link i,
.app-sidebar .menu-link i,
.sidebar .nav-link i,
.app-sidebar .nav-link i,
.sidebar i,
.app-sidebar i {
    width: 17px !important;
    min-width: 17px !important;
    height: 17px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13.5px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transform: none !important;
}

/* متن لینک‌ها */
.nav-group a span,
.sidebar .nav-group a span,
.app-sidebar .nav-group a span,
.menu-group a span,
.sidebar details a span,
.app-sidebar details a span,
.sidebar .menu-link span,
.app-sidebar .menu-link span,
.sidebar .nav-link span,
.app-sidebar .nav-link span {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Active خوانا و متقارن */
.nav-group a.active,
.nav-group a.selected,
.nav-group a.is-active,
.sidebar .nav-group a.active,
.sidebar .nav-group a.selected,
.sidebar .nav-group a.is-active,
.app-sidebar .nav-group a.active,
.app-sidebar .nav-group a.selected,
.app-sidebar .nav-group a.is-active,
.menu-group a.active,
.menu-group a.selected,
.menu-group a.is-active,
.sidebar details a.active,
.sidebar details a.selected,
.sidebar details a.is-active,
.app-sidebar details a.active,
.app-sidebar details a.selected,
.app-sidebar details a.is-active,
.sidebar .menu-link.active,
.sidebar .menu-link.selected,
.sidebar .menu-link.is-active,
.app-sidebar .menu-link.active,
.app-sidebar .menu-link.selected,
.app-sidebar .menu-link.is-active,
.sidebar .nav-link.active,
.sidebar .nav-link.selected,
.sidebar .nav-link.is-active,
.app-sidebar .nav-link.active,
.app-sidebar .nav-link.selected,
.app-sidebar .nav-link.is-active {
    background: #91a678 !important;
    color: #fff !important;
    border-color: rgba(83, 105, 63, .22) !important;
    box-shadow: 0 12px 24px rgba(83, 105, 63, .14) !important;
    font-weight: 850 !important;
}

.nav-group a.active *,
.nav-group a.selected *,
.nav-group a.is-active *,
.sidebar .nav-group a.active *,
.sidebar .nav-group a.selected *,
.sidebar .nav-group a.is-active *,
.app-sidebar .nav-group a.active *,
.app-sidebar .nav-group a.selected *,
.app-sidebar .nav-group a.is-active *,
.menu-group a.active *,
.menu-group a.selected *,
.menu-group a.is-active * {
    color: #fff !important;
    opacity: 1 !important;
}

/* Hover ملایم */
.nav-group a:hover,
.sidebar .nav-group a:hover,
.app-sidebar .nav-group a:hover,
.menu-group a:hover,
.sidebar details a:hover,
.app-sidebar details a:hover,
.sidebar .menu-link:hover,
.app-sidebar .menu-link:hover,
.sidebar .nav-link:hover,
.app-sidebar .nav-link:hover {
    background: rgba(238, 245, 232, .72) !important;
    color: #172033 !important;
}

/* Dark */
html[data-theme="dark"] .nav-group > summary,
html[data-theme="dark"] .sidebar details > summary,
html[data-theme="dark"] .app-sidebar details > summary {
    color: #f8fafc !important;
}

html[data-theme="dark"] .nav-group a,
html[data-theme="dark"] .sidebar details a,
html[data-theme="dark"] .app-sidebar details a,
html[data-theme="dark"] .sidebar .menu-link,
html[data-theme="dark"] .app-sidebar .menu-link,
html[data-theme="dark"] .sidebar .nav-link,
html[data-theme="dark"] .app-sidebar .nav-link {
    color: #d8dee8 !important;
}

html[data-theme="dark"] .nav-group a.active,
html[data-theme="dark"] .nav-group a.selected,
html[data-theme="dark"] .nav-group a.is-active,
html[data-theme="dark"] .sidebar details a.active,
html[data-theme="dark"] .sidebar details a.selected,
html[data-theme="dark"] .sidebar details a.is-active {
    background: #7f9565 !important;
    color: #fff !important;
}
