:root {
  color-scheme: light;

  /* Approved Soyuz palette */
  --soyuz-white: #ffffff;
  --soyuz-black: #000000;
  --soyuz-blue: #0a7aa5;
  --soyuz-orange: #ea7628;
  --soyuz-green: #23a455;

  /* Neutral scale */
  --neutral-25: #fcfcfc;
  --neutral-50: #f7f8f8;
  --neutral-100: #f0f2f2;
  --neutral-200: #e1e5e5;
  --neutral-300: #cbd1d1;
  --neutral-400: #9ca6a6;
  --neutral-500: #687373;
  --neutral-600: #4b5555;
  --neutral-700: #303838;
  --neutral-800: #1b2222;
  --neutral-900: #0b0f0f;

  /* Semantic color roles */
  --color-background: var(--soyuz-white);
  --color-bg: var(--neutral-50);
  --color-surface: var(--soyuz-white);
  --color-surface-muted: var(--neutral-50);
  --color-border: var(--neutral-200);
  --color-border-strong: var(--neutral-300);
  --color-text: var(--soyuz-black);
  --color-text-muted: var(--neutral-600);
  --color-primary: var(--soyuz-blue);
  --color-primary-hover: #08688d;
  --color-primary-active: #075777;
  --color-product-accent: var(--soyuz-green);
  --color-product-accent-hover: #1e8d49;
  --color-attention: var(--soyuz-orange);
  --color-attention-hover: #d7651f;
  --color-success: var(--soyuz-green);
  --color-warning: var(--soyuz-orange);
  --color-danger: #b42318;
  --color-danger-hover: #8f1c13;
  --color-info: var(--soyuz-blue);
  --color-disabled: var(--neutral-400);
  --color-focus-ring: rgba(10, 122, 165, 0.3);

  /* Soft semantic surfaces */
  --blue-soft: #e8f4f8;
  --green-soft: #e8f6ee;
  --amber-soft: #fff0e5;
  --red-soft: #fce8e6;
  --status-new-bg: var(--amber-soft);
  --status-new-text: #7a3409;
  --status-in-work-bg: var(--blue-soft);
  --status-in-work-text: #075777;
  --status-waiting-bg: var(--neutral-100);
  --status-waiting-text: var(--neutral-700);
  --status-completed-bg: var(--green-soft);
  --status-completed-text: #126c35;
  --status-overdue-bg: var(--red-soft);
  --status-overdue-text: #8f1c13;
  --status-cancelled-bg: var(--neutral-100);
  --status-cancelled-text: var(--neutral-600);
  --status-needs-review-bg: var(--amber-soft);
  --status-needs-review-text: #7a3409;
  --status-risk-bg: var(--red-soft);
  --status-risk-text: #8f1c13;

  /* Legacy aliases used by existing screens */
  --bg: var(--color-bg);
  --surface: var(--color-surface);
  --surface-2: var(--color-surface-muted);
  --surface-muted: var(--color-surface-muted);
  --line: var(--color-border);
  --border: var(--color-border);
  --text: var(--color-text);
  --muted: var(--color-text-muted);
  --green: var(--soyuz-green);
  --red: var(--color-danger);
  --amber: var(--soyuz-orange);
  --blue: var(--soyuz-blue);
  --ink: var(--neutral-800);
  --accent: var(--soyuz-blue);
  --primary: var(--soyuz-blue);

  /* Geometry, rhythm and typography */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --shadow: 0 8px 24px rgba(0, 0, 0, 0.07);
  --shadow-card: 0 4px 16px rgba(0, 0, 0, 0.055);
  --shadow-overlay: 0 18px 48px rgba(0, 0, 0, 0.16);
  --layout-max-width: 1600px;
  --sidebar-width: 280px;
  --topbar-height: 72px;
  --card-padding: 20px;
  --table-row-height: 48px;
  --tab-height: 44px;
  --control-height: 44px;
  --font-family-base: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-md: 17px;
  --font-size-lg: 20px;
  --font-size-xl: 28px;
  --line-height-base: 1.5;
  --breakpoint-mobile: 640px;
  --breakpoint-tablet: 1100px;
  --breakpoint-desktop: 1440px;
}
