:root {
    /* --- Colors (Grayscale Palette) --- */
    --color-white: #ffffff;
    --color-black: #000000;

    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5db;
    --color-gray-400: #9ca3af;
    --color-gray-500: #6b7280;
    --color-gray-600: #4b5563;
    --color-gray-700: #374151;
    --color-gray-800: #1f2937;
    --color-gray-900: #111827;

    /* --- Typography --- */
    --font-family-main: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --font-family-mono: 'DM Mono', 'Consolas', 'Monaco', 'Courier New', monospace;

    --font-size-h1: 2.25rem;
    /* 36px */
    --font-size-h2: 1.875rem;
    /* 30px */
    --font-size-h3: 1.5rem;
    /* 24px */
    --font-size-h4: 1.25rem;
    /* 20px */
    --font-size-h5: 1.125rem;
    /* 18px */
    --font-size-h6: 1rem;
    /* 16px */
    --font-size-body: 1rem;
    /* 16px */
    --font-size-small: 0.875rem;
    /* 14px */

    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;

    --line-height-tight: 1.25;
    --line-height-normal: 1.5;

    /* --- Spacing --- */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-12: 3rem;

    /* --- Grid --- */
    /* Canonical dashboard grid: 24 columns on desktop and tablet, 1 on mobile. */
    --grid-columns-default: 24;
    --grid-columns-desktop: var(--grid-columns-default);
    --grid-columns-tablet: var(--grid-columns-default);
    --grid-columns-mobile: 1;
    --grid-gap-default: var(--space-6);
    --grid-padding-default: var(--space-6);

    /* --- UI Elements --- */
    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 12px;

    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);

    --border-color: var(--color-gray-200);
}
