/* Sentinel colour system. Base ramps first, semantic aliases after.
   Values lifted verbatim from sentinel-gui/tailwind.config.ts and
   sentinel-gui/src/index.css — do not round or re-derive. */
:root{
  /* Primary — action blue */
  --primary-50:#EFF6FF;--primary-100:#DBEAFE;--primary-200:#BFDBFE;--primary-300:#93C5FD;--primary-400:#60A5FA;
  --primary-500:#2563EB;--primary-600:#1D4ED8;--primary-700:#1E40AF;--primary-800:#1E3A8A;--primary-900:#172554;
  --primary:#2563EB;

  /* Accent — Delta red. Reserved for danger + brand moments, never decoration. */
  --accent-50:#FEF2F2;--accent-100:#FEE2E2;--accent-200:#FECACA;--accent-300:#FCA5A5;--accent-400:#F87171;
  --accent-500:#EF4444;--accent-600:#DC2626;--accent-700:#B91C1C;--accent-800:#991B1B;--accent-900:#7F1D1D;
  --accent:#DC2626;
  --semantic-red:#B91C1C;

  /* Azure — the workhorse. Every label, every metadata line, every active nav row. */
  --azure-50:#F0F4F8;--azure-100:#E1E9F0;--azure-200:#C3D3E1;--azure-300:#A5BDD2;--azure-400:#87A7C3;
  --azure-500:#69859E;--azure-600:#546B7E;--azure-700:#40515F;--azure-800:#2B373F;--azure-900:#171D20;
  --azure:#69859E;

  /* Neutrals — slate ramp (Tailwind slate, the product's text + border scale) */
  --slate-50:#F8FAFC;--slate-100:#F1F5F9;--slate-200:#E2E8F0;--slate-300:#CBD5E1;--slate-400:#94A3B8;
  --slate-500:#64748B;--slate-600:#475569;--slate-700:#334155;--slate-800:#1E293B;--slate-900:#0F172A;

  /* Canvas */
  --background-light:#FAFBFC;
  --background-dark:#121212;

  /* Semantic status — the load-bearing colours. Never used decoratively. */
  --success:#22C55E;
  --warning:#F59E0B;
  --error:#EF4444;
  --info:#3B82F6;

  /* Status vocabulary as it appears in the console (dark-console spec) */
  --status-online:#48BB78;
  --status-warning:#ECC94B;
  --status-critical:#F56565;
  --status-offline:#718096;
  --status-override:#9F7AEA;

  /* IEC phase colours (post-2004 standard) */
  --phase-l1-iec:#8B4513;--phase-l2-iec:#1A1A1A;--phase-l3-iec:#6B7280;--phase-n-iec:#3B82F6;--phase-pe-iec:#22C55E;
  /* Legacy SA phase colours (pre-2004 installations) */
  --phase-l1-legacy:#EF4444;--phase-l2-legacy:#EAB308;--phase-l3-legacy:#3B82F6;--phase-n-legacy:#1A1A1A;--phase-pe-legacy:#22C55E;

  /* ---- Semantic aliases: use these in product code ---- */
  --surface-page:var(--background-light);
  --surface-card:rgba(255,255,255,.85);
  --surface-panel:rgba(255,255,255,.75);
  --surface-elevated:#FFFFFF;
  --border-subtle:rgba(15,23,42,.06);
  --border-strong:var(--slate-200);

  --text-heading:var(--slate-900);
  --text-body:var(--slate-800);
  --text-secondary:var(--slate-600);
  --text-muted:var(--slate-400);
  --text-label:var(--azure);
  --text-on-accent:#FFFFFF;

  --action-primary:var(--primary);
  --action-primary-hover:var(--primary-600);
  --action-quiet:var(--azure);
  --action-danger:var(--accent-600);
  --focus-ring:var(--azure);

  /* Chart tooltips */
  --tooltip-bg:#fff;--tooltip-border:#e5e7eb;--tooltip-text:#111827;
}

.dark{
  --surface-page:var(--background-dark);
  --surface-card:rgba(35,19,15,.6);
  --surface-panel:rgba(35,19,15,.55);
  --surface-elevated:var(--slate-900);
  --border-subtle:rgba(255,255,255,.08);
  --border-strong:var(--slate-700);
  --text-heading:#FFFFFF;
  --text-body:var(--slate-200);
  --text-secondary:var(--slate-400);
  --text-muted:var(--slate-500);
  --tooltip-bg:#1e293b;--tooltip-border:#334155;--tooltip-text:#f1f5f9;
}
