/* ========================================
   MHIS Design System - Global Tokens
   Built for consistency and scalability
   ======================================== */

:root {
    /* ===== Primary Colors ===== */
    --color-primary: #0F172A;
    /* Deep Navy - Authority & Trust */
    --color-secondary: #3d4bf4;
    /* Vibrant Blue - Action & Hope */
    --color-accent: #5036F2;
    /* Purple Accent - Premium Touch */

    /* ===== Neutrals ===== */
    --color-surface: #FFFFFF;
    --color-surface-alt: #F8FAFC;
    --color-text-primary: #1E293B;
    --color-text-secondary: #64748B;
    --color-border: #E2E8F0;

    /* ===== Status Colors ===== */
    --color-success: #10b981;
    --color-warning: #f59e0b;
    --color-error: #ef4444;
    --color-info: #3b82f6;

    /* ===== Typography ===== */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-display: 'Plus Jakarta Sans', var(--font-sans);

    /* Heading Sizes */
    --text-h1: 3.5rem;
    /* 56px */
    --text-h2: 2.25rem;
    /* 36px */
    --text-h3: 1.875rem;
    /* 30px */
    --text-h4: 1.5rem;
    /* 24px */
    --text-h5: 1.25rem;
    /* 20px */
    --text-h6: 1.125rem;
    /* 18px */

    /* Body Sizes */
    --text-body: 1rem;
    /* 16px */
    --text-small: 0.875rem;
    /* 14px */
    --text-caption: 0.75rem;
    /* 12px */

    /* Line Heights */
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.75;

    /* ===== Spacing Scale ===== */
    --space-1: 0.25rem;
    /* 4px */
    --space-2: 0.5rem;
    /* 8px */
    --space-3: 0.75rem;
    /* 12px */
    --space-4: 1rem;
    /* 16px */
    --space-6: 1.5rem;
    /* 24px */
    --space-8: 2rem;
    /* 32px */
    --space-12: 3rem;
    /* 48px */
    --space-16: 4rem;
    /* 64px */
    --space-24: 6rem;
    /* 96px */
    --space-32: 8rem;
    /* 128px */

    /* ===== Shadows ===== */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-card: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    --shadow-float: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

    /* ===== Border Radius ===== */
    --radius-sm: 0.375rem;
    /* 6px */
    --radius-md: 0.5rem;
    /* 8px */
    --radius-lg: 0.75rem;
    /* 12px */
    --radius-xl: 1rem;
    /* 16px */
    --radius-full: 9999px;

    /* ===== Transitions ===== */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;
}

/* ===== Global Typography ===== */
h1,
.h1 {
    font-size: var(--text-h1);
    font-family: var(--font-display);
    font-weight: 700;
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
}

h2,
.h2 {
    font-size: var(--text-h2);
    font-family: var(--font-display);
    font-weight: 700;
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
}

h3,
.h3 {
    font-size: var(--text-h3);
    font-family: var(--font-display);
    font-weight: 600;
    line-height: var(--leading-normal);
    color: var(--color-text-primary);
}

h4,
.h4 {
    font-size: var(--text-h4);
    font-weight: 600;
    line-height: var(--leading-normal);
}

h5,
.h5 {
    font-size: var(--text-h5);
    font-weight: 600;
    line-height: var(--leading-normal);
}

h6,
.h6 {
    font-size: var(--text-h6);
    font-weight: 600;
    line-height: var(--leading-normal);
}

p {
    font-size: var(--text-body);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
}

/* ===== Utility Classes ===== */
.text-primary {
    color: var(--color-text-primary);
}

.text-secondary {
    color: var(--color-text-secondary);
}

.bg-surface {
    background-color: var(--color-surface);
}

.bg-surface-alt {
    background-color: var(--color-surface-alt);
}