/* ===== Base palette ===== */
:root{
--brand-900:#0A3635;--brand-800:#0D4644;--brand-700:#0F5E5B;--brand-600:#0E7C86;--brand-500:#1296B0;--brand-400:#22B8CF;--brand-100:#E0F4F4;
--hero-gradient:linear-gradient(135deg,#0E5A5C 0%,#1289A7 55%,#22B8CF 100%); /* @kind color */

--success-500:#16B37E;--success-100:#DDF7EA;
--warning-500:#F4A21B;--warning-100:#FFF3CF;
--danger-500:#E8436B;--danger-100:#FDE3EA;
--info-500:#3B82F6;--info-100:#E3EEFF;
--purple-500:#8B5CF6;--purple-100:#EDE7FE;
/* Intentional addition: orange for "ด่วนมาก" so it differs from "ด่วน" (yellow/warning) */
--orange-500:#F97316;--orange-100:#FFE7D1;

--neutral-bg:#F3F6F8;--neutral-surface:#FFFFFF;--neutral-border:#E6ECEF;
--neutral-900:#1F2A37;--neutral-600:#5B6B7A;--neutral-400:#94A3B3;

--kpi-blue:linear-gradient(135deg,#DCEAFE 0%,#EEF5FF 100%); /* @kind color */
--kpi-green:linear-gradient(135deg,#DAF6E6 0%,#EFFBF4 100%); /* @kind color */
--kpi-yellow:linear-gradient(135deg,#FFF0BF 0%,#FFF8E1 100%); /* @kind color */
--kpi-pink:linear-gradient(135deg,#FCE0EC 0%,#FFF0F6 100%); /* @kind color */

--btn-primary-gradient:linear-gradient(135deg,#2563EB 0%,#3B82F6 100%); /* @kind color */
}

/* ===== Semantic aliases — light (default) ===== */
:root{
--bg-app:var(--neutral-bg);
--surface-card:var(--neutral-surface);
--surface-sunken:#F4F7F9;
--surface-raised:#FFFFFF;
--border-subtle:var(--neutral-border);
--border-strong:#D3DDE2;
--text-strong:var(--neutral-900);
--text-body:var(--neutral-900);
--text-muted:var(--neutral-600);
--text-faint:var(--neutral-400);
--text-on-brand:#FFFFFF;

/* "ink" = AA-safe text colour on the matching soft (-100) background */
--brand-ink:#0B6B74;--brand-soft:var(--brand-100);
--success-ink:#0A7450;--success-soft:var(--success-100);
--warning-ink:#865000;--warning-soft:var(--warning-100);
--danger-ink:#B3204A;--danger-soft:var(--danger-100);
--info-ink:#1D4ED8;--info-soft:var(--info-100);
--purple-ink:#6532D1;--purple-soft:var(--purple-100);
--orange-ink:#A0420A;--orange-soft:var(--orange-100);

--sidebar-bg:var(--brand-800);
--sidebar-text:rgba(255,255,255,.88);
--sidebar-muted:rgba(255,255,255,.58);
--sidebar-active-bg:rgba(255,255,255,.12);
--sidebar-hover-bg:rgba(255,255,255,.06);
--sidebar-accent:var(--brand-400);
--sidebar-divider:rgba(255,255,255,.1);

--kpi-blue-bg:var(--kpi-blue); /* @kind color */--kpi-blue-ink:#1D4ED8;--kpi-blue-deco:#3B82F6;
--kpi-green-bg:var(--kpi-green); /* @kind color */--kpi-green-ink:#0A7450;--kpi-green-deco:#16B37E;
--kpi-yellow-bg:var(--kpi-yellow); /* @kind color */--kpi-yellow-ink:#865000;--kpi-yellow-deco:#F4A21B;
--kpi-pink-bg:var(--kpi-pink); /* @kind color */--kpi-pink-ink:#B3204A;--kpi-pink-deco:#E8436B;

--pdf-page:#FFFFFF;--pdf-canvas:#E4EAEE;--pdf-highlight:rgba(244,162,27,.28);
--focus-ring:0 0 0 3px rgba(34,184,207,.55);
color-scheme:light;
}

/* ===== Semantic aliases — dark ===== */
[data-theme="dark"]{
--bg-app:#0A1719;
--surface-card:#11242A;
--surface-sunken:#0D1D22;
--surface-raised:#163039;
--border-subtle:#1F3A42;
--border-strong:#2B4B54;
--text-strong:#EAF2F4;
--text-body:#DDE7EA;
--text-muted:#A5B6BF;
--text-faint:#7F939D;
--text-on-brand:#FFFFFF;

--brand-ink:#5ED6E6;--brand-soft:rgba(34,184,207,.16);
--success-ink:#4ED6A2;--success-soft:rgba(22,179,126,.18);
--warning-ink:#FBC45E;--warning-soft:rgba(244,162,27,.18);
--danger-ink:#FF8AA6;--danger-soft:rgba(232,67,107,.2);
--info-ink:#8DB6FF;--info-soft:rgba(59,130,246,.2);
--purple-ink:#BDA4FF;--purple-soft:rgba(139,92,246,.2);
--orange-ink:#FFA66B;--orange-soft:rgba(249,115,22,.2);

--sidebar-bg:#07292A;
--sidebar-divider:rgba(255,255,255,.08);

--kpi-blue-bg:linear-gradient(135deg,#1A2F55 0%,#142440 100%); /* @kind color */--kpi-blue-ink:#A9C8FF;
--kpi-green-bg:linear-gradient(135deg,#123D30 0%,#0F2E25 100%); /* @kind color */--kpi-green-ink:#7FE3BC;
--kpi-yellow-bg:linear-gradient(135deg,#3F3212 0%,#2E250F 100%); /* @kind color */--kpi-yellow-ink:#FFD57A;
--kpi-pink-bg:linear-gradient(135deg,#43192A 0%,#311321 100%); /* @kind color */--kpi-pink-ink:#FFA9C0;

--pdf-page:#F4F6F7;--pdf-canvas:#0D1D22;--pdf-highlight:rgba(244,162,27,.35);
color-scheme:dark;
}
