:root {
    /* Base colors */
    --color-white: #ffffff;
    --color-black: #000000;

    /* Light theme */
    --light-background: #ffffff;
    --light-background-secondary: #f5f7fa;
    --light-background-tertiary: #eef1f5;
    --light-surface: #ffffff;
    --light-surface-hover: #f5f7fa;
    --light-surface-active: #eef1f5;
    --light-border: #e0e4e8;
    --light-text-primary: #1a1c1e;
    --light-text-secondary: #4b5563;
    --light-text-tertiary: #6b7280;
    --light-accent: #0672ef;
    --light-accent-hover: #0560c7;
    --light-accent-surface: #e6f1ff;
    --light-error: #dc2626;
    --light-success: #16a34a;
    --light-warning: #f59e0b;
    --light-info: #0891b2;

    /* Dark theme */
    --dark-background: #141518;
    --dark-background-secondary: #1c1e24;
    --dark-background-tertiary: #23252f;
    --dark-surface: #1c1e24;
    --dark-surface-hover: #23252f;
    --dark-surface-active: #2a2d3a;
    --dark-border: #2a2d3a;
    --dark-text-primary: #f3f4f6;
    --dark-text-secondary: #d1d5db;
    --dark-text-tertiary: #9ca3af;
    --dark-accent: #3b82f6;
    --dark-accent-hover: #2563eb;
    --dark-accent-surface: #1e40af33;
    --dark-error: #ef4444;
    --dark-success: #22c55e;
    --dark-warning: #f97316;
    --dark-info: #06b6d4;

    /* Default variables - applied immediately */
    --background: var(--light-background);
    --background-secondary: var(--light-background-secondary);
    --background-tertiary: var(--light-background-tertiary);
    --surface: var(--light-surface);
    --surface-hover: var(--light-surface-hover);
    --surface-active: var(--light-surface-active);
    --border: var(--light-border);
    --text-primary: var(--light-text-primary);
    --text-secondary: var(--light-text-secondary);
    --text-tertiary: var(--light-text-tertiary);
    --accent: var(--light-accent);
    --accent-hover: var(--light-accent-hover);
    --accent-surface: var(--light-accent-surface);
    --error: var(--light-error);
    --success: var(--light-success);
    --warning: var(--light-warning);
    --info: var(--light-info);

    /* RGB variants for transparency effects */
    --background-rgb: 255, 255, 255;
    --border-rgb: 224, 228, 232;
    --accent-rgb: 6, 114, 239;

    /* Spacing */
    --space-xxs: 2px;
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 12px;
    --space-lg: 16px;
    --space-xl: 24px;
    --space-xxl: 32px;

    /* Border radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-circle: 50%;

    /* Font */
    --font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
    Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;

    /* Font sizes */
    --font-size-xs: 0.75rem;    /* 12px */
    --font-size-sm: 0.875rem;   /* 14px */
    --font-size-md: 1rem;       /* 16px */
    --font-size-lg: 1.125rem;   /* 18px */
    --font-size-xl: 1.25rem;    /* 20px */
    --font-size-xxl: 1.5rem;    /* 24px */

    /* Font weights */
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Shadows */
    --shadow-sm: 0 1px 2px 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);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

    /* Transitions */
    --transition-fast: 150ms ease-in-out;
    --transition-normal: 250ms ease-in-out;
    --transition-slow: 350ms ease-in-out;

    /* Layout */
    --sidebar-width: 240px;
    --details-panel-width: 300px;
    --header-height: 48px;
    --footer-height: 28px;
    --toolbar-height: 40px;

    /* Z-index layers */
    --z-index-base: 1;
    --z-index-dropdown: 10;
    --z-index-sticky: 20;
    --z-index-fixed: 30;
    --z-index-modal-backdrop: 40;
    --z-index-modal: 50;
    --z-index-popover: 60;
    --z-index-tooltip: 70;
    --z-index-context-menu: 100;
}