/* WosulPay — tokens.css (generated from tokens.json) */
@font-face { font-family: 'Tajawal'; src: url('./fonts/Tajawal-ExtraLight.ttf') format('truetype'); font-weight: 200; font-display: swap; }
@font-face { font-family: 'Tajawal'; src: url('./fonts/Tajawal-Light.ttf') format('truetype'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Tajawal'; src: url('./fonts/Tajawal-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Tajawal'; src: url('./fonts/Tajawal-Medium.ttf') format('truetype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Tajawal'; src: url('./fonts/Tajawal-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Tajawal'; src: url('./fonts/Tajawal-ExtraBold.ttf') format('truetype'); font-weight: 800; font-display: swap; }
@font-face { font-family: 'Tajawal'; src: url('./fonts/Tajawal-Black.ttf') format('truetype'); font-weight: 900; font-display: swap; }
:root,
[data-theme="light"] {
  --surface-page: #f5f5f7;
  --surface: #ffffff;
  --surface-sunken: #efeef2;
  --line: #e6e4ea;
  --line-strong: #cbc8d2;
  --ink-heading: #0b0a0d;
  --ink-body: #55515c;
  --ink-muted: #67636e;
  --primary: #8700a9;
  --primary-strong: #6b0087;
  --primary-subtle: #f5e8f9;
  --on-primary: #ffffff;
  --brand-black: #000000;
  --accent: #0b0a0d;
  --accent-subtle: #ececef;
  --on-accent: #ffffff;
  --success: #127a3e;
  --success-subtle: #e4f4ea;
  --warning: #a35a00;
  --warning-subtle: #fdf0dc;
  --danger: #c62a2a;
  --danger-subtle: #fde9e8;
  --on-danger: #ffffff;
  --info: #2160d6;
  --info-subtle: #e7eefc;
  --chart-1: var(--primary);
  --chart-2: var(--accent);
  --chart-3: #c78fdc;
  --chart-4: #9c98a4;
  --chart-5: #5aa9e6;
  --focus-ring: var(--primary);
  --overlay: rgba(14, 13, 16, 0.48);
  --shadow-sm: 0 1px 2px rgba(17, 24, 22, 0.06);
  --shadow-md: 0 8px 24px rgba(17, 24, 22, 0.10);
  --shadow-lg: 0 20px 48px rgba(17, 24, 22, 0.16);
}
[data-theme="dark"] {
  --surface-page: #0e0d10;
  --surface: #17161a;
  --surface-sunken: #121115;
  --line: #2a2830;
  --line-strong: #3f3c46;
  --ink-heading: #f4f3f6;
  --ink-body: #b7b3be;
  --ink-muted: #948f9b;
  --primary: #d58bec;
  --primary-strong: #e5b0f4;
  --primary-subtle: #3a1446;
  --on-primary: #1d0026;
  --brand-black: #000000;
  --accent: #f4f3f6;
  --accent-subtle: #2b2930;
  --on-accent: #0b0a0d;
  --success: #4cc781;
  --success-subtle: #123824;
  --warning: #f0a245;
  --warning-subtle: #3b2507;
  --danger: #f2706b;
  --danger-subtle: #3d1615;
  --on-danger: #2a0807;
  --info: #7aa7f5;
  --info-subtle: #14254a;
  --chart-1: var(--primary);
  --chart-2: var(--accent);
  --chart-3: #8e4fa6;
  --chart-4: #6c6874;
  --chart-5: #6fb6ee;
  --focus-ring: var(--primary);
  --overlay: rgba(0, 0, 0, 0.64);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 20px 48px rgba(0, 0, 0, 0.6);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
  --control-sm: 36px;
  --control-md: 48px;
  --sidebar-width: 290px;
  --header-height: 64px;
  --font-sans: "Tajawal", "Segoe UI", Tahoma, system-ui, sans-serif;
}
.text-display { font-family: var(--font-sans); font-size: 40px; line-height: 52px; font-weight: 800; }
.text-kpi { font-family: var(--font-sans); font-size: 32px; line-height: 40px; font-weight: 800; }
.text-h1 { font-family: var(--font-sans); font-size: 30px; line-height: 40px; font-weight: 700; }
.text-h2 { font-family: var(--font-sans); font-size: 24px; line-height: 34px; font-weight: 700; }
.text-h3 { font-family: var(--font-sans); font-size: 20px; line-height: 30px; font-weight: 700; }
.text-h4 { font-family: var(--font-sans); font-size: 16px; line-height: 26px; font-weight: 700; }
.text-body-lg { font-family: var(--font-sans); font-size: 16px; line-height: 28px; font-weight: 400; }
.text-body { font-family: var(--font-sans); font-size: 14px; line-height: 24px; font-weight: 400; }
.text-body-strong { font-family: var(--font-sans); font-size: 14px; line-height: 24px; font-weight: 700; }
.text-label { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 500; }
.text-caption { font-family: var(--font-sans); font-size: 12px; line-height: 20px; font-weight: 400; }
.text-overline { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.04em; }
