:root {
  color-scheme: light;

  /* Silent Professional: semantic color tokens */
  --erp-bg: #f3f6f7;
  --erp-surface: #ffffff;
  --erp-surface-subtle: #eef6f6;
  --erp-surface-muted: #f7f9fa;
  --erp-surface-raised: #ffffff;
  --erp-surface-overlay: #ffffff;
  --erp-surface-hover: #f4f8f8;
  --erp-surface-selected: #e8f5f4;
  --erp-surface-danger-subtle: #fff5f5;
  --erp-surface-warning-subtle: #fff8ec;
  --erp-surface-success-subtle: #f1faf6;
  --erp-surface-info-subtle: #f2f7fb;
  --erp-border: #d8e0e5;
  --erp-border-strong: #c9d4dd;
  --erp-primary: #0b777c;
  --erp-primary-hover: #08686d;
  --erp-primary-active: #075a5f;
  --erp-text: #17242b;
  --erp-text-secondary: #34434b;
  --erp-text-muted: #64727c;
  --erp-success: #167046;
  --erp-warning: #aa5c00;
  --erp-danger: #b83434;
  --erp-info: #176b8d;
  --erp-focus-ring: rgba(11, 119, 124, 0.28);
  --erp-dashboard-receiving: var(--erp-primary);
  --erp-dashboard-shipping: var(--erp-info);
  --erp-dashboard-reconciliation: var(--erp-warning);
  --erp-dashboard-disabled: var(--erp-text-muted);

  /* Typography */
  --erp-font-sans: Inter, "Noto Sans TC", "Microsoft JhengHei", Arial, sans-serif;
  --erp-font-size-xs: 12px;
  --erp-font-size-sm: 14px;
  --erp-font-size-md: 16px;
  --erp-font-size-lg: 20px;
  --erp-font-size-xl: 24px;
  --erp-font-size-2xl: 32px;
  --erp-line-height-tight: 1.25;
  --erp-line-height-normal: 1.5;
  --erp-line-height-relaxed: 1.65;
  --erp-font-weight-regular: 400;
  --erp-font-weight-medium: 500;
  --erp-font-weight-semibold: 600;
  --erp-font-weight-bold: 700;
  --erp-letter-spacing-normal: 0;

  /* 8px grid */
  --erp-space-0: 0;
  --erp-space-1: 4px;
  --erp-space-2: 8px;
  --erp-space-3: 12px;
  --erp-space-4: 16px;
  --erp-space-5: 24px;
  --erp-space-6: 32px;
  --erp-space-7: 40px;
  --erp-space-8: 48px;
  --erp-space-9: 64px;

  /* Shape and elevation */
  --erp-radius-sm: 8px;
  --erp-radius-md: 12px;
  --erp-radius-lg: 16px;
  --erp-radius-pill: 999px;
  --erp-shadow-xs: 0 2px 6px rgba(23, 36, 43, 0.04);
  --erp-shadow-sm: 0 8px 20px rgba(23, 36, 43, 0.06);
  --erp-shadow-md: 0 16px 36px rgba(23, 36, 43, 0.10);
  --erp-shadow-focus: 0 0 0 3px var(--erp-focus-ring);
  --erp-border-width: 1px;
  --erp-border-style: solid;
  --erp-border-color: var(--erp-border);
  --erp-border-color-strong: var(--erp-border-strong);

  /* Motion */
  --erp-duration-fast: 150ms;
  --erp-duration-normal: 200ms;
  --erp-ease-standard: ease;
  --erp-ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* Layout and icon scale */
  --erp-header-height: 72px;
  --erp-sidebar-width: 240px;
  --erp-content-max-width: 1680px;
  --erp-content-max-width-focused: 1180px;
  --erp-content-max-width-standard: 1440px;
  --erp-content-max-width-wide: var(--erp-content-max-width);
  --erp-page-padding-x: var(--erp-space-6);
  --erp-page-padding-y: var(--erp-space-5);
  --erp-page-padding: var(--erp-page-padding-y) var(--erp-page-padding-x);
  --erp-page-gap: var(--erp-space-4);
  --erp-section-gap: var(--erp-space-5);
  --erp-control-height-sm: 32px;
  --erp-control-height-md: 40px;
  --erp-control-height-lg: 48px;
  --erp-control-height: var(--erp-control-height-md);
  --erp-selection-size: 20px;
  --erp-selection-size-max: 24px;
  --erp-selection-radius: 4px;
  --erp-selection-gap: 12px;
  --erp-selection-border: var(--erp-border-strong);
  --erp-selection-border-hover: var(--erp-primary);
  --erp-selection-bg: var(--erp-surface);
  --erp-selection-bg-checked: var(--erp-primary);
  --erp-selection-check-color: #ffffff;
  --erp-selection-disabled-opacity: 0.56;
  --erp-list-row-min-height: 64px;
  --erp-list-row-compact-height: 48px;
  --erp-list-gap: var(--erp-space-2);
  --erp-list-toolbar-gap: var(--erp-space-3);
  --erp-icon-sm: 16px;
  --erp-icon-md: 20px;
  --erp-icon-lg: 24px;

  /* Layer order */
  --erp-z-base: 0;
  --erp-z-sticky: 10;
  --erp-z-dropdown: 20;
  --erp-z-overlay: 30;
  --erp-z-dialog: 40;
  --erp-z-toast: 50;
  --erp-z-tooltip: 60;

  /* Legacy aliases: retain existing module styles during staged migration. */
  --bg: var(--erp-bg);
  --panel: var(--erp-surface);
  --line: var(--erp-border);
  --text: var(--erp-text);
  --muted: var(--erp-text-muted);
  --brand: var(--erp-primary);
  --brand-dark: var(--erp-primary-active);
  --warn: var(--erp-warning);
  --danger: var(--erp-danger);
  --ok: var(--erp-success);
  --soft: var(--erp-surface-subtle);
  --shadow: var(--erp-shadow-sm);
}
