/**

 * EMS ERP Design Tokens — Module 5.8 density-optimized.

 * Official enterprise palette (Theme Manager source of truth).

 */

:root {

  /* Brand */

  --ems-primary: #1E63B6;

  --ems-primary-hover: #18569F;

  --ems-primary-deep: #0d4b85;

  --ems-primary-grad-end: #1e40af;

  --ems-accent: #3182ce;

  --ems-secondary: #4fd1c7;



  /* Semantic */

  --ems-success: #16A34A;

  --ems-warning: #F59E0B;

  --ems-danger: #DC2626;

  --ems-info: #0EA5E9;



  /* Surfaces */

  --ems-bg: #F5F7FB;

  --ems-card: #FFFFFF;

  --ems-border: #E5E7EB;

  --ems-text: #111827;

  --ems-muted: #6B7280;

  --ems-light: #f7fafc;

  --ems-dark: #2d3748;

  --ems-on-primary: #FFFFFF;

  --ems-secondary-btn: #E2E8F0;

  --ems-secondary-btn-hover: #CBD5E1;

  --ems-soft-primary: #DBEAFE;

  --ems-soft-primary-text: #1E40AF;

  --ems-soft-success: #DCFCE7;

  --ems-soft-success-text: #166534;

  --ems-soft-warning: #FEF3C7;

  --ems-soft-warning-text: #92400E;

  --ems-soft-danger: #FEE2E2;

  --ems-soft-danger-text: #B91C1C;

  --ems-soft-info: #E0F2FE;

  --ems-soft-info-text: #0369A1;

  --ems-soft-muted: #F1F5F9;

  --ems-soft-muted-text: #475569;



  /* Aliases used by POS-style rules */

  --primary: var(--ems-primary-deep);

  --secondary: var(--ems-secondary);

  --accent: var(--ems-accent);

  --success: var(--ems-success);

  --warning: var(--ems-warning);

  --danger: var(--ems-danger);

  --info: var(--ems-info);

  --dark: var(--ems-dark);

  --light: var(--ems-light);

  --border: var(--ems-border);

  --text-muted: var(--ems-muted);

  --text: var(--ems-text);

  --bg: var(--ems-bg);

  --card: var(--ems-card);



  /* Radius / shadow */

  --radius: 8px;

  --radius-sm: 6px;

  --radius-lg: 10px;

  --radius-xl: 14px;

  --shadow: 0 1px 2px rgba(15, 23, 42, 0.06);

  --shadow-md: 0 1px 3px rgba(15, 23, 42, 0.06);

  --shadow-lg: 0 4px 12px rgba(15, 23, 42, 0.1);

  --shadow-header: 0 2px 12px rgba(0, 0, 0, 0.12);



  /* Spacing scale (compact commercial ERP) */

  --space-1: 0.25rem;

  --space-2: 0.5rem;

  --space-3: 0.75rem;

  --space-4: 1rem;

  --space-5: 1.25rem;

  --space-6: 1.5rem;

  --space-8: 2rem;



  /* Density tokens — Compact baseline (Module 5.8) */

  --card-padding: 1rem;          /* 16px */

  --card-padding-y: 0.75rem;

  --section-gap: 1rem;           /* 16px */

  --grid-gap: 1rem;              /* 16px */

  --toolbar-gap: 0.5rem;

  --control-height: 2rem;        /* 32px */

  --control-padding-y: 0.35rem;

  --control-padding-x: 0.65rem;

  --btn-padding-y: 0.35rem;

  --btn-padding-x: 0.7rem;

  --table-cell-y: 0.4rem;

  --table-cell-x: 0.65rem;

  --nav-item-y: 0.45rem;

  --icon-size: 0.875rem;

  --kpi-min-height: 3.75rem;



  /* Typography — desktop compact (14px body) */

  --font: 'Poppins', system-ui, -apple-system, sans-serif;

  --fs-h1: 1.375rem;             /* 22px */

  --fs-h2: 1.0625rem;            /* 17px */

  --fs-h3: 0.9375rem;            /* 15px card titles */

  --fs-body: 0.875rem;           /* 14px */

  --fs-secondary: 0.75rem;       /* 12px */

  --fs-caption: 0.75rem;         /* 12px */

  --fs-label: 0.8125rem;         /* 13px */

  --fs-table: 0.8125rem;         /* 13px */

  --fs-badge: 0.75rem;           /* 12px */

  --fs-btn: 0.8125rem;           /* 13px */

  --fs-nav: 0.875rem;            /* 14px */

  --fs-kpi: 1.5rem;              /* 24px card values */

  --fs-kpi-lg: 1.625rem;         /* 26px */



  --header-grad: linear-gradient(330deg, var(--ems-primary-deep) 80%, var(--ems-primary-grad-end) 100%);

  --section-grad: linear-gradient(330deg, var(--ems-accent) 80%, var(--ems-primary-grad-end) 100%);

  --sidebar-width: 232px;

  --sidebar-width-collapsed: 64px;

  --topbar-height: 52px;

  --page-max: 1440px;

  --transition: 0.18s ease;

}



[data-theme="dark"] {

  --ems-bg: #0f172a;

  --ems-card: #1e293b;

  --ems-border: #334155;

  --ems-text: #f1f5f9;

  --ems-muted: #94a3b8;

  --ems-light: #1e293b;

  --ems-dark: #f8fafc;

  --ems-secondary-btn: #334155;

  --ems-secondary-btn-hover: #475569;

  --ems-soft-primary: #1e3a5f;

  --ems-soft-primary-text: #93c5fd;

  --ems-soft-success: #14532d;

  --ems-soft-success-text: #86efac;

  --ems-soft-warning: #78350f;

  --ems-soft-warning-text: #fcd34d;

  --ems-soft-danger: #7f1d1d;

  --ems-soft-danger-text: #fca5a5;

  --ems-soft-info: #0c4a6e;

  --ems-soft-info-text: #7dd3fc;

  --ems-soft-muted: #334155;

  --ems-soft-muted-text: #cbd5e1;

  --bg: var(--ems-bg);

  --card: var(--ems-card);

  --border: var(--ems-border);

  --text: var(--ems-text);

  --text-muted: var(--ems-muted);

  --dark: var(--ems-dark);

  --light: var(--ems-light);

  --shadow: 0 1px 2px rgba(0, 0, 0, 0.35);

  --shadow-md: 0 1px 3px rgba(0, 0, 0, 0.35);

  --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.45);

}


