/* تكافل — generated from tokens.json */

:root, [data-theme="light"] {
  --navy-950: #072657;
  --navy-900: #15345a;
  --navy-800: #1f3d60;
  --navy-700: #243b6b;
  --blue-800: #033678;
  --blue-700: #0a498e;
  --blue-500: #265895;
  --azure-600: #0089bc;
  --teal-800: #1a7686;
  --teal-500: #1caca5;
  --teal-300: #55b6b3;
  --cyan-600: #029daf;
  --green-500: #04bb96;
  --gray-900: #262626;
  --gray-800: #333333;
  --gray-600: #666666;
  --gray-400: #999999;
  --gray-300: #d7d7d7;
  --gray-100: #f3f4f6;
  --gray-50: #f5f6fa;
  --slate-50: #f2f5f8;
  --mist-100: #f2f3f9;
  --brown-900: #411b1b;
  --red-500: #ff4d4f;
  --white: #ffffff;
  --canvas: var(--slate-50);
  --surface: var(--white);
  --surface-soft: var(--gray-50);
  --surface-subtle: var(--gray-100);
  --sidebar: var(--navy-900);
  --sidebar-active: #164c69;
  --ink: var(--gray-900);
  --ink-body: var(--gray-800);
  --ink-muted: var(--gray-600);
  --ink-subtle: var(--gray-400);
  --ink-brand: var(--navy-950);
  --heading: var(--navy-800);
  --on-sidebar: var(--white);
  --on-sidebar-muted: #b9c6d6;
  --line: var(--gray-300);
  --line-soft: var(--mist-100);
  --line-input: var(--brown-900);
  --primary: var(--navy-900);
  --primary-hover: var(--navy-800);
  --on-primary: var(--white);
  --accent: var(--teal-500);
  --on-accent: var(--navy-950);
  --accent-strong: var(--teal-800);
  --on-accent-strong: var(--white);
  --accent-soft: #e8f6f5;
  --secondary: #00749f;
  --on-secondary: var(--white);
  --link: var(--secondary);
  --focus: var(--azure-600);
  --success: #037a63;
  --success-soft: #e3f6f1;
  --warning: #9a5b00;
  --warning-soft: #fdf3e1;
  --danger: #c41d1f;
  --danger-soft: #fdecec;
  --on-danger: var(--white);
  --danger-line: var(--red-500);
  --info: var(--secondary);
  --info-soft: #e5f3f9;
  --category: var(--navy-800);
  --on-category: var(--white);
  --overlay: rgba(7, 20, 39, 0.55);
  --shadow-xs: 0 2px 0 rgba(0, 0, 0, 0.02);
  --shadow-bar: 0 2px 10px rgba(0, 0, 0, 0.1);
  --shadow-card: 0 7px 29px rgba(100, 100, 111, 0.2);
  --glow-navy: 0 0 0 6px rgba(108, 172, 255, 0.25);
  --glow-teal: 0 0 0 6px rgba(34, 196, 128, 0.25);
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #0089bc;
}

[data-theme="dark"] {
  --canvas: #0b1626;
  --surface: #12223a;
  --surface-soft: #1a2c47;
  --surface-subtle: #172840;
  --sidebar: #071427;
  --sidebar-active: #10334f;
  --ink: #eef2f7;
  --ink-body: #d6dee8;
  --ink-muted: #a3b2c4;
  --ink-subtle: #6b7c92;
  --ink-brand: #dbe7f5;
  --heading: #cfe0f3;
  --on-sidebar: #e6edf6;
  --on-sidebar-muted: #8fa1b8;
  --line: #2a3e5a;
  --line-soft: #1d3049;
  --line-input: #8da0b8;
  --primary: #3a6ea8;
  --primary-hover: #305f96;
  --on-primary: var(--white);
  --accent: var(--teal-500);
  --on-accent: var(--navy-950);
  --accent-strong: var(--teal-500);
  --on-accent-strong: var(--navy-950);
  --accent-soft: #0c2f33;
  --secondary: #5ec8ef;
  --on-secondary: var(--navy-950);
  --link: var(--secondary);
  --focus: #5ec8ef;
  --success: #3fd3a8;
  --success-soft: #0c3328;
  --warning: #f5b84a;
  --warning-soft: #3a2a0a;
  --danger: #ff7b7b;
  --danger-soft: #3d1518;
  --on-danger: #2a0a0c;
  --danger-line: #ff7b7b;
  --info: var(--secondary);
  --info-soft: #0b2a3d;
  --category: #2b5684;
  --on-category: var(--white);
  --overlay: rgba(0, 0, 0, 0.6);
  --shadow-xs: 0 2px 0 rgba(0, 0, 0, 0.25);
  --shadow-bar: 0 2px 10px rgba(0, 0, 0, 0.45);
  --shadow-card: 0 7px 29px rgba(0, 0, 0, 0.55);
  --focus-ring: 0 0 0 2px #12223a, 0 0 0 4px #5ec8ef;
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-xs: 5px;
  --radius-sm: 6px;
  --radius-md: 7px;
  --radius-lg: 10px;
  --radius-xl: 12px;
  --radius-2xl: 15px;
  --radius-pill: 9999px;
  --control-sm: 32px;
  --control-md: 40px;
  --control-lg: 48px;
  --topbar-h: 64px;
  --sidebar-w: 264px;
  --font-sans: Tajawal, system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;
  --font-currency: "Saudi Riyal", Tajawal, sans-serif;
}

.display { font-family: var(--font-sans); font-size: 2.44rem; line-height: 1.25; font-weight: 700; }

.title-1 { font-family: var(--font-sans); font-size: 2rem; line-height: 1.3; font-weight: 700; }

.title-2 { font-family: var(--font-sans); font-size: 1.38rem; line-height: 1.4; font-weight: 700; }

.title-3 { font-family: var(--font-sans); font-size: 1.2rem; line-height: 1.45; font-weight: 700; }

.body-lg { font-family: var(--font-sans); font-size: 1.06rem; line-height: 1.7; font-weight: 400; }

.body { font-family: var(--font-sans); font-size: 1rem; line-height: 1.7; font-weight: 400; }

.body-sm { font-family: var(--font-sans); font-size: 0.87rem; line-height: 1.6; font-weight: 400; }

.label { font-family: var(--font-sans); font-size: 0.87rem; line-height: 1.4; font-weight: 500; }

.caption { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.5; font-weight: 400; }

.figure-lg { font-family: var(--font-sans); font-size: 2rem; line-height: 1.2; font-weight: 700; }

.figure { font-family: var(--font-sans); font-size: 1rem; line-height: 1.5; font-weight: 500; }

@font-face { font-family: "Tajawal"; src: url("fonts/Tajawal-300.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }

@font-face { font-family: "Tajawal"; src: url("fonts/Tajawal-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

@font-face { font-family: "Tajawal"; src: url("fonts/Tajawal-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }

@font-face { font-family: "Tajawal"; src: url("fonts/Tajawal-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

@font-face { font-family: "Tajawal"; src: url("fonts/Tajawal-800.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }

@font-face { font-family: "Saudi Riyal"; src: url("fonts/SaudiRiyal-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

@font-face { font-family: "Saudi Riyal"; src: url("fonts/SaudiRiyal-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
