/* ---------------- منوی کناری: شیشه‌ای، رنگ هر ماژول، تم‌ها، حالت جمع (templates/base.html + static/sidebar.js) */
:root { interpolate-size: allow-keywords; }

/* تم‌های منو: رنگ پس‌زمینه، دو هاله‌ی نور، متن و شیشه */
.sidebar {
  --sb-bg: linear-gradient(180deg, #0c1b36 0%, #071226 100%);
  --sb-a1: rgba(47, 125, 225, .38); --sb-a2: rgba(140, 198, 63, .18);
  --sb-ink: #c7d3ea; --sb-hi: #fff; --sb-muted: #7486ab; --sb-line: rgba(255, 255, 255, .07);
  --sb-glass: rgba(255, 255, 255, .055); --sb-edge: rgba(255, 255, 255, .1); --sb-shine: rgba(255, 255, 255, .09);
  --sb-btn: linear-gradient(135deg, #2f7de1 0%, #3fa0c8 55%, #8cc63f 100%); --sb-acc: #5fb0ff;
  background: var(--sb-bg); color: var(--sb-ink); padding: 14px 12px 12px; overflow: hidden; isolation: isolate;
  border-left: 1px solid var(--sb-line); box-shadow: inset 1px 0 0 rgba(255, 255, 255, .03);
}
[data-sb-theme="ocean"] .sidebar { --sb-bg: linear-gradient(180deg, #072b36 0%, #04151d 100%); --sb-a1: rgba(20, 184, 166, .36); --sb-a2: rgba(56, 189, 248, .22);
  --sb-ink: #c3e2e6; --sb-muted: #6c9aa3; --sb-btn: linear-gradient(135deg, #0ea5e9, #14b8a6); --sb-acc: #5eead4; }
[data-sb-theme="forest"] .sidebar { --sb-bg: linear-gradient(180deg, #0f2717 0%, #06130b 100%); --sb-a1: rgba(140, 198, 63, .3); --sb-a2: rgba(16, 185, 129, .22);
  --sb-ink: #cfe5cf; --sb-muted: #7c9c80; --sb-btn: linear-gradient(135deg, #22a35a, #8cc63f); --sb-acc: #b5e46a; }
[data-sb-theme="plum"] .sidebar { --sb-bg: linear-gradient(180deg, #211138 0%, #0f0820 100%); --sb-a1: rgba(168, 85, 247, .4); --sb-a2: rgba(236, 72, 153, .22);
  --sb-ink: #ddd0f0; --sb-muted: #9583b3; --sb-btn: linear-gradient(135deg, #8b5cf6, #ec4899); --sb-acc: #d8b4fe; }
[data-sb-theme="ember"] .sidebar { --sb-bg: linear-gradient(180deg, #2b1709 0%, #130a04 100%); --sb-a1: rgba(245, 158, 11, .32); --sb-a2: rgba(239, 68, 68, .2);
  --sb-ink: #f0dcc6; --sb-muted: #a88a6c; --sb-btn: linear-gradient(135deg, #f59e0b, #ef4444); --sb-acc: #fcd34d; }
[data-sb-theme="graphite"] .sidebar { --sb-bg: linear-gradient(180deg, #1b1e24 0%, #0d0f12 100%); --sb-a1: rgba(148, 163, 184, .16); --sb-a2: rgba(99, 102, 241, .14);
  --sb-ink: #d4d8df; --sb-muted: #828a97; --sb-btn: linear-gradient(135deg, #475569, #6366f1); --sb-acc: #a5b4fc; }
[data-sb-theme="frost"] .sidebar { --sb-bg: linear-gradient(180deg, #ffffff 0%, #eef3fb 100%); --sb-a1: rgba(47, 125, 225, .16); --sb-a2: rgba(140, 198, 63, .16);
  --sb-ink: #33415c; --sb-hi: #0b1630; --sb-muted: #8592a8; --sb-line: rgba(11, 22, 48, .08);
  --sb-glass: rgba(11, 22, 48, .045); --sb-edge: rgba(11, 22, 48, .08); --sb-shine: rgba(255, 255, 255, .7); --sb-acc: #2f7de1; }

/* هاله‌های نور آهسته پشت شیشه */
.sb-aura { position: absolute; inset: -20% -40%; z-index: -1; pointer-events: none;
  background: radial-gradient(40% 30% at 85% 10%, var(--sb-a1), transparent 70%),
              radial-gradient(45% 30% at 15% 95%, var(--sb-a2), transparent 70%),
              radial-gradient(1px 1px at 1px 1px, rgba(255, 255, 255, .05) 1px, transparent 0) 0 0 / 18px 18px;
  animation: sbAura 22s ease-in-out infinite alternate; }
@keyframes sbAura { to { transform: translate3d(6%, 8%, 0) rotate(8deg); } }
[data-sb-theme="frost"] .sb-aura { background: radial-gradient(40% 30% at 85% 10%, var(--sb-a1), transparent 70%),
                                                radial-gradient(45% 30% at 15% 95%, var(--sb-a2), transparent 70%); }

/* رنگ ماژول‌ها: --c رنگ اصلی، --c2 سر دیگر گرادیان */
[data-tone="blue"] { --tc: #3b82f6; --tc2: #60a5fa; }
[data-tone="violet"] { --tc: #8b5cf6; --tc2: #c084fc; }
[data-tone="cyan"] { --tc: #0891b2; --tc2: #22d3ee; }
[data-tone="rose"] { --tc: #e11d48; --tc2: #fb7185; }
[data-tone="amber"] { --tc: #d97706; --tc2: #fbbf24; }
[data-tone="green"] { --tc: #16a34a; --tc2: #84cc16; }
[data-tone="teal"] { --tc: #0d9488; --tc2: #2dd4bf; }
[data-tone="indigo"] { --tc: #4f46e5; --tc2: #818cf8; }
[data-tone="orange"] { --tc: #ea580c; --tc2: #fb923c; }
[data-tone="slate"] { --tc: #475569; --tc2: #94a3b8; }
[data-tone="fuchsia"] { --tc: #c026d3; --tc2: #e879f9; }
[data-tone="red"] { --tc: #dc2626; --tc2: #f87171; }

/* ---- سر منو: نشان + ابزارها */
.sb-head { position: relative; display: flex; align-items: center; gap: 6px; padding: 2px 4px 12px; }
.sidebar .brand { display: flex; align-items: center; gap: 10px; color: var(--sb-hi); flex: 1; min-width: 0; }
.sidebar .brand img { width: 32px; height: 38px; transition: transform .6s var(--k-ease); filter: drop-shadow(0 4px 10px rgba(47, 125, 225, .35)); }
.sidebar .brand:hover img { transform: rotate(-8deg) scale(1.08); }
.sidebar .brand b { font-size: 1.05rem; display: block; line-height: 1.2; }
.sidebar .brand small { color: var(--sb-muted); font-size: .72rem; }
.sb-tools { display: flex; gap: 4px; }
.sb-tool { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; font-size: .72rem; padding: 0;
  color: var(--sb-muted); background: var(--sb-glass); border: 1px solid var(--sb-edge); transition: all .2s var(--k-ease); }
.sb-tool:hover, .sb-tool[aria-expanded="true"] { color: var(--sb-hi); border-color: var(--sb-acc); transform: translateY(-1px); }
.sb-pin i { transition: transform .35s var(--k-ease); }
.sb-pin { display: none; }
@media (min-width: 992px) { .sb-pin { display: grid; } }

/* انتخاب رنگ منو */
.sb-themes { position: absolute; top: calc(100% - 6px); inset-inline: 0; z-index: 5; padding: 10px; border-radius: 14px;
  background: rgba(15, 23, 42, .82); backdrop-filter: blur(16px) saturate(1.4); border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .4); animation: sbPop .25s var(--k-ease); }
.sb-themes-t { font-size: .72rem; color: #9fb0cf; margin-bottom: 8px; }
.sb-swatches { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px 4px; }
.sw { border: 0; background: none; padding: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; color: #c7d3ea; }
.sw span { width: 30px; height: 30px; border-radius: 50%; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 0 0 2px rgba(255, 255, 255, .08);
  transition: transform .2s var(--k-ease), box-shadow .2s; }
.sw small { font-size: .64rem; }
.sw:hover span { transform: scale(1.12); }
.sw.on span { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 0 0 2px #0f172a, 0 0 0 4px #fff; }
.sw-night span { background: linear-gradient(135deg, #0c1b36 40%, #2f7de1); }
.sw-ocean span { background: linear-gradient(135deg, #072b36 40%, #14b8a6); }
.sw-forest span { background: linear-gradient(135deg, #0f2717 40%, #8cc63f); }
.sw-plum span { background: linear-gradient(135deg, #211138 40%, #a855f7); }
.sw-ember span { background: linear-gradient(135deg, #2b1709 40%, #f59e0b); }
.sw-graphite span { background: linear-gradient(135deg, #1b1e24 40%, #94a3b8); }
.sw-frost span { background: linear-gradient(135deg, #fff 40%, #bcd3f5); }
@keyframes sbPop { from { opacity: 0; transform: translateY(-6px) scale(.97); } }

/* ---- دکمه‌ی اصلی: شیشه‌ی براق با درخشش رونده */
.sidebar .new-btn { position: relative; display: flex; align-items: center; gap: 10px; margin: 0 2px 10px; padding: 10px 14px; overflow: hidden;
  border-radius: 13px; color: #fff; font-weight: 700; font-size: .88rem;
  background: linear-gradient(135deg, #22d3ee, #0891b2);         /* رنگ «بازاریابی و فروش»: میانبر همان گروه */
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 10px 24px -8px rgba(8, 145, 178, .65); transition: transform .25s var(--k-ease), box-shadow .25s; }
.sidebar .new-btn::before { content: ""; position: absolute; inset: 0 0 50% 0; background: linear-gradient(180deg, rgba(255, 255, 255, .22), transparent); pointer-events: none; }
.sidebar .new-btn::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; right: -60%; transform: skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent); transition: right .7s var(--k-ease); }
.sidebar .new-btn:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 16px 30px -10px rgba(8, 145, 178, .8); }
.sidebar .new-btn:hover::after { right: 130%; }
.sidebar .new-btn i { font-size: 1rem; }
.sidebar .new-btn kbd { margin-inline-start: auto; font-size: .62rem; padding: 1px 6px; border-radius: 5px; background: rgba(255, 255, 255, .22); color: #fff; box-shadow: none; }

/* ---- پیدا کردن در منو */
.sb-find { position: relative; display: block; margin: 0 2px 8px; }
.sb-find i { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); font-size: .75rem; color: var(--sb-muted); }
.sb-find input { width: 100%; padding: 7px 32px 7px 30px; border-radius: 11px; font-size: .8rem; color: var(--sb-hi);
  background: var(--sb-glass); border: 1px solid var(--sb-edge); outline: none; transition: border-color .2s, box-shadow .2s; }
.sb-find input::placeholder { color: var(--sb-muted); }
.sb-find input:focus { border-color: var(--sb-acc); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sb-acc) 22%, transparent); }
.sb-find input::-webkit-search-cancel-button { display: none; }
.sb-find kbd { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); font-size: .62rem; padding: 0 6px;
  background: var(--sb-glass); color: var(--sb-muted); border: 1px solid var(--sb-edge); box-shadow: none; }
.sb-find input:focus ~ kbd, .sb-find input:not(:placeholder-shown) ~ kbd { display: none; }

/* ---- فهرست */
.sidebar nav { flex: 1; overflow-y: auto; overflow-x: hidden; margin: 0 -6px; padding: 0 6px 6px;
  scrollbar-width: thin; scrollbar-color: var(--sb-edge) transparent;
  mask-image: linear-gradient(180deg, transparent 0, #000 10px, #000 calc(100% - 14px), transparent 100%); }
.sidebar nav::-webkit-scrollbar { width: 5px; }
.sidebar nav::-webkit-scrollbar-thumb { background: var(--sb-edge); border-radius: 6px; }
.sb-sec { display: flex; align-items: center; gap: 8px; padding: 12px 10px 4px; font-size: .66rem; font-weight: 700; color: var(--sb-muted); letter-spacing: .02em; }
.sb-sec::after { content: ""; flex: 1; height: 1px; background: linear-gradient(to left, var(--sb-line), transparent); }
.sidebar nav > .sb-sec:first-child { padding-top: 4px; }

.sidebar nav a, .sidebar .nav-group summary {
  position: relative; display: flex; align-items: center; gap: 11px; padding: 6px 8px; margin: 2px 0;
  color: var(--sb-ink); border-radius: 12px; font-size: .87rem; border: 1px solid transparent;
  transition: background .25s, color .2s, border-color .25s, transform .25s var(--k-ease), box-shadow .25s; }
.sidebar nav a:hover, .sidebar .nav-group summary:hover {
  color: var(--sb-hi); border-color: var(--sb-edge); transform: translateX(-2px);
  background: radial-gradient(140px circle at var(--mx, 50%) var(--my, 50%), var(--sb-shine), transparent 70%), var(--sb-glass); }

/* کاشی آیکن: کم‌رنگ در حالت عادی، گرادیان شیشه‌ای براق روی موس و صفحه‌ی فعال */
.sidebar .ni { position: relative; flex: none; width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; overflow: hidden;
  font-size: .88rem; color: color-mix(in srgb, var(--tc, #5fb0ff) 55%, #fff);
  background: color-mix(in srgb, var(--tc, #5fb0ff) 20%, transparent); border: 1px solid color-mix(in srgb, var(--tc, #5fb0ff) 28%, transparent);
  transition: transform .35s var(--k-ease), background .3s, color .3s, box-shadow .3s; }
[data-sb-theme="frost"] .sidebar .ni { color: var(--tc); background: color-mix(in srgb, var(--tc) 12%, transparent); }
.sidebar .ni::after { content: ""; position: absolute; inset: 0 0 52% 0; background: linear-gradient(180deg, rgba(255, 255, 255, .28), transparent);
  opacity: 0; transition: opacity .3s; }
.sidebar nav a:hover .ni, .sidebar .nav-group summary:hover .ni, .sidebar nav a.active .ni, .sidebar .nav-group[open] > summary .ni {
  color: #fff; background: linear-gradient(135deg, var(--tc2), var(--tc)); border-color: transparent;
  box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--tc) 70%, transparent); }
.sidebar nav a:hover .ni::after, .sidebar nav a.active .ni::after, .sidebar .nav-group[open] > summary .ni::after { opacity: 1; }
.sidebar nav a:hover .ni, .sidebar .nav-group summary:hover .ni { transform: scale(1.07) rotate(-5deg); }

/* صفحه‌ی فعال: ردیف شیشه‌ای رنگی + نوار درخشان کنار */
.sidebar nav > a.active {
  color: var(--sb-hi); font-weight: 700; border-color: color-mix(in srgb, var(--tc) 35%, transparent);
  background: linear-gradient(to left, color-mix(in srgb, var(--tc) 26%, transparent), color-mix(in srgb, var(--tc) 6%, transparent));
  box-shadow: inset 0 1px 0 var(--sb-shine), 0 10px 24px -14px var(--tc); }
.sidebar nav > a.active::before { content: ""; position: absolute; right: -7px; top: 10px; bottom: 10px; width: 3px; border-radius: 3px 0 0 3px;
  background: var(--tc2); box-shadow: 0 0 10px var(--tc2), 0 0 2px var(--tc2); animation: sbBar .5s var(--k-ease); }
@keyframes sbBar { from { transform: scaleY(0); } }

.sidebar nav .count { margin-inline-start: auto; font-size: .66rem; font-weight: 700; color: #fff; border-radius: 99px; padding: 1px 8px; line-height: 1.6;
  background: linear-gradient(135deg, var(--tc2, #5fb0ff), var(--tc, #2f7de1)); box-shadow: 0 2px 8px -2px var(--tc, #2f7de1); }
.sidebar nav .count.late { background: linear-gradient(135deg, #f87171, #dc2626); animation: sbPulse 2s infinite; }
.sidebar nav .count.muted { background: var(--sb-glass); color: var(--sb-ink); box-shadow: none; border: 1px solid var(--sb-edge); }
@keyframes sbPulse { 0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, .6); } 70% { box-shadow: 0 0 0 7px rgba(239, 68, 68, 0); } 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); } }

/* ---- گروه‌های جمع‌شونده: باز و بسته شدن نرم */
.sidebar .nav-group { margin: 2px 0; border-radius: 13px; transition: background .3s; }
.sidebar .nav-group[open] { background: linear-gradient(180deg, color-mix(in srgb, var(--tc) 10%, transparent), transparent 85%); }
.sidebar .nav-group summary { cursor: pointer; list-style: none; user-select: none; }
.sidebar .nav-group summary::-webkit-details-marker { display: none; }
.sidebar .nav-group summary::after { content: "\f104"; font: var(--fa-font-solid); font-size: .66rem; margin-inline-start: auto; color: var(--sb-muted);
  transition: transform .3s var(--k-ease), color .2s; }
.sidebar .nav-group[open] > summary { color: var(--sb-hi); font-weight: 700; }
.sidebar .nav-group[open] > summary::after { transform: rotate(-90deg); color: var(--tc2); }
.sidebar .nav-group::details-content { block-size: 0; overflow: hidden; transition: block-size .35s var(--k-ease), content-visibility .35s allow-discrete; }
.sidebar .nav-group[open]::details-content { block-size: auto; }
.sidebar .ng-body { position: relative; padding: 2px 0 6px; }
.sidebar .ng-body::before { content: ""; position: absolute; right: 23px; top: 2px; bottom: 10px; width: 1px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--tc) 60%, transparent), transparent); }
.sidebar .ng-body > a { padding: 6px 10px; padding-inline-start: 40px; margin: 1px 0; font-size: .82rem; color: var(--sb-ink); opacity: .9; }
.sidebar .ng-body > a .si { width: 16px; text-align: center; font-size: .78rem; color: color-mix(in srgb, var(--tc) 50%, var(--sb-muted)); transition: color .2s, transform .3s var(--k-ease); }
.sidebar .ng-body > a:hover { opacity: 1; }
.sidebar .ng-body > a:hover .si { color: var(--tc2); transform: scale(1.15); }
.sidebar .ng-body > a.active { opacity: 1; color: var(--sb-hi); font-weight: 700; background: color-mix(in srgb, var(--tc) 18%, transparent);
  border-color: color-mix(in srgb, var(--tc) 30%, transparent); }
.sidebar .ng-body > a.active .si { color: var(--tc2); }
.sidebar .nav-group[open] .ng-body > a { animation: sbIn .35s var(--k-ease) backwards; }
.sidebar .nav-group[open] .ng-body > a:nth-child(2) { animation-delay: .04s; }
.sidebar .nav-group[open] .ng-body > a:nth-child(3) { animation-delay: .08s; }
.sidebar .nav-group[open] .ng-body > a:nth-child(4) { animation-delay: .12s; }
.sidebar .nav-group[open] .ng-body > a:nth-child(5) { animation-delay: .16s; }
.sidebar .nav-group[open] .ng-body > a:nth-child(6) { animation-delay: .2s; }
@keyframes sbIn { from { opacity: 0; transform: translateX(10px); } }

/* ورود پلکانی بار اول هر نشست */
.sidebar.sb-intro nav > * { animation: sbIn .5s var(--k-ease) backwards; animation-delay: calc(var(--i, 0) * 30ms); }

/* جستجو در منو */
.sidebar nav.finding .sb-sec { display: none; }
.sidebar nav [data-hide] { display: none !important; }
.sidebar nav mark { padding: 0; background: color-mix(in srgb, var(--sb-acc) 35%, transparent); color: inherit; border-radius: 3px; }
.sb-empty { padding: 18px 8px; text-align: center; font-size: .8rem; color: var(--sb-muted); }

/* ---- کارت تنظیمات پایین */
.sidebar .settings-card { position: relative; display: flex; align-items: center; gap: 10px; padding: 9px 10px; margin-top: 8px; border-radius: 14px;
  color: var(--sb-muted); background: var(--sb-glass); border: 1px solid var(--sb-edge); backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 var(--sb-shine); transition: background .25s, border-color .25s, transform .25s var(--k-ease); }
.sidebar .settings-card:hover, .sidebar .settings-card.active { border-color: color-mix(in srgb, var(--sb-acc) 50%, transparent); transform: translateY(-1px);
  background: radial-gradient(160px circle at var(--mx, 50%) var(--my, 50%), var(--sb-shine), transparent 70%), var(--sb-glass); }
.sidebar .settings-card .name { color: var(--sb-hi); font-size: .85rem; font-weight: 700; }
.sidebar .settings-card .role { color: var(--sb-muted); font-size: .7rem; }
.sidebar .settings-card .me-go { color: var(--sb-muted); font-size: .7rem; transition: transform .25s var(--k-ease), color .2s; }
.sidebar .settings-card:hover .me-go { color: var(--sb-acc); transform: translateX(-3px); }
.sidebar .settings-card .sc-gear { position: relative; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; flex: none; overflow: hidden;
  background: var(--sb-btn); color: #fff; font-size: 1rem; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 6px 16px -4px rgba(47, 125, 225, .5); }
.sidebar .settings-card .sc-gear i { transition: transform .8s var(--k-ease); }
.sidebar .settings-card:hover .sc-gear i, .sidebar .settings-card.active .sc-gear i { transform: rotate(120deg); }

/* ---- راهنمای کوچک کنار منو (حالت جمع) */
.sb-tip { position: fixed; z-index: 1100; padding: 5px 10px; border-radius: 8px; font-size: .78rem; white-space: nowrap; pointer-events: none;
  color: #fff; background: rgba(15, 23, 42, .9); backdrop-filter: blur(8px); box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
  transform: translateY(-50%); animation: sbTip .18s var(--k-ease); }
@keyframes sbTip { from { opacity: 0; transform: translate(6px, -50%); } }

/* ---- حالت جمع (فقط آیکن) روی دسکتاپ */
@media (min-width: 992px) {
  [data-sb="mini"] { --sidebar-w: 78px; }
  [data-sb="mini"] .sidebar { padding-inline: 10px; }
  [data-sb="mini"] .sidebar .nl, [data-sb="mini"] .sb-find, [data-sb="mini"] .sb-sec span,
  [data-sb="mini"] .sidebar .count, [data-sb="mini"] .sidebar .nav-group summary::after,
  [data-sb="mini"] .sb-tool[data-sb-themes], [data-sb="mini"] .sb-themes { display: none !important; }
  [data-sb="mini"] .sb-head { flex-direction: column; padding-inline: 0; }
  [data-sb="mini"] .sidebar .brand { flex: none; }
  [data-sb="mini"] .sb-pin i { transform: rotate(180deg); }
  [data-sb="mini"] .sidebar .new-btn { justify-content: center; padding: 10px 0; }
  [data-sb="mini"] .sb-sec { padding: 8px 6px 4px; }
  [data-sb="mini"] .sidebar nav a, [data-sb="mini"] .sidebar .nav-group summary { justify-content: center; padding: 6px 0; }
  [data-sb="mini"] .sidebar nav a:hover, [data-sb="mini"] .sidebar .nav-group summary:hover { transform: none; }
  [data-sb="mini"] .sidebar .ng-body::before { display: none; }
  [data-sb="mini"] .sidebar .ng-body > a { padding: 6px 0; }
  [data-sb="mini"] .sidebar nav > a.active::before { right: -5px; }
  [data-sb="mini"] .sidebar nav a { position: relative; }
  [data-sb="mini"] .sidebar nav a:has(.count)::after { content: ""; position: absolute; top: 4px; left: 12px; width: 8px; height: 8px; border-radius: 50%;
    background: var(--tc2, #5fb0ff); box-shadow: 0 0 0 2px #0c1b36; }
  [data-sb="mini"] .sidebar .settings-card { justify-content: center; padding: 8px 0; }
}

@media (max-width: 991.98px) { .sidebar { width: min(290px, 86vw); } .sidebar kbd { display: none !important; } }

@media (prefers-reduced-motion: reduce) {
  .sidebar *, .sidebar *::before, .sidebar *::after, .sb-aura { animation: none !important; transition: none !important; }
}

/* ---- تم «برند شرکت»: از رنگ نشان یا «رنگ اصلی چاپ» تنظیمات (--brand-c روی html) */
[data-sb-theme="brand"] .sidebar {
  --sb-bg: linear-gradient(180deg, color-mix(in srgb, var(--brand-c, #2f7de1) 16%, #141518) 0%, color-mix(in srgb, var(--brand-c, #2f7de1) 5%, #09090b) 100%);
  --sb-a1: color-mix(in srgb, var(--brand-c, #2f7de1) 40%, transparent); --sb-a2: rgba(255, 255, 255, .06);
  --sb-ink: #e2e2e6; --sb-muted: #9a9aa3;
  --sb-btn: linear-gradient(135deg, color-mix(in srgb, var(--brand-c, #2f7de1) 75%, #fff), var(--brand-c, #2f7de1));
  --sb-acc: color-mix(in srgb, var(--brand-c, #2f7de1) 70%, #fff); }
.sw-brand span { background: linear-gradient(135deg, #18181b 40%, var(--brand-c, #2f7de1)); }

/* ---- آیکن‌های اختصاصی کارتن‌سازی */
.kic { width: 1.1em; height: 1.1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.15em; }
.sidebar .ni .kic { width: 1.15rem; height: 1.15rem; }
.sidebar .ng-body .kic.si { width: 16px; height: 16px; flex: none; }

/* ---- فرآیندها بی‌کار باز: کم‌رنگ تا وقتی کاری برسد */
.sidebar nav > a.quiet { opacity: .62; }
.sidebar nav > a.quiet:hover { opacity: 1; }

/* ---- رنگ ماژول در خود صفحه: کاشی آیکن کنار عنوان، خط رنگی زیر نوار بالا، آیکن سرکارت‌ها */
.page-ico { position: relative; flex: none; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; overflow: hidden;
  color: #fff; font-size: 1rem; background: linear-gradient(135deg, var(--tc2), var(--tc));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 8px 18px -6px color-mix(in srgb, var(--tc) 70%, transparent); animation: sbPop .4s var(--k-ease); }
.page-ico::after { content: ""; position: absolute; inset: 0 0 52% 0; background: linear-gradient(180deg, rgba(255, 255, 255, .25), transparent); }
body[data-tone] .topbar { border-bottom-color: transparent; }
body[data-tone] .topbar::after { content: ""; position: absolute; inset-inline: 0; bottom: -1px; height: 2px;
  background: linear-gradient(to left, var(--tc), color-mix(in srgb, var(--tc2) 50%, transparent) 40%, var(--line) 75%); }
body[data-tone] .card-header .ico:not(.g):not(.o):not(.v) { background: color-mix(in srgb, var(--tc) 13%, transparent); color: var(--tc); }
[data-bs-theme="dark"] body[data-tone] .card-header .ico:not(.g):not(.o):not(.v) { color: var(--tc2); }
@media (max-width: 640px) { .page-ico { display: none; } }

/* ---- نوار پایین موبایل */
.bnav { display: none; }
@media (max-width: 991.98px) {
  .bnav { position: fixed; z-index: 1030; inset-inline: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); display: flex; align-items: center;
    justify-content: space-around; height: 62px; padding: 0 6px; border-radius: 20px;
    background: color-mix(in srgb, var(--surface) 78%, transparent); backdrop-filter: blur(18px) saturate(1.6);
    border: 1px solid var(--line); box-shadow: 0 12px 34px rgba(11, 22, 48, .18); }
  .bnav a, .bnav button { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 0;
    border: 0; background: none; color: var(--muted); font-size: .66rem; text-decoration: none; transition: color .2s; }
  .bnav a i, .bnav button i { font-size: 1.1rem; transition: transform .3s var(--k-ease); }
  .bnav a.active { color: var(--tc); font-weight: 700; }
  [data-bs-theme="dark"] .bnav a.active { color: var(--tc2); }
  .bnav a.active i { transform: translateY(-2px); }
  .bnav a.active::after { content: ""; position: absolute; bottom: 0; width: 18px; height: 3px; border-radius: 3px; background: currentColor; }
  .bnav .bn-fab { flex: none; width: 52px; height: 52px; margin-top: -26px; border-radius: 18px; justify-content: center; color: #fff;
    background: var(--k-grad); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 10px 22px -6px rgba(47, 125, 225, .7); }
  .bnav .bn-fab i { font-size: 1.3rem; }
  .bnav .bn-fab:active { transform: scale(.94); }
  .bnav .bn-n { position: absolute; top: 2px; left: calc(50% - 20px); min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px;
    font-size: .62rem; line-height: 17px; text-align: center; color: #fff; background: var(--k-blue); }
  .bnav .bn-n.late { background: #e5484d; }
  body:has(.bnav) .content { padding-bottom: 96px; }
  body:has(.bnav) .toasts { bottom: 86px; }
  body.nav-open .bnav { opacity: 0; pointer-events: none; }
}
@media print { .bnav, .page-ico { display: none !important; } }
