:root {
    /* Bảng màu nền */
    --cmit-navy: #002d56;
    --cmit-navy-deep: #012D56;
    --cmit-blue: #2e6da4;
    --cmit-blue-hover: #255a88;
    --cmit-blue-soft: #EAF0FA;
    --cmit-blue-active: #d6e5f1;
    --cmit-light-blue: #7EC4EF;
    --cmit-green: #14655A;
    --cmit-primary: #003087;
    --cmit-primary-light: #e8f0fe;
    --cmit-primary-action: #4E9BD1;
    --cmit-primary-action-hover: #348fc7;

    /* Bề mặt */
    --cmit-bg: #f2f5f8;
    --cmit-white: #ffffff;
    --cmit-sidebar-bg: #f9fbfd;
    --cmit-disabled: #f3f3f3;
    --cmit-button-disabled-bg: var(--cmit-disabled);
    /* Chữ nút/control disabled — token riêng, không đổi --cmit-text-muted toàn hệ. */
    --cmit-button-disabled-text: #adadad;
    --cmit-row-alt: #f7fafc;
    --cmit-table-header: #EAF0FA;
    --cmit-table-font-size: 13px;
    --cmit-cream-bg: #fdfbf8;
    --cmit-cream-bg-hover: #ebe8e4;
    --cmit-footer: #002d56;
    

    /* Đường viền */
    --cmit-border: #d0d7de;
    --cmit-border-light: #e5e9ee;

    /* Đổ bóng chuẩn cho card/panel. Trước đây chỉ khai ở tokens.portal.css và
       tokens.apicenter.css với CÙNG một giá trị, còn Internal không có — nên
       component Shared dùng var(--shadow) bị mất bóng hoàn toàn trên Internal
       (var() không giải được thì cả khai báo box-shadow bị bỏ). */
    --shadow: 0 8px 24px rgba(9, 31, 52, 0.08);

    /* Chiều cao / bo góc chuẩn cho ô nhập (.cmit-input) và CPButton. */
    --cmit-control-height: 2.9rem;
    /* Fixed pixels keep compact search controls at 40px in hosts with different root font sizes. */
    --cmit-search-input-height: 40px;
    --cmit-search-input-radius: var(--cmit-control-radius);
    --cmit-control-radius: 6px;
    --cmit-surface-radius: 6px;
    --cmit-field-label-font-size: 13px;
    --cmit-button-font-size: 14px;
    --cmit-button-height: 40px;
    --cmit-button-min-width: 96px;
    --cmit-search-button-width: 80px;

    /* Cỡ chữ menu sidebar — phẳng ở MỌI cấp (ROOT/L2/L3+), không scale theo độ sâu.
       DynamicNavNode chạy trên cả 3 host nên token bắt buộc nằm ở tầng base; host
       không được tự đặt px cho link/folder-toggle của sidebar. */
    --cmit-sidebar-font-size: 14px;
    /* Bề ngang ô icon sidebar. Dùng `em` để bám theo --cmit-sidebar-font-size;
       `rem` sẽ neo vào font-size gốc của document và không đi theo token. */
    --cmit-sidebar-icon-box: 1.1em;

    /* Cỡ chữ tiêu đề trang (h1 nội dung). Canonical: component AppPageHeading.
       Đặt px, KHÔNG dùng rem: cả 3 host set `html { font-size: 14px }` nên mọi
       cỡ theo rem bị co lại (Tailwind text-2xl = 1.5rem ra 21px, không phải 24px). */
    --cmit-page-title-size: 22px;

    /* Chữ */
    --cmit-text: #1f2933;
    --cmit-text-muted: #7A7369;
    --cmit-primary-label: #374151;
    --cmit-light-green: #4addc9;
    --cmit-light-red: #ff6055;

    /* Trạng thái — màu gốc, dùng cho NỀN / VIỀN / ICON lớn. */
    --cmit-error: #ca2a1e;
    --cmit-error-soft: #fdecea;
    --cmit-warning: #f9c81bff;
    --cmit-success: #19a710ff;

    /* Form control height — TextInputWithPrefix / SelectInputWithPrefix / CPButton (Md).
       Length token: không map @theme (giống --topbar-h); dùng h-(--cmit-control-height). */
    --cmit-control-height: 2.5rem;
    /* Trạng thái — vai trò CHỮ. Tách khỏi màu gốc ở trên vì hai vai trò có ngưỡng
       tương phản khác nhau: nền/viền chỉ cần 3:1, chữ cần 4.5:1 (WCAG AA). Dùng
       --cmit-warning/--cmit-success làm màu chữ sẽ fail (1.6:1 và 2.9:1 trên nền
       trắng). Component Shared đặt màu chữ trạng thái phải trỏ vào bộ này. */
    --cmit-error-text: #ca2a1e;
    --cmit-warning-text: #9a6700;
    --cmit-success-text: #1b6b3a;

    /* Font — nguồn duy nhất cho cả 3 host. Face khai ở Themes/fonts.inter.css.
       Component Shared chạy trên mọi host nên token này bắt buộc ở đây, không
       được đẩy xuống tokens.<host>.css. */
    --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
