/* ============================================================
   Go365 BRAND TOKENS — NGUỒN DUY NHẤT bảng màu cho Web + Admin.
   Đổi màu thương hiệu CHỈ sửa file NÀY (khớp Design System tokens/colors.css).
   Lớp giao diện dùng chung (nút, nhãn, thẻ SP, bộ lọc, bảng) ở brand-components.css.
   File này được link vào wwwroot/css/brand-tokens.css của cả
   Go365.Web và Go365.Admin qua <Content Include Link> trong .csproj.
   Các file legacy.css / cms-common.css / legacy-common.css /
   legacy-home-inline.css đã GỠ block :root riêng và dùng chung file này.
   --bd = màu đường kẻ, TRÙNG giá trị với --line. Giữ cả hai vì 53 component
   admin/web đã viết var(--bd) từ trước mà token chưa từng được khai báo —
   khai báo CSS hỏng nên 250 chỗ border/divider bị mất tiệt (phát hiện 19/09/2026).
   Xoá --bd là mất lại 250 đường kẻ đó.
   Cùng bệnh, tìm ra ngày 19/09/2026 khi rà toàn bộ var(--x) chưa khai báo:
     --bgw  nền nhạt của khối phụ/ô mã — 50 chỗ ở 12 file, 41 chỗ là background
            nên 41 mảng nền đang mất trắng. Bằng --g1.
     --cb   nền nút đang chọn (.btn.ac ở /product-ota-listings). Bằng --t-deep.
     --g3   màu vạch kẻ bên trái thẻ (/marketing-plan). Bằng --g2.
     --p    màu nhấn của tab đang chọn và link (trang AI Hub). Bằng --t.
   ============================================================ */
