:root {
    --tr-bg: #f5f7fb;
    --tr-surface: #ffffff;
    --tr-surface-soft: #f8faff;
    --tr-surface-blue: #eef4ff;
    --tr-border: #e3e8f2;
    --tr-border-strong: #d6deeb;
    --tr-text: #172033;
    --tr-text-soft: #6f7a91;
    --tr-text-faint: #9aa4b7;
    --tr-primary: #2667ff;
    --tr-primary-strong: #164fdc;
    --tr-primary-soft: #eaf1ff;
    --tr-primary-glow: rgba(38, 103, 255, 0.24);
    --tr-cyan: #40b9ff;
    --tr-cyan-soft: rgba(64, 185, 255, 0.12);
    --tr-success: #1f9d63;
    --tr-success-soft: #e9f8f1;
    --tr-warning: #c68417;
    --tr-warning-soft: #fff7e5;
    --tr-danger: #d94b5b;
    --tr-danger-soft: #fff0f2;
    --tr-dark: #101725;
    --tr-sidebar: #111827;
    --tr-sidebar-soft: #1b2536;
    --tr-shadow-sm: 0 8px 24px rgba(25, 39, 73, 0.06);
    --tr-shadow-md: 0 18px 50px rgba(25, 39, 73, 0.12);
    --tr-radius-xs: 8px;
    --tr-radius-sm: 12px;
    --tr-radius-md: 16px;
    --tr-radius-lg: 22px;
    --tr-sidebar-width: 276px;
    --tr-transition: 220ms cubic-bezier(.2,.8,.2,1);
    --tr-transition-slow: 420ms cubic-bezier(.2,.8,.2,1);

    /* Shared typography / component rhythm */
    --tr-font-2xs: 9px;
    --tr-font-xs: 10px;
    --tr-font-sm: 11px;
    --tr-font-md: 12px;
    --tr-font-base: 13px;
    --tr-font-lg: 15px;
    --tr-font-xl: 18px;
    --tr-font-stat: 22px;
    --tr-line-tight: 1.25;
    --tr-line-base: 1.45;
    --tr-line-copy: 1.6;

    --tr-space-2xs: 4px;
    --tr-space-xs: 6px;
    --tr-space-sm: 8px;
    --tr-space-md: 12px;
    --tr-space-lg: 16px;
    --tr-space-xl: 20px;

    --tr-control-height-sm: 36px;
    --tr-control-height: 42px;
    --tr-section-title-size: var(--tr-font-base);
    --tr-section-copy-size: var(--tr-font-xs);
    --tr-table-head-size: var(--tr-font-xs);
    --tr-table-cell-size: var(--tr-font-md);
    --tr-pill-size: var(--tr-font-xs);
}
