/* ==========================================================================
   پوسته شیشه‌ای پنل + تم روشن و تیره
   --------------------------------------------------------------------------
   این فایل بعد از app.css (خروجی Tailwind) بارگذاری می‌شود و build لازم ندارد.
   تم با ویژگی data-theme روی <html> عوض می‌شود: "light" یا "dark".
   (اسکریپت کوچک داخل <head> آن را قبل از نمایش صفحه از localStorage یا تم سیستم می‌خواند
   و static/js/theme.js دکمه‌های [data-theme-toggle] را راه می‌اندازد.)

   رنگ‌ها فقط از متغیرهای پایین خوانده می‌شوند؛ برای تغییر ظاهر کافی است همین‌ها را عوض کنید.
   ========================================================================== */

:root {
  color-scheme: light;
  --page: linear-gradient(135deg, #E2F1EA 0%, #F2F6F2 48%, #FFF2DA 100%);
  --page-solid: #EEF4F1;
  --blob-1: rgba(45, 138, 120, .34);
  --blob-2: rgba(240, 199, 102, .46);
  --blob-3: rgba(201, 80, 91, .16);

  --glass: rgba(255, 255, 255, .6);
  --glass-hi: rgba(255, 255, 255, .8);
  --glass-solid: rgba(255, 255, 255, .97);
  --glass-border: rgba(255, 255, 255, .85);
  --surface: rgba(255, 255, 255, .66);
  --surface-2: rgba(21, 33, 31, .035);
  --surface-3: rgba(21, 33, 31, .065);
  --line: rgba(21, 33, 31, .09);
  --line-strong: rgba(21, 33, 31, .17);

  --text: #15211F;
  --text-soft: #3D4A47;
  --muted: #66736F;
  --faint: #8A9692;

  --hover: rgba(31, 115, 99, .07);
  --accent: #1F7363;
  --accent-strong: #175D51;
  --accent-soft: rgba(31, 115, 99, .12);
  --accent-text: #124A41;
  --btn-grad: linear-gradient(135deg, #175D51, #2D8A78);
  --btn-glow: 0 10px 24px -12px rgba(23, 93, 81, .7);

  --input: rgba(255, 255, 255, .78);
  --input-border: rgba(21, 33, 31, .12);

  --shadow: 0 1px 1px rgba(13, 56, 50, .03), 0 14px 38px -16px rgba(13, 56, 50, .2);
  --shadow-lg: 0 28px 64px -20px rgba(13, 56, 50, .38);
  --backdrop: rgba(8, 38, 34, .4);

  --side: rgba(255, 255, 255, .52);
  --side-border: rgba(255, 255, 255, .85);
  --side-text: #3D4A47;
  --side-title: #15211F;
  --side-sub: #66736F;
  --side-hover: rgba(255, 255, 255, .6);
  --side-active: rgba(255, 255, 255, .95);
  --side-active-text: #15211F;
  --side-icon-active: #1F7363;
  --side-line: rgba(21, 33, 31, .08);
  --side-shadow: 0 6px 18px -8px rgba(13, 56, 50, .25);

  /* رنگ برچسب‌ها: g سبز، a زعفرانی، r اناری، b آبی، n خنثی */
  --g-bg: #DCEBE5; --g-tx: #175D51;
  --a-bg: #FBEDCB; --a-tx: #8A5E06;
  --r-bg: #F7DCDF; --r-tx: #8F2B36;
  --b-bg: #E0EAFB; --b-tx: #2F5BB7;
  --n-bg: rgba(21, 33, 31, .07); --n-tx: #3D4A47;
  --tip: #0D3832;
}

[data-theme="dark"] {
  color-scheme: dark;
  --page: linear-gradient(140deg, #03100D 0%, #072420 52%, #0E3B34 100%);
  --page-solid: #061A17;
  --blob-1: rgba(45, 138, 120, .42);
  --blob-2: rgba(217, 154, 30, .2);
  --blob-3: rgba(201, 80, 91, .16);

  --glass: rgba(255, 255, 255, .055);
  --glass-hi: rgba(255, 255, 255, .09);
  --glass-solid: rgba(11, 35, 31, .97);
  --glass-border: rgba(255, 255, 255, .1);
  --surface: rgba(255, 255, 255, .05);
  --surface-2: rgba(255, 255, 255, .035);
  --surface-3: rgba(255, 255, 255, .075);
  --line: rgba(255, 255, 255, .09);
  --line-strong: rgba(255, 255, 255, .18);

  --text: #E8F1EE;
  --text-soft: #C3D5CF;
  --muted: #8FAAA2;
  --faint: #6F8C85;

  --hover: rgba(255, 255, 255, .06);
  --accent: #3FB59B;
  --accent-strong: #2D8A78;
  --accent-soft: rgba(63, 181, 155, .16);
  --accent-text: #8FE3CC;
  --btn-grad: linear-gradient(135deg, #1F7363, #2D9C85);
  --btn-glow: 0 10px 26px -12px rgba(63, 181, 155, .55);

  --input: rgba(255, 255, 255, .05);
  --input-border: rgba(255, 255, 255, .13);

  --shadow: 0 18px 42px -20px rgba(0, 0, 0, .65);
  --shadow-lg: 0 30px 70px -20px rgba(0, 0, 0, .8);
  --backdrop: rgba(1, 10, 8, .62);

  --side: rgba(5, 24, 21, .6);
  --side-border: rgba(255, 255, 255, .08);
  --side-text: #A9C7BE;
  --side-title: #FFFFFF;
  --side-sub: #7FA197;
  --side-hover: rgba(255, 255, 255, .05);
  --side-active: rgba(63, 181, 155, .16);
  --side-active-text: #FFFFFF;
  --side-icon-active: #F0C766;
  --side-line: rgba(255, 255, 255, .08);
  --side-shadow: none;

  --g-bg: rgba(63, 181, 155, .16); --g-tx: #86E0C8;
  --a-bg: rgba(240, 199, 102, .15); --a-tx: #F3CF7A;
  --r-bg: rgba(224, 122, 132, .17); --r-tx: #F4A6AE;
  --b-bg: rgba(127, 168, 240, .17); --b-tx: #AFC8F7;
  --n-bg: rgba(255, 255, 255, .08); --n-tx: #C3D5CF;
  --tip: #1B4A42;
}

/* ---------------------------------------------------------------- زمینه صفحه */
html { min-height: 100%; background: var(--page-solid); background-image: var(--page); background-attachment: fixed; }
body { background: transparent; color: var(--text); }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(40rem 40rem at 88% -8%, var(--blob-1), transparent 68%),
    radial-gradient(34rem 34rem at -4% 46%, var(--blob-2), transparent 68%),
    radial-gradient(32rem 32rem at 58% 108%, var(--blob-3), transparent 70%);
}
:focus-visible { --tw-ring-offset-color: transparent; }
::selection { background: var(--accent-soft); }

/* ---------------------------------------------------------------- سطوح شیشه‌ای
   روی کارت‌های محتوا backdrop-filter نمی‌گذاریم: عناصر position:fixed داخلشان (راهنمای آمار)
   را جابه‌جا می‌کند. زمینه صفحه خودش محو است، پس شفافیت تنها همان حس شیشه را می‌دهد. */
.panel, .kpi, .stat-card, .mgr-card {
  background: var(--glass) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255, 255, 255, .25);
}
.panel { border-radius: 1.4rem; }
.mgr-card { border-top: 4px solid #86BAA8 !important; }
.mgr-card.is-wait { border-top-color: #F0C766 !important; }
.mgr-card.is-late { border-top-color: #C9505B !important; }

/* ---------------------------------------------------------------- کلاس‌های رنگی Tailwind */
.text-ink { color: var(--text); }
.text-ink-soft { color: var(--text-soft); }
.text-ink-muted { color: var(--muted); }
.hover\:text-ink:hover { color: var(--text); }
.border-line { border-color: var(--line); }
.divide-line > :not([hidden]) ~ :not([hidden]), .divide-line\/70 > :not([hidden]) ~ :not([hidden]) { border-color: var(--line); }
.bg-white { background-color: var(--surface); }
.bg-paper { background-color: var(--surface-2); }
.bg-paper\/60, .hover\:bg-paper\/60:hover { background-color: var(--surface-2); }
.hover\:bg-paper:hover { background-color: var(--surface-3); }
.bg-line { background-color: var(--line); }
.hover\:bg-cypress-50:hover, .hover\:bg-cypress-50\/60:hover, .bg-cypress-50\/60, .bg-cypress-50\/50 { background-color: var(--hover); }

[data-theme="dark"] .bg-cypress-50 { background-color: var(--accent-soft); }
[data-theme="dark"] .bg-cypress-100 { background-color: var(--g-bg); }
[data-theme="dark"] .text-cypress-600, [data-theme="dark"] .text-cypress-700, [data-theme="dark"] .text-cypress-800 { color: var(--accent-text); }
[data-theme="dark"] .bg-saffron-50, [data-theme="dark"] .bg-saffron-100 { background-color: var(--a-bg); }
[data-theme="dark"] .text-saffron-600, [data-theme="dark"] .text-saffron-700 { color: var(--a-tx); }
[data-theme="dark"] .border-saffron-100 { border-color: rgba(240, 199, 102, .25); }
[data-theme="dark"] .bg-pome-50, [data-theme="dark"] .bg-pome-100 { background-color: var(--r-bg); }
[data-theme="dark"] .text-pome-700 { color: var(--r-tx); }
[data-theme="dark"] .border-pome-100 { border-color: rgba(224, 122, 132, .28); }
[data-theme="dark"] .bg-cypress-300 { background-color: #2D8A78; }
[data-theme="dark"] .bg-sky-100, [data-theme="dark"] .bg-\[\#E3EEF7\] { background-color: var(--b-bg); }
[data-theme="dark"] .text-sky-800, [data-theme="dark"] .text-\[\#2C5E86\] { color: var(--b-tx); }
[data-theme="dark"] .bg-\[\#E7ECEA\], [data-theme="dark"] .bg-\[\#E9EEEC\] { background-color: var(--n-bg); }
[data-theme="dark"] .bg-\[\#ECE8F6\] { background-color: rgba(167, 146, 230, .17); }
[data-theme="dark"] .text-\[\#5B4A91\] { color: #CBBDF5; }
[data-theme="dark"] .bg-\[\#DFF0EE\] { background-color: var(--g-bg); }
[data-theme="dark"] .text-\[\#1E6B66\] { color: var(--g-tx); }
[data-theme="dark"] .bg-\[\#C9D9E4\] { background-color: #4D6B80; }

/* ---------------------------------------------------------------- سایدبار و نوار بالا */
.side {
  background: var(--side);
  border: 1px solid var(--side-border);
  color: var(--side-text);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  backdrop-filter: blur(24px) saturate(1.5);
  box-shadow: var(--shadow);
}
.side-rail { top: .75rem; bottom: .75rem; right: .75rem; width: 252px; border-radius: 1.6rem; }
.side-bar { border-width: 0 0 1px; border-radius: 0; }
.side-drawer { border-width: 0; border-radius: 1.6rem 0 0 1.6rem; background: var(--glass-solid); }
.side-title { color: var(--side-title); }
.side-sub { color: var(--side-sub); }
.side-divider { border-top: 1px solid var(--side-line); }
.side-hover:hover { background: var(--side-hover); }
.side-current { background: var(--side-active); }
.side .icon-btn { color: var(--side-title); }
.side .icon-btn:hover { background: var(--side-hover); color: var(--side-title); }

.nav-link { color: var(--side-text); border-radius: .9rem; }
.nav-link:hover { background: var(--side-hover); color: var(--side-title); }
.nav-link.active { background: var(--side-active); color: var(--side-active-text); font-weight: 700; box-shadow: var(--side-shadow); }
.nav-link.active > svg { color: var(--side-icon-active); }
.nav-group-head { color: var(--side-sub); }
.nav-group-head:hover { color: var(--side-title); background: var(--side-hover); }
@media (min-width: 1024px) { .app-main { margin-right: 276px; } }
.imp-bar { margin-right: 0; }
@media (min-width: 1024px) { .imp-bar { margin-right: 276px; } }

/* ---------------------------------------------------------------- سوییچ تم */
.theme-toggle {
  display: inline-flex; align-items: center; gap: 2px; padding: 3px; flex-shrink: 0;
  border-radius: 999px; background: var(--surface-3); border: 1px solid var(--line); cursor: pointer;
}
.theme-opt svg { width: 17px; height: 17px; }
.theme-opt { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; color: var(--faint); transition: background .15s, color .15s, box-shadow .15s; }
[data-theme="light"] .theme-opt-light, :root:not([data-theme="dark"]) .theme-opt-light { background: #fff; color: #D99A1E; box-shadow: 0 2px 6px -2px rgba(13, 56, 50, .3); }
[data-theme="dark"] .theme-opt-dark { background: rgba(63, 181, 155, .22); color: #F0C766; }
.theme-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.theme-switching, .theme-switching * { transition: none !important; }

/* ---------------------------------------------------------------- دکمه، فیلد، تب، جدول */
.btn-primary, .btn-approve { background-image: var(--btn-grad); color: #fff; box-shadow: var(--btn-glow); }
.btn-primary:hover, .btn-approve:hover { filter: brightness(1.08); }
.btn-ghost { background: var(--surface); color: var(--text-soft); border-color: var(--line); }
.btn-ghost:hover { background: var(--hover); color: var(--text); }
.btn-danger-ghost { background: var(--surface); }
[data-theme="dark"] .btn-danger-ghost { color: var(--r-tx); border-color: rgba(224, 122, 132, .3); }
[data-theme="dark"] .btn-danger-ghost:hover { background: var(--r-bg); }
.bg-cypress-700.text-white { background-image: var(--btn-grad); }

.field { background: var(--input); border-color: var(--input-border); color: var(--text); }
.field::placeholder { color: var(--faint); opacity: 1; }
.field:focus { border-color: var(--accent); --tw-ring-color: var(--accent-soft); }
select.field option { background: var(--glass-solid); color: var(--text); }
.label { color: var(--text-soft); }
.tab { color: var(--muted); }
.tab:hover { color: var(--text); }
.tab.active { color: var(--accent-text); }
.tab.active::after { background: var(--accent); }
.th { color: var(--muted); }
.icon-btn { color: var(--muted); }
.icon-btn:hover { background: var(--hover); color: var(--text); }

.rtable thead { background: var(--surface-2); }
.rtable tbody tr { border-color: var(--line); }
.rtable tbody tr:hover { background: var(--hover); }
@media (max-width: 767px) { .rtable td[data-label]::before { color: var(--muted); } }

/* برچسب‌ها */
.chip-paid, .badge-green { background: var(--g-bg); color: var(--g-tx); }
.chip-pending, .badge-amber { background: var(--a-bg); color: var(--a-tx); }
.chip-rejected, .badge-red { background: var(--r-bg); color: var(--r-tx); }
.chip-free, .badge-gray { background: var(--n-bg); color: var(--n-tx); }
.badge-blue { background: var(--b-bg); color: var(--b-tx); }
.chip-new, .badge-outline { background: var(--surface); color: var(--muted); border-color: var(--line); }

/* ---------------------------------------------------------------- پنجره‌ها، تقویم، پیام‌ها */
.modal, .chat-float { background: var(--glass-solid); color: var(--text); border: 1px solid var(--glass-border); box-shadow: var(--shadow-lg); }
.modal-head { border-color: var(--line); }
.modal-grip { background: var(--line-strong); }
dialog::backdrop { background: var(--backdrop); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.jdp-pop { background: var(--glass-solid); border-color: var(--line); box-shadow: var(--shadow-lg); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.jdp-head select { background: var(--input); border-color: var(--input-border); color: var(--text); }
.jdp-nav { color: var(--text-soft); }
.jdp-nav:hover, .jdp-day:hover:not(:disabled), .jdp-foot button:hover { background: var(--hover); }
.jdp-dow, .jdp-icon { color: var(--muted); }
.jdp-day { color: var(--text); }
.jdp-day.is-selected { background: var(--accent-strong); color: #fff; }
.jdp-foot { border-color: var(--line); }
.jdp-foot button { color: var(--accent); }
.jdp-backdrop { background: var(--backdrop); }
.toast.bg-white, .toast { -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.toast.bg-white { background: var(--glass-solid); border-color: var(--glass-border); color: var(--text); }
.stars-track, .stars-input label, .stars-input:hover input ~ label { color: var(--line-strong); }
.stars-input input:checked ~ label { color: #D99A1E; }
.stars-input:hover label:hover, .stars-input:hover label:hover ~ label { color: #F0C766; }
.help-btn { background: var(--surface); border-color: var(--line-strong); color: var(--muted); }
.help-btn:hover, .help-tip.open .help-btn { background: var(--accent-soft); border-color: var(--accent); color: var(--text); }
.help-pop { background: var(--tip); box-shadow: var(--shadow-lg); }
.product-link { color: var(--accent); }
.photo-thumb { background: var(--surface-2); }

/* ---------------------------------------------------------------- نمودار داشبورد */
.bar-wrap:hover .bar { background: var(--accent-strong); }
[data-theme="dark"] .bar.bg-cypress-300 { background: rgba(63, 181, 155, .45); }
[data-theme="dark"] .bar.bg-cypress-600 { background: #3FB59B; }
.bar-wrap .tip { background: var(--tip); }

/* ---------------------------------------------------------------- پاسخگویی و چت */
.inbox-sections, .inbox-search, .chat-head { border-color: var(--line); }
.inbox-section { color: var(--muted); }
.inbox-section:hover { background: var(--hover); color: var(--text); }
.inbox-section.active { background: var(--accent-soft); color: var(--accent-text); }
.inbox-unread-toggle, .inbox-preview { color: var(--text-soft); }
.inbox-scroll > ul > li + li { border-color: var(--line); }
.inbox-item:hover { background: var(--hover); }
.inbox-item.active { background: var(--accent-soft); box-shadow: inset -3px 0 0 var(--accent); }
.inbox-time, .inbox-meta, .chat-empty, .msg-meta, .chat-attachment-x { color: var(--muted); }
.chat { background: transparent; }
.chat-log { background: var(--surface-2); }
.chat-warning { background: var(--a-bg); color: var(--a-tx); }
.msg-bubble { background: var(--glass-hi); border-color: var(--line); color: var(--text); }
.msg-out .msg-bubble { background: var(--accent-soft); border-color: transparent; }
.msg-failed .msg-bubble { background: var(--r-bg); border-color: transparent; }
.msg-photo, .msg-video { background: var(--surface-2); }
.msg-failed-label, .chat-error { color: var(--r-tx); }
.chat-composer { background: var(--surface); border-color: var(--line); }
.chat-attachment { background: var(--accent-soft); }
.chat-template-list { background: var(--glass-solid); border-color: var(--line); box-shadow: var(--shadow-lg); }
.chat-template-list button:hover { background: var(--hover); }

/* ---------------------------------------------------------------- اقدامات */
.act-icon { background: var(--g-bg); color: var(--g-tx); }
.act-text { color: var(--text-soft); }
.act-results, .act-results li + li, .act-sub-head { border-color: var(--line); }
.act-pick:hover, .act-pick:focus-visible { background: var(--hover); }
.act-chosen { background: var(--accent-soft); color: var(--accent-text); }

/* ---------------------------------------------------------------- جعبه‌های پیام و منابع */
.info-box { background: var(--accent-soft); border-color: transparent; color: var(--accent-text); }
.warn-box { background: var(--a-bg); border-color: transparent; color: var(--a-tx); }
.err-box, .bc-errors { background: var(--r-bg); border-color: transparent; color: var(--r-tx); }
.format-guide summary, .chart-table summary, .acc-card-hist summary, .call-trail > summary { color: var(--accent); }
.format-table th, .format-table td { border-color: var(--line); }
.format-table th { background: var(--surface-2); }
.day-chip { background: var(--surface); border-color: var(--line); }
.day-chip:hover { border-color: var(--accent); }
.day-chip.active { background: var(--accent-soft); border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.day-chip-c, .subs-list li::before { color: var(--muted); }
.meal-head { background: var(--surface-2); border-color: var(--line); }
.subs-list { color: var(--text-soft); }

/* ---------------------------------------------------------------- آمار و نمودارها */
.kpi-label, .kpi-sub, .chart-tick, .heat th, .heat-legend, .cmp-table thead th, .sale-compare th { color: var(--muted); fill: var(--muted); }
.kpi-value, .hbar-value, .cmp-table tbody th { color: var(--text); }
.hbar-label, .chart-legend { color: var(--text-soft); }
.hbar-track { background: var(--surface-3); }
.hbar-value small { color: var(--muted); }
.chart-grid { stroke: var(--line); }
.chart-base { stroke: var(--line-strong); }
.chart-col:hover .chart-hit { fill: var(--hover); }
.chart-table th, .chart-table td, .cmp-table th, .cmp-table td, .sale-compare th, .sale-compare td { border-color: var(--line); }
.heat td { color: var(--text); }
.heat-0 { background: var(--surface-3); }
.audience-count { background: var(--accent-soft); color: var(--accent-text); }
.chip-filter { background: var(--surface-2); color: var(--text-soft); border-color: var(--line); }
.rx-note { background: var(--surface-2); border-color: var(--line-strong); color: var(--text-soft); }
.btn-row, .live-admin-msg, .live-kind { border-color: var(--line); }

/* ---------------------------------------------------------------- محتوای ربات */
.bc-chip { background: var(--surface); color: var(--text-soft); border-color: var(--line); }
.bc-chip.is-active { background: var(--accent-strong); border-color: var(--accent-strong); color: #fff; }
.bc-key { background: var(--surface-3); color: var(--muted); }
.bc-text { background: var(--surface-2); border-color: var(--line); color: var(--text-soft); }
.bc-text.is-button { background: var(--accent-soft); color: var(--accent-text); }
[data-theme="dark"] .bc-var { background: var(--a-bg); color: var(--a-tx); border-color: transparent; }
[data-theme="dark"] .bc-phone { background: #17302B; }
[data-theme="dark"] .bc-bubble, [data-theme="dark"] .bc-reply-btn, [data-theme="dark"] .bc-command, [data-theme="dark"] .bc-input { background: #22423C; color: var(--text); }
[data-theme="dark"] .bc-inline-btn { background: rgba(255, 255, 255, .1); color: var(--accent-text); }
[data-theme="dark"] .bc-keyboard { background: rgba(255, 255, 255, .05); }
[data-theme="dark"] .bc-bubble code, [data-theme="dark"] .bc-bubble pre { background: rgba(0, 0, 0, .25); }

/* ---------------------------------------------------------------- دکمه‌های کاربر، تماس‌ها */
.user-act, .user-act-icon { background: var(--surface); border-color: var(--line); color: var(--text); }
.user-act:hover, .user-act-icon:hover { background: var(--hover); border-color: var(--accent); }
.user-act.user-act-primary, .user-act-icon.user-act-primary { background: var(--btn-grad); border-color: transparent; color: #fff; }
.call-trail-row td { background: var(--surface-2); }
.call-trail-list { border-color: var(--line); }
.call-trail-time { color: var(--muted); }
.call-trail-log { background: var(--surface-3); }
.call-guide-btn { background: var(--accent-soft); color: var(--accent-text); }
.call-guide-btn:hover, .call-guide-btn:focus-visible { background: var(--g-bg); }

/* ---------------------------------------------------------------- خلاصه وضعیت مدیر */
.mgr-summary { background: var(--line); border-color: var(--glass-border); box-shadow: var(--shadow); }
.mgr-summary-tile { background: var(--glass-hi); }
a.mgr-summary-tile:hover { background: var(--hover); }
.mgr-summary-label, .mgr-summary-head, .mgr-card-num small { color: var(--muted); }
.mgr-summary-num, .mgr-card-title { color: var(--text); }
.mgr-group-title { color: var(--text-soft); }
.mgr-card-num { background: var(--surface-3); }
a.mgr-card-num:hover { background: var(--accent-soft); }
.mgr-periods { background: var(--surface); border-color: var(--line); }
.mgr-periods a { color: var(--text-soft); }
.mgr-periods a.active { background: var(--accent-strong); color: #fff; }
[data-theme="dark"] .mgr-summary-tile.is-wait .mgr-summary-num, [data-theme="dark"] .mgr-card-num.is-wait b { color: #F0C766; }
[data-theme="dark"] .mgr-summary-tile.is-done .mgr-summary-num, [data-theme="dark"] .mgr-card-num.is-done b, [data-theme="dark"] .sale-up { color: #3FB59B; }
[data-theme="dark"] .mgr-summary-tile.is-late .mgr-summary-num, [data-theme="dark"] .mgr-card-num.is-late b, [data-theme="dark"] .mgr-metric.is-bad, [data-theme="dark"] .sale-down { color: #F08A94; }
.mgr-summary-tile.is-zero .mgr-summary-num { color: var(--faint); }

/* ---------------------------------------------------------------- حسابداری */
.acc-lines, .acc-line, .acc-receipt img, .acc-receipt-pdf, .acc-inst-item, .acc-invoice-row { border-color: var(--line); }
.acc-paytype > span { border-color: var(--line-strong); }
.acc-paytype input:checked + span { border-color: var(--accent); background: var(--accent-soft); box-shadow: 0 0 0 1px var(--accent); }
.acc-paytype small, .acc-unit, .acc-dl dt, .acc-inst-amt small { color: var(--muted); }
.acc-total, .acc-sum-row td { background: var(--surface-2); }
.acc-total b { color: var(--accent-text); }
.acc-inst { background: var(--surface-2); border-color: var(--line-strong); }
.acc-inst-n, .acc-inst-due, .acc-card-sum { color: var(--text-soft); }
.acc-bar { background: var(--surface-3); }
.acc-bar span { background: var(--accent); }
.acc-card-items li { border-color: var(--line); }
.acc-receipt img, .acc-receipt-pdf { background: var(--surface-2); }
[data-theme="dark"] .acc-type { background: var(--n-bg); color: var(--n-tx); }
[data-theme="dark"] .acc-type-diet { background: var(--g-bg); color: var(--g-tx); }
[data-theme="dark"] .acc-type-pro { background: var(--a-bg); color: var(--a-tx); }
[data-theme="dark"] .acc-tone-paid, [data-theme="dark"] .acc-chip-paid { background: var(--g-bg); color: var(--g-tx); }
[data-theme="dark"] .acc-tone-unpaid { background: var(--r-bg); color: var(--r-tx); border-color: transparent; }
[data-theme="dark"] .acc-tone-due, [data-theme="dark"] .acc-chip-due { background: var(--a-bg); color: var(--a-tx); border-color: transparent; }
[data-theme="dark"] .acc-tone-upcoming, [data-theme="dark"] .acc-chip-upcoming, [data-theme="dark"] .acc-tone-cancelled, [data-theme="dark"] .acc-chip-cancelled { background: var(--n-bg); color: var(--muted); }
[data-theme="dark"] tr.acc-row-overdue td, [data-theme="dark"] li.acc-row-overdue, [data-theme="dark"] tr.acc-row-unpaid td, [data-theme="dark"] li.acc-row-unpaid { background: rgba(224, 122, 132, .08); }
[data-theme="dark"] tr.acc-row-due td, [data-theme="dark"] li.acc-row-due { background: rgba(240, 199, 102, .07); }

/* ---------------------------------------------------------------- صفحه ورود */
.login-wrap { min-height: 100vh; max-width: 1240px; margin: 0 auto; padding: 2rem 1.25rem; display: grid; gap: 3rem; align-items: center; }
.login-hero { display: none; }
.login-title { font-size: 52px; line-height: 1.3; font-weight: 800; margin-top: 1.75rem; }
.login-lead { margin-top: 1.25rem; max-width: 32rem; font-size: 16px; line-height: 2; color: var(--text-soft); }
.login-features { margin-top: 2.25rem; display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; max-width: 36rem; }
.login-card { width: 100%; max-width: 440px; margin: 0 auto; padding: 1.75rem; }
.login-card .field, .login-card .btn-primary { min-height: 50px; }
.login-card h1 { margin-top: 2rem; }
.login-card form { margin-top: 1.75rem; }
@media (min-width: 640px) { .login-wrap { padding: 2rem; } .login-card { padding: 2.25rem; } }
@media (min-width: 1024px) {
  .login-wrap { grid-template-columns: 1fr 440px; gap: 4rem; padding: 0 3rem; }
  .login-hero { display: block; }
}
.login-card {
  background: var(--glass); border: 1px solid var(--glass-border); border-radius: 2rem;
  box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255, 255, 255, .25);
  -webkit-backdrop-filter: blur(28px) saturate(1.4); backdrop-filter: blur(28px) saturate(1.4);
}
.login-hero { color: var(--text); }
.login-feature { background: var(--glass); border: 1px solid var(--glass-border); border-radius: 1.1rem; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.login-feature-icon { background: var(--accent-soft); color: var(--accent); }
.login-accent { color: #D99A1E; }
[data-theme="dark"] .login-accent { color: #F0C766; }
.login-pill { background: var(--glass); border: 1px solid var(--glass-border); color: var(--text-soft); }

/* به‌روزرسانی W: ناحیه کشیدن و رها کردن رسید (ماکرو receipt_field، static/js/dropzone.js) */
.dropzone { position: relative; display: grid; place-items: center; min-height: 8.5rem; padding: 1rem;
  border: 2px dashed var(--line-strong); border-radius: 1rem; background: var(--surface-2); text-align: center;
  transition: border-color .15s, background-color .15s; }
.dropzone:hover, .dropzone:focus-within { border-color: var(--accent); background: var(--accent-soft); }
.dropzone.is-drag { border-color: var(--accent); border-style: solid; background: var(--accent-soft); }
.dropzone.is-filled { border-style: solid; border-color: var(--line-strong); background: var(--surface); }
.dropzone.is-invalid { border-color: var(--r-tx); }
.dropzone-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 1; }
.dropzone-empty { display: grid; justify-items: center; gap: .3rem; color: var(--text-soft); font-size: .875rem; pointer-events: none; }
.dropzone-empty svg { width: 1.9rem; height: 1.9rem; color: var(--accent); }
.dropzone-empty small { color: var(--muted); font-size: .75rem; }
.dropzone-touch { display: none; }
@media (hover: none) { .dropzone-mouse { display: none; } .dropzone-touch { display: inline; } }
.dropzone-preview { display: flex; align-items: center; gap: .75rem; width: 100%; text-align: right; }
.dropzone-preview[hidden], .dropzone-empty[hidden] { display: none; }
.dropzone-thumb { width: 5.5rem; height: 5.5rem; flex: none; object-fit: cover; border-radius: .7rem; border: 1px solid var(--line); background: var(--surface-2); }
.dropzone-pdf { display: grid; place-items: center; font-weight: 800; color: var(--r-tx); }
.dropzone-meta { display: grid; gap: .15rem; min-width: 0; flex: 1; font-size: .8125rem; }
.dropzone-meta b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dropzone-meta span { color: var(--muted); font-size: .75rem; }
.dropzone-clear { position: relative; z-index: 2; }
.dropzone-error { color: var(--r-tx); }

/* به‌روزرسانی W: وضعیت بازبینی رسید */
.rcpt-state { display: inline-block; border-radius: 999px; padding: .05rem .55rem; font-size: .72rem; font-weight: 700; }
.rcpt-pending { background: var(--a-bg); color: var(--a-tx); }
.rcpt-accepted { background: var(--g-bg); color: var(--g-tx); }
.rcpt-rejected { background: var(--r-bg); color: var(--r-tx); }
.acc-receipt.is-rejected img, .acc-receipt.is-rejected .acc-receipt-pdf { opacity: .55; }
.acc-receipt-card { display: grid; gap: .35rem; width: 11rem; }
.acc-receipt-card .acc-receipt-acts { display: flex; flex-wrap: wrap; gap: .35rem; }
.dropzone [hidden] { display: none !important; }

/* به‌روزرسانی X: فرم «ایجاد فروش» کارشناس فروش */
.sale-step-title { display: flex; align-items: center; gap: .5rem; font-weight: 800; font-size: 1rem; margin-bottom: .6rem; }
.sale-step-n { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 999px; flex: none;
  background: var(--accent-soft); color: var(--accent); font-size: .8rem; }
.sale-groups { display: grid; gap: .9rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .sale-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sale-group { border: 1px solid var(--line); border-radius: .9rem; padding: .7rem .85rem .85rem; background: var(--surface); min-width: 0; }
.sale-group-title { padding: 0 .35rem; font-size: .8125rem; font-weight: 700; color: var(--text-soft); }
.sale-picks { display: flex; flex-wrap: wrap; gap: .45rem; }
.sale-pick { position: relative; cursor: pointer; }
.sale-pick input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.sale-pick > span { display: inline-flex; align-items: center; gap: .35rem; border: 1.5px solid var(--line-strong); border-radius: 999px;
  padding: .35rem .8rem; font-size: .8125rem; background: var(--glass-solid); color: var(--text); transition: border-color .15s, background .15s; }
.sale-pick > span svg { width: 1rem; height: 1rem; opacity: .2; }
.sale-pick input:checked + span { border-color: var(--accent); background: var(--accent-soft); font-weight: 700; }
.sale-pick input:checked + span svg { opacity: 1; color: var(--accent); }
.sale-pick input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
