/* ===== Data (Consulting Center) Design Tokens ===== */
:root {
  /* -- data primary (Sky Blue) */
  --data-primary: #0EA5E9;
  --data-primary-hover: #0284C7;
  --data-primary-light: #F0F9FF;
  --data-primary-dark: #0369A1;
  --data-secondary: #0891B2;
  --data-page-bg: #F8FAFC;
  --data-card-bg: #FFFFFF;
  --data-hero-start: #0EA5E9;
  --data-hero-end: #0369A1;
  --data-cta: #F59E0B;
  --data-cta-hover: #D97706;
  --data-chart-accent: #0EA5E9;
  --data-chart-1: #0EA5E9;
  --data-chart-2: #0369A1;
  --data-chart-3: #0EA5E9;
  --data-chart-4: #38BDF8;

  /* -- data status colors */
  --color-up: #DC2626;
  --color-down: #16A34A;
  --color-up-bg: #FEF2F2;
  --color-down-bg: #F0FDF4;

  /* -- brand (platform shared) */
  --brand-primary: #1A5FEB;
  --brand-primary-hover: #154FCC;
  --brand-primary-light: #EBF2FF;
  --brand-secondary: #0F3D8F;

  /* -- functional */
  --color-success: #16A34A;
  --color-success-bg: #F0FDF4;
  --color-success-text: #16A34A;
  --color-warning: #F59E0B;
  --color-warning-bg: #FFFBEB;
  --color-danger: #DC2626;
  --color-danger-bg: #FEF2F2;
  --color-info: #0EA5E9;
  --color-info-bg: #F0F9FF;

  /* -- neutral */
  --gray-50: #F9FAFB;
  --gray-100: #F3F4F6;
  --gray-200: #E5E7EB;
  --gray-300: #D1D5DB;
  --gray-400: #9CA3AF;
  --gray-500: #6B7280;
  --gray-700: #374151;
  --gray-900: #111827;

  /* -- typography */
  --text-h1: 28px;
  --text-h1-lh: 40px;
  --text-h2: 22px;
  --text-h2-lh: 32px;
  --text-h3: 18px;
  --text-h3-lh: 28px;
  --text-h4: 16px;
  --text-h4-lh: 24px;
  --text-body-lg: 16px;
  --text-body-lg-lh: 24px;
  --text-body: 14px;
  --text-body-lh: 22px;
  --text-body-sm: 13px;
  --text-body-sm-lh: 20px;
  --text-caption: 12px;
  --text-caption-lh: 18px;
  --text-data: 32px;
  --text-data-lh: 40px;
  --text-data-sm: 24px;
  --text-data-sm-lh: 32px;

  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;

  /* -- spacing */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;

  /* -- radius & shadow */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
  --shadow-card-hover: 0 12px 32px rgba(3,105,161,0.12);
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-family: var(--font-family); font-size: 14px; color: var(--gray-700); background: var(--data-page-bg); -webkit-font-smoothing: antialiased; }
body { min-height: 100vh; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { cursor: pointer; font-family: inherit; }
input, select, textarea { font-family: inherit; }
ul, ol { list-style: none; }

/* Layout helpers */
.container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-lg); }
.page-wrapper { min-height: calc(100vh - 64px); padding-top: 112px; }
.content-section { padding: var(--space-xl) 0; }
.card { background: #fff; border-radius: var(--radius-md); padding: 20px; box-shadow: var(--shadow-sm); }

/* Flex/Grid shortcuts */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-lg { gap: var(--space-lg); }
