/*
 * TGM Tool License Manager — design tokens
 *
 * Shared CSS custom properties consumed by all front-end surfaces
 * (showcase, portal, catalogue, progress cards, emails).
 * Override --tlm-color-primary at :root to recolour the platform.
 */
:root {
    --tlm-color-primary: #2563eb;
    --tlm-color-primary-dark: #1d4ed8;
    --tlm-color-primary-soft: #eff6ff;

    --tlm-color-program: #7c3aed;
    --tlm-color-program-dark: #6d28d9;
    --tlm-color-program-light: #faf5ff;
    --tlm-color-program-tint: #ede9fe;

    --tlm-color-success: #16a34a;
    --tlm-color-warning: #d97706;
    --tlm-color-danger:  #dc2626;

    --tlm-color-text:        #1f2937;
    --tlm-color-text-muted:  #64748b;
    --tlm-color-text-subtle: #94a3b8;

    --tlm-color-border:      #e5e7eb;
    --tlm-color-border-soft: #eef2f7;

    --tlm-color-surface:       #ffffff;
    --tlm-color-surface-muted: #f8fafc;

    /*
     * Secondary/accent brand colour. No surface consumes this by
     * default (unlike --tlm-color-primary) — it's a lever for
     * white-labelled deployments to pull a second brand colour into
     * components that opt in via var(--tlm-color-accent).
     */
    --tlm-color-accent: #7c3aed;

    --tlm-radius-sm: 8px;
    --tlm-radius-md: 12px;
    --tlm-radius-lg: 18px;

    --tlm-shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
    --tlm-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.12);
    --tlm-shadow-lg: 0 16px 32px rgba(15, 23, 42, 0.12);

    --tlm-space-1: 4px;
    --tlm-space-2: 8px;
    --tlm-space-3: 12px;
    --tlm-space-4: 16px;
    --tlm-space-5: 24px;
    --tlm-space-6: 32px;
    --tlm-space-8: 48px;

    --tlm-fs-xs:   12px;
    --tlm-fs-sm:   13px;
    --tlm-fs-base: 14px;
    --tlm-fs-md:   16px;
    --tlm-fs-lg:   18px;
    --tlm-fs-xl:   22px;
    --tlm-fs-2xl:  28px;

    --tlm-font-family:
        -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;

    /* Focus ring that follows the active primary colour. */
    --tlm-focus-ring: 0 0 0 3px color-mix(in srgb, var(--tlm-color-primary) 30%, transparent);
}
