/* NKL Admin Portal — design tokens (palette supplied by client reference boards) */
:root{
  /* brand */
  --nkl-brand-primary:#0D1B2A;
  --nkl-brand-secondary:#0E7C86;
  --nkl-brand-success:#2E7D32;
  --nkl-brand-accent:#7CB342;
  --nkl-accent-blue:#2563EB;
  --nkl-accent-purple:#6366F1;
  --nkl-accent-cyan:#06B6D4;
  --nkl-accent-slate:#475569;

  --nkl-navy:#0D1B2A;
  --nkl-navy-dark:#081119;
  --nkl-accent:#3C9A43;
  --nkl-accent-dark:#2E7D32;
  --nkl-secondary-btn:var(--nkl-brand-primary);
  --nkl-secondary-btn-dark:#081119;

  /* semantic / status (light) */
  --nkl-success:#2E7D32; --nkl-success-bg:#E8F5E9;
  --nkl-warning:#F59E0B; --nkl-warning-bg:#FFF4E5;
  --nkl-error:#DC2626; --nkl-error-bg:#FEE2E2;
  --nkl-info:#2563EB; --nkl-info-bg:#E0F2FE;
  --nkl-critical:#7A0A2E; --nkl-critical-bg:#FBE1E8;
  --nkl-neutral:#6B7280; --nkl-neutral-bg:#F1F3F5;

  /* surfaces (light) */
  --nkl-bg:#F6F7F9;
  --nkl-surface:#FFFFFF;
  --nkl-surface-subtle:#F1F3F5;
  --nkl-surface-hover:#E9ECEF;
  --nkl-border:#E5E7EB;
  --nkl-border-subtle:#D1D5DB;
  /* Bootstrap's own .border-top/.border-bottom/.border utilities read
     this variable (Bootstrap 5.3+) - overriding it here means every
     Bootstrap border utility already matches this project's own design
     token, with no per-element style="border-color:..." needed anywhere
     (a real CSP style-src violation found via live browser test 2026-08-18). */
  --bs-border-color:var(--nkl-border);
  --nkl-text:#111827;
  --nkl-text-secondary:#374151;
  --nkl-text-muted:#6B7280;
  --nkl-sidebar-bg:#FFFFFF;
  --nkl-sidebar-w:264px;
  --nkl-sidebar-w-collapsed:72px;
  --nkl-topbar-h:60px;
  --nkl-content-max-w:1560px;

  /* type */
  --nkl-font: 'Inter', system-ui, -apple-system, sans-serif;
  --nkl-font-mono: 'SFMono-Regular', Consolas, monospace;
  --nkl-fs-h1:28px;
  --nkl-fs-h2:20px;
  --nkl-fs-h3:16px;
  --nkl-fs-body:14px;
  --nkl-fs-small:12px;
  --nkl-fs-caption:11px;

  /* spacing / radius / shadow */
  --nkl-radius:8px;
  --nkl-radius-sm:6px;
  --nkl-shadow-sm:0 1px 2px rgba(20,26,40,.06);
  --nkl-shadow-md:0 6px 20px rgba(20,26,40,.12);
  --nkl-focus-ring:0 0 0 3px rgba(37,99,235,.35);

  /* z-index layers */
  --nkl-z-topbar:100;
  --nkl-z-sidebar:110;
  --nkl-z-dropdown:200;
  --nkl-z-modal:900;
  --nkl-z-toast:1000;
}
[data-bs-theme="dark"]{
  --nkl-bg:#111827;
  --nkl-surface:#161C24;
  --nkl-surface-subtle:#1D2531;
  --nkl-surface-hover:#232C3A;
  --nkl-border:#334155;
  --nkl-border-subtle:#1F2937;
  --bs-border-color:var(--nkl-border);
  --nkl-text:#F8FAFC;
  --nkl-text-secondary:#CBD5E1;
  --nkl-text-muted:#94A3B8;
  --nkl-sidebar-bg:#161C24;

  --nkl-success:#22C55E; --nkl-success-bg:#052E16;
  --nkl-warning:#F59E0B; --nkl-warning-bg:#3A2505;
  --nkl-error:#DC2626; --nkl-error-bg:#3B0E0E;
  --nkl-info:#2563EB; --nkl-info-bg:#0B1E3A;
  --nkl-neutral:#94A3B8; --nkl-neutral-bg:#1D2531;
}
