/* Master Data tokens: primitive -> semantic -> component. */
:root {
  --palette-white: #ffffff;
  --palette-slate-25: #f6f8fc;
  --palette-slate-50: #f8fafc;
  --palette-slate-100: #f1f5f9;
  --palette-slate-200: #dbe3ef;
  --palette-slate-400: #8292a8;
  --palette-slate-500: #64748b;
  --palette-slate-600: #475569;
  --palette-slate-700: #334155;
  --palette-slate-900: #0f172a;
  --palette-blue-50: #eff6ff;
  --palette-blue-200: #bfdbfe;
  --palette-blue-600: #2563eb;
  --palette-blue-700: #1d4ed8;
  --palette-green-50: #ecfdf5;
  --palette-green-200: #a7f3d0;
  --palette-green-700: #047857;
  --palette-green-900: #065f46;
  --palette-amber-50: #fffbeb;
  --palette-amber-200: #fde68a;
  --palette-amber-700: #b45309;
  --palette-amber-900: #78350f;
  --palette-red-50: #fef2f2;
  --palette-red-200: #fecaca;
  --palette-red-700: #b91c1c;
  --palette-red-900: #7f1d1d;
  --palette-sky-50: #f0f9ff;
  --palette-sky-700: #0369a1;
  --palette-shadow: 0 1px 3px rgb(15 23 42 / .06);
  --palette-floating-shadow: 0 12px 32px rgb(15 23 42 / .16);
  --color-primary: var(--palette-blue-600);
  --color-primary-strong: var(--palette-blue-700);
  --color-primary-soft: var(--palette-blue-50);
  --color-primary-border: var(--palette-blue-200);
  --color-on-primary: var(--palette-white);
  --color-success: var(--palette-green-700);
  --color-success-strong: var(--palette-green-900);
  --color-success-soft: var(--palette-green-50);
  --color-success-border: var(--palette-green-200);
  --color-warning: var(--palette-amber-700);
  --color-warning-strong: var(--palette-amber-900);
  --color-warning-soft: var(--palette-amber-50);
  --color-warning-border: var(--palette-amber-200);
  --color-danger: var(--palette-red-700);
  --color-danger-strong: var(--palette-red-900);
  --color-danger-soft: var(--palette-red-50);
  --color-danger-border: var(--palette-red-200);
  --color-info: var(--palette-sky-700);
  --color-info-soft: var(--palette-sky-50);
  --color-background: var(--palette-slate-25);
  --color-surface: var(--palette-white);
  --color-surface-subtle: var(--palette-slate-50);
  --color-surface-muted: var(--palette-slate-100);
  --color-foreground: var(--palette-slate-900);
  --color-secondary-text: var(--palette-slate-600);
  --color-muted-text: var(--palette-slate-500);
  --color-border: var(--palette-slate-200);
  --color-border-strong: var(--palette-slate-400);
  --color-ring: var(--color-primary);
  --font-family-ui: "Noto Sans Thai", "Leelawadee UI", Tahoma, system-ui, sans-serif;
  --font-size-body: 14px;
  --font-size-label: 14px;
  --font-size-helper: 13px;
  --font-size-meta: 12px;
  --font-size-card: 16px;
  --font-size-section: 20px;
  --font-size-page: 28px;
  --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: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-card: var(--palette-shadow);
  --shadow-float: var(--palette-floating-shadow);
  --duration-fast: 150ms;
  --control-height: 44px;
  --input-height: 48px;
  --card-padding: var(--space-6);
  --table-cell-padding: var(--space-3) var(--space-4);
  --sidebar-width: 248px;
  --topbar-height: 72px;
  --content-max: 1240px;
}

