/* آینهٔ tokens.json برای بومِ طراحی و برای پنل — منبعِ حقیقت tokens.json است؛ این فایل با اسکریپت از آن ساخته می‌شود، دستی ویرایش نشود. */
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-ExtraBold.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Black.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --bg: #f4f6fa;
  --surface: #ffffff;
  --surface-2: #f8fafd;
  --surface-3: #eef2f7;
  --line: #e2e8f0;
  --line-strong: #cbd5e1;
  --ink: #16213a;
  --ink-2: #475569;
  --ink-3: #5b6b84;
  --ink-4: #8a99af;
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-soft: #e8f0fe;
  --primary-ink: #1e40af;
  --on-primary: #ffffff;
  --focus: #2563eb;
  --navy: #13294b;
  --navy-deep: #0a1322;
  --on-navy: #ffffff;
  --navy-muted: #b8c4da;
  --brand-orange: #f08a24;
  --st-green: #15803d;
  --st-green-soft: #dcfce7;
  --st-green-ink: #166534;
  --st-blue: #0369a1;
  --st-blue-soft: #e0f2fe;
  --st-blue-ink: #075985;
  --st-orange: #c2410c;
  --st-orange-soft: #ffedd5;
  --st-orange-ink: #9a3412;
  --st-red: #b91c1c;
  --st-red-soft: #fee2e2;
  --st-red-ink: #991b1b;
  --st-purple: #6d28d9;
  --st-purple-soft: #ede9fe;
  --st-purple-ink: #5b21b6;
  --st-grey: #64748b;
  --st-grey-soft: #f1f5f9;
  --st-grey-ink: #475569;
  --chart-1: var(--primary);
  --chart-2: var(--st-green);
  --chart-3: var(--st-orange);
  --chart-4: var(--st-purple);
  --chart-5: var(--st-grey);
  --overlay: #16213a66;
  --shadow-1: 0 1px 2px #16213a0f;
  --shadow-2: 0 6px 20px #16213a1a;
  --shadow-drawer: 8px 0 28px #16213a24;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --radius-pill: 999px;
  --rail-w: 64px;
  --panel-w: 236px;
  --topbar-h: 56px;
  --control-h: 36px;
  --control-h-sm: 30px;
  --row-h: 40px;
  --drawer-w: 520px;
  --content-max: 1360px;
  --touch-min: 44px;
  --font-sans: "Vazirmatn", system-ui, Tahoma, sans-serif;
}
.page-title { font-family: var(--font-sans); font-size: 24px; line-height: 32px; font-weight: 700; }
.hero-title { font-family: var(--font-sans); font-size: 22px; line-height: 30px; font-weight: 700; }
.section-title { font-family: var(--font-sans); font-size: 18px; line-height: 26px; font-weight: 700; }
.card-title { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 600; }
.body { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 600; }
.small { font-family: var(--font-sans); font-size: 13px; line-height: 20px; font-weight: 400; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 18px; font-weight: 400; }
.button { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 600; }
.number { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 500; }
.code { font-family: var(--font-sans); font-size: 13px; line-height: 20px; font-weight: 500; }
.kpi { font-family: var(--font-sans); font-size: 28px; line-height: 36px; font-weight: 700; }
