:root {
  /* ===== 颜色系统 ===== */
  /* 主色调 */
  --color-primary: #3b82f6;
  --color-primary-light: #60a5fa;
  --color-primary-dark: #1d4ed8;
  
  /* 辅助色 */
  --color-secondary: #10b981;
  --color-secondary-light: #34d399;
  --color-secondary-dark: #059669;
  
  /* 强调色 */
  --color-accent: #f59e0b;
  --color-accent-light: #fbbf24;
  --color-accent-dark: #d97706;
  
  /* 状态色 */
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;
  --color-info: #3b82f6;
  
  /* 设备状态色 */
  --color-device-online: #00ff88;      /* 正在上机 - 霓虹绿 */
  --color-device-offline: #6b7280;     /* 待机状态 - 灰色 */
  --color-device-reserved: #00d4ff;    /* 预约状态 - 霓虹蓝 */
  --color-device-maintenance: #ef4444; /* 维护状态 - 红色 */
  --color-device-expiring: #ff0000;    /* 即将超时 - 霓虹红 */
  
  /* 设备状态背景色 */
  --color-bg-device-online: rgba(0, 255, 136, 0.15);      /* 正在上机背景 */
  --color-bg-device-offline: rgba(107, 114, 128, 0.1);    /* 待机状态背景 */
  --color-bg-device-reserved: rgba(0, 212, 255, 0.15);   /* 预约状态背景 */
  --color-bg-device-maintenance: rgba(239, 68, 68, 0.15); /* 维护状态背景 */
  --color-bg-device-expiring: rgba(255, 0, 0, 0.2);       /* 即将超时背景 */
  
  /* 中性色 */
  --color-white: #ffffff;
  --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;
  
  /* 背景色 */
  --color-bg-primary: #0f172a;
  --color-bg-secondary: #1e293b;
  --color-bg-tertiary: #334155;
  --color-bg-card: #1e293b;
  --color-bg-modal: rgba(15, 23, 42, 0.8);
  
  /* 霓虹效果色 */
  --color-neon-blue: #00d4ff;
  --color-neon-green: #00ff88;
  --color-neon-purple: #a855f7;
  --color-neon-orange: #ff6b35;
  --color-neon-pink: #ec4899;
  
  /* ===== 间距系统 ===== */
  --spacing-xs: 0.25rem;    /* 4px */
  --spacing-sm: 0.5rem;     /* 8px */
  --spacing-md: 1rem;       /* 16px */
  --spacing-lg: 1.5rem;     /* 24px */
  --spacing-xl: 2rem;       /* 32px */
  --spacing-2xl: 3rem;      /* 48px */
  --spacing-3xl: 4rem;      /* 64px */
  
  /* ===== 圆角系统 ===== */
  --radius-sm: 0.25rem;     /* 4px */
  --radius-md: 0.5rem;      /* 8px */
  --radius-lg: 0.75rem;     /* 12px */
  --radius-xl: 1rem;        /* 16px */
  --radius-2xl: 1.5rem;     /* 24px */
  --radius-full: 9999px;
  
  /* ===== 阴影系统 ===== */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
  
  /* 霓虹阴影 */
  --shadow-neon-blue: 0 0 20px rgba(0, 212, 255, 0.5);
  --shadow-neon-green: 0 0 20px rgba(0, 255, 136, 0.5);
  --shadow-neon-purple: 0 0 20px rgba(168, 85, 247, 0.5);
  --shadow-neon-orange: 0 0 20px rgba(255, 107, 53, 0.5);
  --shadow-neon-red: 0 0 20px rgba(255, 0, 0, 0.6);
  
  /* ===== 动画系统 ===== */
  --transition-fast: 0.15s ease-out;
  --transition-normal: 0.3s ease-out;
  --transition-slow: 0.5s ease-out;
  --transition-bounce: 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  
  /* ===== 字体系统 ===== */
  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 1.875rem;  /* 30px */
  --font-size-4xl: 2.25rem;   /* 36px */
  
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* ===== 特殊效果 ===== */
  --backdrop-blur: blur(10px);
  --backdrop-blur-sm: blur(4px);
  --backdrop-blur-lg: blur(20px);
  
  /* 渐变背景 */
  --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  --gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  --gradient-warning: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  --gradient-danger: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
  
  /* 霓虹渐变 */
  --gradient-neon-blue: linear-gradient(135deg, #00d4ff 0%, #0099cc 100%);
  --gradient-neon-green: linear-gradient(135deg, #00ff88 0%, #00cc6a 100%);
  --gradient-neon-purple: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
}

/* 深色主题特定变量 */
[data-theme="dark"] {
  --color-bg-primary: #0f172a;
  --color-bg-secondary: #1e293b;
  --color-bg-tertiary: #334155;
  --color-bg-card: #1e293b;
  --color-text-primary: #f8fafc;
  --color-text-secondary: #cbd5e1;
  --color-text-muted: #64748b;
}

/* 霓虹效果类 */
.neon-blue {
  color: var(--color-neon-blue);
  text-shadow: 0 0 10px var(--color-neon-blue);
}

.neon-green {
  color: var(--color-neon-green);
  text-shadow: 0 0 10px var(--color-neon-green);
}

.neon-purple {
  color: var(--color-neon-purple);
  text-shadow: 0 0 10px var(--color-neon-purple);
}

.neon-orange {
  color: var(--color-neon-orange);
  text-shadow: 0 0 10px var(--color-neon-orange);
}

.neon-pink {
  color: var(--color-neon-pink);
  text-shadow: 0 0 10px var(--color-neon-pink);
}