:root{--t:#015959;--t2:#02676a;--t3:#29b3b6;--t4:#cdebec;--or:#f95d00;--or-text:#bf4700;--or2:#ff7e2e;--gd:#fbc117;--cr:#fff8e5;--w:#fff;--g1:#fff8e5;--g2:#ecdcb5;--gt:#3d4a4a;--dk:#0d1a1a;--tx:#1a2628;--gn:#16a34a;--gl:#dcfce7;--rd:#dc2626;--rl:#fee2e2;--bl:#29b3b6;--bll:#cdebec;--pu:#fbc117;--pll:#fff3c0;--sw:240px;--t-deep:#003c3c;--sand:#fdf0c5;--line:#ecdcb5;--bd:#ecdcb5;--bgw:#fff8e5;--cb:#003c3c;--g3:#ecdcb5;--p:#015959;--terra-bg:#ffe4d0;--ink:#0d1a1a}

/* ============================================================
   DESIGN SYSTEM TOKENS (gộp từ internal/design-system/tokens — 02/10/2026)
   CHỈ THÊM, không đổi giá trị nào ở khối trên. Tên ngắn (--t, --or, --w...) vẫn
   chạy như cũ; tên dài dưới đây dùng cho code mới + lớp dùng chung brand-components.css.
   Hai nguyên tắc anh chốt: (1) gây ấn tượng, lên thương hiệu; (2) dễ dùng cho mọi
   đối tượng khách → chữ nội dung không nhỏ hơn 12px, vùng chạm tối thiểu 44px.
   Font số = IBM Plex Mono (đã tự host). KHÔNG thêm Spline Sans Mono.
   Lưu ý: web khách nạp legacy-home-inline.css SAU file này và khai lại --fs-*, --fw-*,
   --lh-* → trên web khách thang chữ cũ vẫn thắng (cố ý, để không đổi giao diện cũ).
   ============================================================ */
:root{
  /* --- Bảng màu gốc --- */
  --go-teal-900:#003c3c; --go-teal-800:#013332; --go-teal-700:#015959; --go-teal-600:#02676a;
  --go-teal-400:#29b3b6; --go-teal-100:#cdebec; --go-teal-050:#e8f5f5;
  --go-orange-600:#d34d00; --go-orange-500:#f95d00; --go-orange-400:#ff7e2e; --go-terra-100:#ffe4d0;
  --go-gold-500:#fbc117; --go-gold-100:#fff3c0; --go-gold-ink:#a06a00;
  --go-cream:#fff8e5; --go-paper:#f4ead6; --go-sand:#fdf0c5; --go-white:#ffffff;
  --go-ink:#10211f; --go-text:#1a2628; --go-muted:#7c6f57;
  --go-line:#d8c9ab; --go-line-soft:#ecdcb5;
  --go-success:#16a34a; --go-success-bg:#dcfce7;
  --go-danger:#dc2626;  --go-danger-bg:#fee2e2;
  --go-info:#015959;    --go-info-bg:#cdebec;
  --go-warning:#a06a00; --go-warning-bg:#fff3c0;

  /* --- Tên theo vai trò (code mới dùng nhóm này). Trỏ về tên ngắn khi trùng giá trị
         để nền tối của admin (admin.css khai lại tên ngắn) tự đổi theo. --- */
  --brand-primary:var(--t); --brand-deep:var(--t-deep); --brand-accent:var(--or); --brand-gold:var(--gd);
  --surface-page:var(--cr); --surface-alt:var(--go-paper); --surface-card:var(--w);
  --surface-invert:var(--t-deep); --surface-sand:var(--sand);
  --text-heading:var(--ink); --text-body:var(--tx); --text-muted:var(--gt);
  --text-invert:#fbf6ea; --text-link:var(--t); --text-accent:var(--or-text); --text-on-accent:var(--on-accent,#fff);
  --border-default:var(--go-line); --border-soft:var(--line);
  --focus-ring:rgba(1,89,89,.14);

  /* --- Chữ --- */
  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --font-body:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;
  --fs-display:clamp(40px,6vw,72px); --fs-h1:clamp(30px,4.2vw,46px); --fs-h2:clamp(24px,3vw,34px);
  --fs-h3:clamp(19px,2.2vw,23px); --fs-h4:17px; --fs-body-lg:16px; --fs-body:15px; --fs-body-sm:14px;
  --fs-caption:13px; --fs-micro:12px; --fs-eyebrow:11px;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-extra:800; --fw-black:900;
  --lh-tight:1.1; --lh-snug:1.3; --lh-normal:1.55; --lh-loose:1.7;
  --ls-display:-0.02em; --ls-eyebrow:0.22em; --ls-label:0.04em;

  /* --- Khoảng cách (bậc 4px), bố cục --- */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px; --space-20:80px;
  --container-max:1240px; --sidebar-w:var(--sw); --nav-h:68px; --tap-min:44px;

  /* --- Bo góc --- */
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-xl:20px; --radius-pill:999px;

  /* --- Viền --- */
  --border-hairline:1px solid var(--border-default);
  --border-input:1.5px solid var(--border-default);
  --border-dashed:2px dashed var(--border-soft);

  /* --- Đổ bóng (ấm, loang thấp) --- */
  --shadow-xs:0 1px 0 rgba(13,26,26,.04);
  --shadow-sm:0 2px 10px rgba(0,30,30,.05);
  --shadow-card:0 14px 32px -22px rgba(16,33,31,.5);
  --shadow-lift:0 22px 44px rgba(0,30,30,.18);
  --shadow-ticket:0 42px 84px -34px rgba(0,0,0,.6);
  --shadow-cta:0 4px 14px rgba(249,93,0,.28);
  --shadow-cta-lg:0 10px 24px -8px rgba(249,93,0,.45);

  /* --- Chuyển động --- */
  --ease-out:cubic-bezier(.2,.8,.2,1); --ease-snap:cubic-bezier(.2,.7,.2,1.05);
  --dur-fast:.18s; --dur-base:.25s; --dur-slow:.45s;
  --hover-lift:translateY(-4px); --press-scale:scale(.97);
}
