:root {
  --ds-font-body: "Inter", "Segoe UI", sans-serif;
  --ds-font-display: "Inter", "Segoe UI", sans-serif;
  --ds-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --ds-bg-app: #f7f8fa;
  --ds-bg-app-alt: #edf1f5;
  --ds-bg-app-glow: rgba(8, 145, 178, 0.05);
  --ds-bg-app-glow-alt: rgba(79, 70, 229, 0.04);
  --ds-bg-subtle: #fafbfc;
  --ds-bg-sidebar: #0d1b2a;
  --ds-bg-topbar: #ffffff;
  --ds-bg-card: #ffffff;
  --ds-bg-card-alt: #fbfcfe;
  --ds-bg-raised: #ffffff;
  --ds-bg-selected: rgba(8, 145, 178, 0.1);
  --ds-bg-inner: #f6f8fb;
  --ds-bg-inner-strong: #eef2f7;

  --ds-surface-level-0: var(--ds-bg-app);
  --ds-surface-level-1: #ffffff;
  --ds-surface-level-2: #fcfdff;
  --ds-surface-level-3: var(--ds-bg-inner);

  --ds-border: rgba(15, 23, 42, 0.11);
  --ds-border-strong: rgba(15, 23, 42, 0.16);
  --ds-border-soft: rgba(15, 23, 42, 0.09);
  --ds-divider: rgba(15, 23, 42, 0.1);

  --ds-text: #0f172a;
  --ds-text-body: #334155;
  --ds-text-muted: #64748b;
  --ds-text-soft: #94a3b8;
  --ds-text-canvas: #f8fafc;
  --ds-text-canvas-muted: rgba(248, 250, 252, 0.7);

  --ds-accent: #0891b2;
  --ds-accent-strong: #0e7490;
  --ds-accent-soft: rgba(8, 145, 178, 0.1);
  --ds-bg-accent: var(--ds-accent);
  --ds-info: #4f46e5;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-danger: #ef4444;
  --ds-focus: rgba(8, 145, 178, 0.2);

  --ds-module-today: #f59e0b;
  --ds-module-revenue: #3b82f6;
  --ds-module-operations: #8b5cf6;
  --ds-module-marketing: #f97316;
  --ds-module-workspace: #06b6d4;
  --ds-module-admin: #10b981;
  --ds-module-owner: #0891b2;
  --ds-module-audit: #4f46e5;
  --ds-module-release: #f97316;

  --ds-shadow-flat: none;
  --ds-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.05), 0 8px 22px rgba(15, 23, 42, 0.06);
  --ds-shadow-soft: 0 16px 36px rgba(15, 23, 42, 0.08);
  --ds-shadow-accent: 0 8px 24px rgba(8, 145, 178, 0.2);
  --ds-elevation-level-1: var(--ds-shadow-flat);
  --ds-elevation-level-2: var(--ds-shadow-card);
  --ds-elevation-level-3: var(--ds-shadow-flat);

  --ds-radius-sm: 0.5rem;
  --ds-radius-md: 0.75rem;
  --ds-radius-lg: 1rem;
  --ds-radius-xl: 1.25rem;
  --ds-radius-pill: 999px;

  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-7: 1.75rem;
  --ds-space-8: 2rem;
  --ds-space-section-gap: clamp(1.75rem, 2.2vw, 2.25rem);
  --ds-space-card-padding: clamp(1.1rem, 1.5vw, 1.5rem);
  --ds-space-inner-padding: clamp(0.9rem, 1.1vw, 1.05rem);
  --ds-space-inner-gap: clamp(0.75rem, 0.95vw, 1rem);

  --ds-motion-fast: 150ms;
  --ds-motion-base: 200ms;
  --ds-motion-slow: 300ms;
  --ds-motion-ease: cubic-bezier(0.4, 0, 0.2, 1);

  /* Shared layout system */
  --ds-layout-shell-sidebar: 15rem;
  --ds-layout-topbar-height: 4rem;
  --ds-layout-shell-gap: clamp(0.75rem, 1vw, 1.25rem);
  --ds-layout-shell-padding: clamp(0.75rem, 1vw, 1.25rem);
  --ds-layout-main-gap: clamp(0.9rem, 1vw, 1.35rem);
  --ds-layout-rail-padding-inline: 0.75rem;
  --ds-layout-rail-padding-block: 0.9rem;
  --ds-layout-rail-nav-gap: 0.4rem;
  --ds-layout-rail-item-min: 2.75rem;
  --ds-layout-rail-child-min: 2.35rem;
  --ds-layout-rail-icon-size: 1.85rem;
  --ds-layout-content-inline: clamp(1rem, 1.8vw, 2.25rem);
  --ds-layout-content-block: clamp(1rem, 1.6vw, 1.75rem);
  --ds-layout-grid-gap: clamp(0.85rem, 1vw, 1.25rem);
  --ds-layout-grid-card-min: clamp(16rem, 22vw, 22rem);
  --ds-layout-grid-compact-min: clamp(12rem, 15vw, 15rem);
  --ds-layout-grid-panel-min: clamp(18rem, 24vw, 26rem);
  --ds-layout-grid-split-side: clamp(20rem, 26vw, 29rem);

  /* Handoff token names */
  --bg-base: var(--ds-bg-app);
  --bg-surface: var(--ds-bg-card);
  --text-primary: var(--ds-text);
  --text-muted: var(--ds-text-muted);
  --border-color: var(--ds-border);

  /* Legacy aliases used across the current runtime */
  --bg-deep: var(--ds-bg-app);
  --bg-mid: var(--ds-bg-subtle);
  --bg-card: var(--ds-bg-card);
  --line: var(--ds-border);
  --line-strong: var(--ds-border-strong);
  --text-main: var(--ds-text);
  --accent: var(--ds-accent);
  --accent-strong: var(--ds-accent-strong);
  --accent-2: var(--ds-info);
  --danger: var(--ds-danger);
  --ok: var(--ds-success);
  --shadow: var(--ds-shadow-card);
  --shadow-lg: var(--ds-shadow-soft);
  --glow: var(--ds-shadow-accent);

  /* Wave 2 compatibility */
  --color-bg-primary: var(--ds-bg-app);
  --color-bg-secondary: var(--ds-bg-subtle);
  --color-bg-tertiary: var(--ds-bg-card-alt);
  --color-surface-1: var(--ds-bg-card);
  --color-surface-2: var(--ds-bg-card-alt);
  --color-border-default: var(--ds-border);
  --color-border-strong: var(--ds-border-strong);
  --color-text-primary: var(--ds-text);
  --color-text-secondary: var(--ds-text-muted);
  --color-accent-primary: var(--ds-accent);
  --color-accent-primary-strong: var(--ds-accent-strong);
  --color-accent-secondary: var(--ds-info);
  --color-success: var(--ds-success);
  --color-warning: var(--ds-warning);
  --color-danger: var(--ds-danger);
  --color-info: var(--ds-info);
  --color-focus-ring: var(--ds-focus);
  --font-family-display: var(--ds-font-display);
  --font-family-body: var(--ds-font-body);
  --radius-sm: var(--ds-radius-sm);
  --radius-md: var(--ds-radius-md);
  --radius-lg: var(--ds-radius-lg);
  --radius-xl: var(--ds-radius-xl);
  --radius-pill: var(--ds-radius-pill);
  --shadow-sm: var(--ds-shadow-card);
  --shadow-md: var(--ds-shadow-soft);
  --elevation-lg: var(--ds-shadow-soft);
  --glow-primary: var(--ds-shadow-accent);

  /* Late premium-theme compatibility */
  --bg-primary: var(--ds-bg-app);
  --bg-secondary: var(--ds-bg-subtle);
  --bg-tertiary: var(--ds-bg-card-alt);
  --bg-card-soft: rgba(255, 255, 255, 0.92);
  --primary-accent: var(--ds-accent);
  --secondary-accent: var(--ds-success);
  --tertiary-accent: var(--ds-info);
  --text-secondary: var(--ds-text-muted);
  --border-soft: var(--ds-border);
  --border-strong: var(--ds-border-strong);
  --glass-bg: var(--ds-bg-card);
  --glass-bg-strong: var(--ds-bg-card-alt);
  --ease-premium: var(--ds-motion-ease);
  --glow-indigo: var(--ds-shadow-accent);
  --glow-cyan: 0 10px 24px rgba(6, 182, 212, 0.16);

  /* Final shell compatibility */
  --uh-space-1: var(--ds-space-2);
  --uh-space-2: var(--ds-space-4);
  --uh-space-3: var(--ds-space-6);
  --uh-space-4: var(--ds-space-8);
  --uh-radius: var(--ds-radius-md);
  --uh-radius-lg: var(--ds-radius-xl);
  --uh-text: var(--ds-text);
  --uh-muted: var(--ds-text-muted);
  --uh-surface: var(--ds-surface-level-1);
  --uh-surface-raised: var(--ds-surface-level-2);
  --uh-surface-inner: var(--ds-surface-level-3);
  --uh-border: var(--ds-border);
  --uh-accent: var(--ds-accent);
}

@media (min-width: 1920px) {
  :root {
    --ds-layout-shell-sidebar: clamp(18rem, 16vw, 22rem);
    --ds-layout-content-inline: clamp(1.5rem, 2.2vw, 3rem);
    --ds-layout-content-block: clamp(1.2rem, 2vw, 2.25rem);
    --ds-layout-grid-card-min: clamp(17rem, 18vw, 24rem);
    --ds-layout-grid-panel-min: clamp(19rem, 21vw, 28rem);
    --ds-layout-grid-split-side: clamp(22rem, 24vw, 32rem);
  }
}
