:root {
    --sidebar-bg: #0b1730;
    --sidebar-elevated: #112343;
    --sidebar-text: #c9d7ee;
    --primary: #145dfa;
    --primary-hover: #104dcf;
    --primary-soft: #e8f0ff;
    --success: #10a66d;
    --success-soft: #dcf9ec;
    --warning: #f59e0b;
    --warning-soft: #fff2d5;
    --danger: #ef4444;
    --danger-soft: #fee9eb;
    --violet: #8255e8;
    --violet-soft: #f1eafe;
    --canvas: #f6f8fc;
    --surface: #fff;
    --surface-soft: #f9fbfe;
    --border: #e3eaf4;
    --text: #111d39;
    --secondary: #536785;
    --muted: #73839c;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --shadow: 0 2px 12px rgba(24, 49, 91, 0.035);
    --sidebar-width: 236px;
    --topbar-height: 58px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-6: 24px;
    --space-8: 32px;
}
[data-theme='dark'] {
    color-scheme: dark;
    --canvas: #0a1427;
    --surface: #13223a;
    --surface-soft: #182a45;
    --border: #2a3d5b;
    --text: #f2f6fe;
    --secondary: #bac9e0;
    --muted: #99adc8;
    --primary-soft: #18376d;
    --success-soft: #153e35;
    --warning-soft: #443619;
    --danger-soft: #472632;
    --violet-soft: #30274f;
    --shadow: none;
}

/* Extended reference tokens: typography, semantic accents and icon scale. */
:root {
    --font-page: 28px;
    --font-profile: 25px;
    --font-kpi: 24px;
    --font-section: 16px;
    --font-card: 15px;
    --font-body: 14px;
    --font-table: 13px;
    --font-label: 12px;
    --font-caption: 11px;
    --font-micro: 10px;
    --orange: #f7770c;
    --orange-soft: #fff0e4;
    --teal: #089c95;
    --teal-soft: #def8f3;
    --icon-xs: 12px;
    --icon-sm: 16px;
    --icon-md: 20px;
    --icon-lg: 24px;
    --icon-xl: 30px;
    --icon-hero: 36px;
}
[data-theme='dark'] {
    --orange-soft: #442d20;
    --teal-soft: #163b3d;
}
