/* NEXTGENSENSE dark theme design system v1.2.0
   Generated from NEXTGENSENSE_Dark_Theme_Design_System.docx
   Prefix: ng. Units: rem (root 16px), unitless line-height, em tracking, hsla colour.
   Foundation tokens only. Component tokens are specifications, not values. */
:root {

  /* Colour: brand */
  --ng-color-brand-primary: hsla(23.8, 100%, 50%, 1);
  --ng-color-brand-secondary: hsla(83.3, 80.4%, 56.1%, 1);
  --ng-color-brand-accent: hsla(60, 80.1%, 47.3%, 1);
  --ng-color-brand-hover: hsla(23.8, 100%, 61%, 1);
  --ng-color-brand-active: hsla(23.8, 100%, 41%, 1);
  --ng-color-brand-subtle: hsla(23.8, 100%, 50%, 0.12);
  --ng-color-brand-contrast: hsla(0, 0%, 2%, 1);

  /* Colour: ramps */
  --ng-color-primary-50: hsla(24, 100%, 96.1%, 1);
  --ng-color-primary-100: hsla(23.4, 100%, 92%, 1);
  --ng-color-primary-200: hsla(24.1, 100%, 83.9%, 1);
  --ng-color-primary-300: hsla(23.9, 100%, 72.9%, 1);
  --ng-color-primary-400: hsla(23.8, 100%, 61%, 1);
  --ng-color-primary-500: hsla(23.8, 100%, 50%, 1);
  --ng-color-primary-600: hsla(23.8, 100%, 41%, 1);
  --ng-color-primary-700: hsla(23.9, 100%, 32%, 1);
  --ng-color-primary-800: hsla(23.5, 100%, 22.5%, 1);
  --ng-color-primary-900: hsla(23.7, 100%, 13.9%, 1);
  --ng-color-primary-950: hsla(23.4, 100%, 8%, 1);
  --ng-color-secondary-50: hsla(81.4, 77.8%, 96.5%, 1);
  --ng-color-secondary-100: hsla(83.6, 77.8%, 92.9%, 1);
  --ng-color-secondary-200: hsla(82.8, 80.6%, 85.9%, 1);
  --ng-color-secondary-300: hsla(83.5, 80.2%, 76.3%, 1);
  --ng-color-secondary-400: hsla(83.4, 80.6%, 65.7%, 1);
  --ng-color-secondary-500: hsla(83.3, 80.4%, 56.1%, 1);
  --ng-color-secondary-600: hsla(83.1, 63.2%, 45.9%, 1);
  --ng-color-secondary-700: hsla(83.5, 62.8%, 35.9%, 1);
  --ng-color-secondary-800: hsla(83.7, 62.8%, 25.3%, 1);
  --ng-color-secondary-900: hsla(82.8, 62.5%, 15.7%, 1);
  --ng-color-secondary-950: hsla(82.8, 64.4%, 8.8%, 1);
  --ng-color-accent-50: hsla(60, 71.4%, 95.9%, 1);
  --ng-color-accent-100: hsla(60, 72.1%, 91.6%, 1);
  --ng-color-accent-200: hsla(60, 72.1%, 83.1%, 1);
  --ng-color-accent-300: hsla(60, 71.2%, 71.4%, 1);
  --ng-color-accent-400: hsla(60, 71.4%, 58.8%, 1);
  --ng-color-accent-500: hsla(60, 80.1%, 47.3%, 1);
  --ng-color-accent-600: hsla(60, 79.8%, 38.8%, 1);
  --ng-color-accent-700: hsla(60, 80.5%, 30.2%, 1);
  --ng-color-accent-800: hsla(60, 79.8%, 21.4%, 1);
  --ng-color-accent-900: hsla(60, 79.4%, 13.3%, 1);
  --ng-color-accent-950: hsla(60, 79.5%, 7.6%, 1);
  --ng-color-neutral-50: hsla(0, 0%, 96.1%, 1);
  --ng-color-neutral-100: hsla(0, 0%, 89.8%, 1);
  --ng-color-neutral-200: hsla(0, 0%, 83.1%, 1);
  --ng-color-neutral-300: hsla(0, 0%, 71%, 1);
  --ng-color-neutral-400: hsla(0, 0%, 54.1%, 1);
  --ng-color-neutral-500: hsla(0, 0%, 42%, 1);
  --ng-color-neutral-600: hsla(0, 0%, 29%, 1);
  --ng-color-neutral-700: hsla(0, 0%, 18%, 1);
  --ng-color-neutral-800: hsla(0, 0%, 11%, 1);
  --ng-color-neutral-900: hsla(0, 0%, 7.8%, 1);
  --ng-color-neutral-950: hsla(0, 0%, 2%, 1);

  /* Colour: surfaces */
  --ng-color-bg-base: hsla(0, 0%, 2%, 1);
  --ng-color-bg-surface-1: hsla(0, 0%, 5.1%, 1);
  --ng-color-bg-surface-2: hsla(0, 0%, 7.8%, 1);
  --ng-color-bg-surface-3: hsla(0, 0%, 11%, 1);
  --ng-color-bg-surface-4: hsla(0, 0%, 14.1%, 1);
  --ng-color-bg-inverted: hsla(0, 0%, 96.1%, 1);
  --ng-color-bg-brand: hsla(23.4, 100%, 8%, 1);
  --ng-color-bg-overlay: hsla(0, 0%, 2%, 0.72);
  --ng-color-bg-glass: hsla(0, 0%, 5.1%, 0.6);

  /* Colour: text */
  --ng-color-text-primary: hsla(0, 0%, 96.1%, 1);
  --ng-color-text-secondary: hsla(0, 0%, 71%, 1);
  --ng-color-text-tertiary: hsla(0, 0%, 54.1%, 1);
  --ng-color-text-disabled: hsla(0, 0%, 32.2%, 1);
  --ng-color-text-inverted: hsla(0, 0%, 2%, 1);
  --ng-color-text-brand: hsla(23.8, 100%, 50%, 1);
  --ng-color-text-link: hsla(23.8, 100%, 61%, 1);
  --ng-color-text-link-hover: hsla(24.1, 100%, 83.9%, 1);

  /* Colour: semantic */
  --ng-color-success: hsla(83.3, 80.4%, 56.1%, 1);
  --ng-color-success-bg: hsla(83.3, 80.4%, 56.1%, 0.12);
  --ng-color-success-text: hsla(83.5, 80.2%, 76.3%, 1);
  --ng-color-success-border: hsla(83.3, 80.4%, 56.1%, 0.4);
  --ng-color-warning: hsla(38.7, 100%, 56.3%, 1);
  --ng-color-warning-bg: hsla(38.7, 100%, 56.3%, 0.12);
  --ng-color-warning-text: hsla(40.4, 100%, 67.1%, 1);
  --ng-color-warning-border: hsla(38.7, 100%, 56.3%, 0.4);
  --ng-color-error: hsla(0, 100%, 65.1%, 1);
  --ng-color-error-bg: hsla(0, 100%, 65.1%, 0.12);
  --ng-color-error-text: hsla(0, 100%, 73.9%, 1);
  --ng-color-error-border: hsla(0, 100%, 65.1%, 0.45);
  --ng-color-info: hsla(198.4, 93.2%, 59.6%, 1);
  --ng-color-info-bg: hsla(198.4, 93.2%, 59.6%, 0.12);
  --ng-color-info-text: hsla(199.4, 95.5%, 73.9%, 1);
  --ng-color-info-border: hsla(198.4, 93.2%, 59.6%, 0.4);

  /* Typography */
  --ng-font-family-primary: "Inter", system-ui, sans-serif;
  --ng-font-family-mono: "JetBrains Mono", ui-monospace, monospace;
  --ng-font-size-2xs: 0.6875rem;
  --ng-font-size-xs: 0.75rem;
  --ng-font-size-sm: 0.875rem;
  --ng-font-size-md: 1rem;
  --ng-font-size-lg: 1.25rem;
  --ng-font-size-xl: 1.5625rem;
  --ng-font-size-2xl: 1.9375rem;
  --ng-font-size-3xl: 2.4375rem;
  --ng-font-size-4xl: 3.0625rem;
  --ng-font-size-5xl: 3.8125rem;
  --ng-font-size-6xl: 4.75rem;
  --ng-font-size-7xl: 5.9375rem;
  --ng-line-height-tight: 1.1;
  --ng-line-height-snug: 1.25;
  --ng-line-height-normal: 1.5;
  --ng-line-height-relaxed: 1.6;
  --ng-line-height-loose: 1.8;
  --ng-tracking-tighter: -0.04em;
  --ng-tracking-tight: -0.02em;
  --ng-tracking-normal: 0em;
  --ng-tracking-wide: 0.04em;
  --ng-tracking-wider: 0.08em;

  /* Spacing and layout */
  --ng-space-3xs: 0.125rem;
  --ng-space-2xs: 0.25rem;
  --ng-space-xs: 0.5rem;
  --ng-space-sm: 0.75rem;
  --ng-space-md: 1rem;
  --ng-space-lg: 1.5rem;
  --ng-space-xl: 2rem;
  --ng-space-2xl: 3rem;
  --ng-space-3xl: 4rem;
  --ng-space-4xl: 6rem;
  --ng-space-5xl: 8rem;
  --ng-space-6xl: 10rem;
  --ng-container-xs: 30rem;
  --ng-container-sm: 40rem;
  --ng-container-md: 48rem;
  --ng-container-lg: 64rem;
  --ng-container-xl: 80rem;
  --ng-container-2xl: 90rem;
  --ng-container-width-fluid: 100%;
  --ng-container-gutter-lg: 3rem;
  --ng-container-gutter-md: 2rem;
  --ng-container-gutter-sm: 1rem;
  --ng-content-max-width: 42.5rem;
  --ng-grid-columns-lg: 12;
  --ng-grid-columns-md: 8;
  --ng-grid-columns-sm: 4;
  --ng-grid-gap: 1.5rem;
  --ng-section-padding-y-lg: 6rem;
  --ng-section-padding-y-sm: 4rem;
  --ng-breakpoint-xs: 24rem;
  --ng-breakpoint-sm: 30rem;
  --ng-breakpoint-md: 48rem;
  --ng-breakpoint-lg: 64rem;
  --ng-breakpoint-xl: 80rem;
  --ng-breakpoint-2xl: 96rem;
  --ng-layout-header: 4.5rem;
  --ng-layout-sidebar: 17.5rem;
  --ng-layout-stack-gap: 1rem;
  --ng-layout-inline-gap: 0.5rem;

  /* Shape and depth */
  --ng-radius-none: 0;
  --ng-radius-xs: 0.25rem;
  --ng-radius-sm: 0.375rem;
  --ng-radius-md: 0.5rem;
  --ng-radius-lg: 0.75rem;
  --ng-radius-xl: 1rem;
  --ng-radius-2xl: 1.5rem;
  --ng-radius-pill: 9999px;
  --ng-radius-circle: 50%;
  --ng-border-width-none: 0;
  --ng-border-width-thin: 1px;
  --ng-border-width-md: 2px;
  --ng-border-width-thick: 4px;
  --ng-border-color-default: hsla(0, 0%, 100%, 0.12);
  --ng-border-color-subtle: hsla(0, 0%, 100%, 0.06);
  --ng-border-color-strong: hsla(0, 0%, 18%, 1);
  --ng-border-color-focus: hsla(23.8, 100%, 50%, 1);
  --ng-border-color-active: hsla(23.8, 100%, 50%, 1);
  --ng-blur-glass: 0.75rem;
  --ng-blur-overlay: 0.5rem;
  --ng-blur-backdrop: 1rem;
  --ng-gradient-primary: linear-gradient(135deg, hsla(23.8, 100%, 50%, 1) 0%, hsla(60, 80.1%, 47.3%, 1) 100%);
  --ng-gradient-secondary: linear-gradient(135deg, hsla(83.3, 80.4%, 56.1%, 1) 0%, hsla(60, 80.1%, 47.3%, 1) 100%);
  --ng-opacity-disabled: 0.40;
  --ng-opacity-muted: 0.70;
  --ng-opacity-overlay: 0.72;
  --ng-opacity-hover: 0.85;
  --ng-opacity-pressed: 0.70;
  --ng-z-base: 0;
  --ng-z-content: 10;
  --ng-z-header: 100;
  --ng-z-dropdown: 200;
  --ng-z-sticky: 300;
  --ng-z-modal: 400;
  --ng-z-popover: 500;
  --ng-z-toast: 600;
  --ng-z-max: 9999;

  /* Motion, icons and accessibility */
  --ng-motion-duration-instant: 0ms;
  --ng-motion-duration-fast: 150ms;
  --ng-motion-duration-normal: 250ms;
  --ng-motion-duration-slow: 400ms;
  --ng-motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ng-motion-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ng-motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ng-motion-ease-emphasized: cubic-bezier(0.3, 0, 0, 1);
  --ng-icon-size-xs: 0.75rem;
  --ng-icon-size-sm: 1rem;
  --ng-icon-size-md: 1.25rem;
  --ng-icon-size-lg: 1.5rem;
  --ng-icon-size-xl: 2rem;
  --ng-icon-size-2xl: 3rem;
  --ng-icon-stroke-width: 1.75px;
  --ng-focus-ring-width: 2px;
  --ng-focus-ring-offset: 0.125rem;
  --ng-focus-ring-color: hsla(23.8, 100%, 50%, 1);
  --ng-touch-target-min: 2.75rem;

  /* Other */
  --ng-button-primary-bg: hsla(23.8, 100%, 50%, 1);
  --ng-button-primary-hover: hsla(23.8, 100%, 61%, 1);
  --ng-button-primary-active: hsla(23.8, 100%, 41%, 1);
  --ng-button-secondary-hover: hsla(0, 0%, 14.1%, 1);
  --ng-button-secondary-active: hsla(0, 0%, 7.8%, 1);
  --ng-button-ghost-hover: hsla(0, 0%, 100%, 0.06);
  --ng-button-danger-default: hsla(0, 100%, 65.1%, 1);
  --ng-button-danger-hover: hsla(0, 100%, 73.9%, 1);
  --ng-button-height-sm: 2rem;
  --ng-button-height-md: 2.5rem;
  --ng-button-height-lg: 3rem;
  --ng-button-padding-x: 1.25rem;
  --ng-button-icon-gap: 0.5rem;
  --ng-input-height-sm: 2.25rem;
  --ng-input-height-md: 2.75rem;
  --ng-input-height-lg: 3.25rem;
  --ng-input-bg: hsla(0, 0%, 5.1%, 1);
  --ng-input-border: hsla(0, 0%, 100%, 0.12);
  --ng-input-placeholder: hsla(0, 0%, 54.1%, 1);
  --ng-form-label: hsla(0, 0%, 89.8%, 1);
  --ng-form-helper: hsla(0, 0%, 54.1%, 1);
  --ng-form-error: hsla(0, 100%, 73.9%, 1);
  --ng-form-required: hsla(23.8, 100%, 50%, 1);
  --ng-nav-link-default: hsla(0, 0%, 71%, 1);
  --ng-nav-link-hover: hsla(0, 0%, 96.1%, 1);
  --ng-card-padding-sm: 1rem;
  --ng-card-padding-md: 1.5rem;
  --ng-card-padding-lg: 2rem;
  --ng-progress-fill: hsla(23.8, 100%, 50%, 1);
  --ng-spinner: hsla(23.8, 100%, 50%, 1);
  --ng-table-divider: hsla(0, 0%, 100%, 0.08);
  --ng-chart-grid: hsla(0, 0%, 100%, 0.06);
  --ng-chart-axis: hsla(0, 0%, 42%, 1);
  --ng-chart-primary: hsla(23.8, 100%, 50%, 1);
  --ng-chart-secondary: hsla(83.3, 80.4%, 56.1%, 1);
  --ng-chart-tertiary: hsla(60, 80.1%, 47.3%, 1);
  --ng-overlay-backdrop: hsla(0, 0%, 2%, 0.72);
  --ng-content-article-width: 42.5rem;
  --ng-content-paragraph-gap: 1.25em;
  --ng-content-heading-gap: 0.5em;
  --ng-content-list-gap: 0.5em;
  --ng-token-version: 1.2.0;
  --ng-component-version: 1.2.0;

  /* CoreFramework aliases (proposed) */
  --bg-body: var(--ng-color-bg-base);
  --primary: var(--ng-color-brand-primary);
  --text-body: var(--ng-color-text-primary);
  --text-title: var(--ng-color-text-primary);
  --text-m: var(--ng-font-size-md);
  --space-m: var(--ng-space-md);
  --space-2xl: var(--ng-space-2xl);
  --max-screen-width: var(--ng-container-xl);
}
