/* ============================================
   CCB Corporate Design System V2
   Design Tokens - Variables du Système
   Caisse des Compensations du Bâtiment - Genève
   Version: 2.0
   Date: Janvier 2026
   ============================================ */

:root {
    /* ========== COULEURS PRINCIPALES ========== */
    
    /* Couleur CCB Orange (Identité) */
    --ccb-orange-900: #cc5500;
    --ccb-orange-800: #e65c00;
    --ccb-orange: #ff6900;           /* Couleur principale */
    --ccb-orange-400: #ff8533;
    --ccb-orange-300: #ffa366;
    --ccb-orange-200: #ffc299;
    --ccb-orange-100: #ffe0cc;
    --ccb-orange-50: #fff5ee;
    
    /* Couleur Web LNO Jaune */
    --ccb-yellow-900: #cc8400;
    --ccb-yellow-800: #e69500;
    --ccb-yellow: #ffaa00;           /* Couleur secondaire */
    --ccb-yellow-400: #ffbb33;
    --ccb-yellow-300: #ffcc66;
    --ccb-yellow-200: #ffdd99;
    --ccb-yellow-100: #ffeecc;
    --ccb-yellow-50: #fff8e6;
    
    /* ========== COULEURS NEUTRES ========== */
    --gray-900: #1a1a1a;
    --gray-800: #2d2d2d;
    --gray-700: #4a4a4a;
    --gray-600: #6c757d;
    --gray-500: #8c8c8c;
    --gray-400: #acacac;
    --gray-300: #d1d1d1;
    --gray-200: #e9ecef;
    --gray-100: #f5f6fa;
    --gray-50: #fafbfc;
    
    --white: #ffffff;
    --black: #000000;
    
    /* ========== COULEURS SÉMANTIQUES ========== */
    --success-900: #1e7a40;
    --success: #28a745;
    --success-100: #d4edda;
    
    --warning-900: #c69500;
    --warning: #ffc107;
    --warning-100: #fff3cd;
    
    --danger-900: #a71d2a;
    --danger: #dc3545;
    --danger-100: #f8d7da;
    
    --info-900: #003366;
    --info: #66bbff;
    --info-100: #cceeff;
    
    /* ========== TYPOGRAPHIE ========== */
    
    /* Familles de polices */
    --font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 
                         'Helvetica Neue', Arial, sans-serif;
    --font-family-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-family-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Courier New', monospace;
    
    /* Tailles de police */
    --font-size-xs: 0.75rem;      /* 12px */
    --font-size-sm: 0.875rem;     /* 14px */
    --font-size-base: 1rem;       /* 16px */
    --font-size-lg: 1.125rem;     /* 18px */
    --font-size-xl: 1.25rem;      /* 20px */
    --font-size-2xl: 1.5rem;      /* 24px */
    --font-size-3xl: 1.875rem;    /* 30px */
    --font-size-4xl: 2.25rem;     /* 36px */
    --font-size-5xl: 3rem;        /* 48px */
    
    /* Poids de police */
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    
    /* Hauteurs de ligne */
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;
    --line-height-loose: 2;
    
    /* ========== ESPACEMENTS ========== */
    --spacing-0: 0;
    --spacing-1: 0.25rem;    /* 4px */
    --spacing-2: 0.5rem;     /* 8px */
    --spacing-3: 0.75rem;    /* 12px */
    --spacing-4: 1rem;       /* 16px */
    --spacing-5: 1.25rem;    /* 20px */
    --spacing-6: 1.5rem;     /* 24px */
    --spacing-8: 2rem;       /* 32px */
    --spacing-10: 2.5rem;    /* 40px */
    --spacing-12: 3rem;      /* 48px */
    --spacing-16: 4rem;      /* 64px */
    --spacing-20: 5rem;      /* 80px */
    --spacing-24: 6rem;      /* 96px */
    
    /* ========== RAYONS DE BORDURE ========== */
    --radius-none: 0;
    --radius-sm: 0.125rem;   /* 2px */
    --radius-base: 0.25rem;  /* 4px */
    --radius-md: 0.375rem;   /* 6px */
    --radius-lg: 0.5rem;     /* 8px */
    --radius-xl: 0.75rem;    /* 12px */
    --radius-2xl: 1rem;      /* 16px */
    --radius-3xl: 1.5rem;    /* 24px */
    --radius-full: 9999px;   /* Cercle complet */
    
    /* ========== OMBRES ========== */
    --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --shadow-2xl: 0 50px 100px -20px rgba(0, 0, 0, 0.25);
    --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    
    /* Ombres colorées */
    --shadow-orange: 0 10px 25px -5px rgba(255, 105, 0, 0.3);
    --shadow-yellow: 0 10px 25px -5px rgba(255, 170, 0, 0.3);
    
    /* ========== TRANSITIONS ========== */
    --transition-fast: 150ms ease-in-out;
    --transition-base: 300ms ease-in-out;
    --transition-slow: 500ms ease-in-out;
    
    /* ========== Z-INDEX ========== */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    
    /* ========== LARGEURS DE CONTENEUR ========== */
    --container-xs: 480px;
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1280px;
    --container-2xl: 1536px;
    
    /* ========== BREAKPOINTS ========== */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;
}

/* ========== DARK MODE (Optionnel) ========== */
[data-theme="dark"] {
    --white: #1a1a1a;
    --black: #ffffff;
    --gray-900: #fafbfc;
    --gray-800: #f5f6fa;
    --gray-700: #e9ecef;
    --gray-600: #acacac;
    --gray-500: #8c8c8c;
    --gray-400: #6c757d;
    --gray-300: #4a4a4a;
    --gray-200: #2d2d2d;
    --gray-100: #242424;
    --gray-50: #1a1a1a;
}

/* ========== DOCUMENTATION ========== */
/*
GUIDE D'UTILISATION DES TOKENS:

1. COULEURS
   - Utilisez toujours les variables CSS, jamais les valeurs en dur
   - Orange: couleur principale CCB (boutons primaires, liens, accents)
   - Bleu: couleur secondaire (informations, Web LNO)
   - Gris: neutralité (textes, bordures, backgrounds)
   - Sémantiques: success/warning/danger/info pour les états

2. TYPOGRAPHIE
   - Base: 16px (1rem) pour le corps de texte
   - Utilisez les échelles définies pour cohérence
   - Headings: font-family-heading + font-weight-semibold ou bold
   - Body: font-family-base + font-weight-normal

3. ESPACEMENTS
   - Système basé sur 4px (0.25rem)
   - Utilisez les variables spacing-* pour cohérence
   - Mobile: réduire les espacements de 25-50%

4. OMBRES
   - shadow-sm: éléments subtils (inputs, cards légères)
   - shadow-base: cards standards
   - shadow-lg: modals, dropdowns
   - shadow-xl: éléments flottants importants

5. ANIMATIONS
   - transition-fast: micro-interactions (hover, focus)
   - transition-base: animations standards (dropdowns, modals)
   - transition-slow: animations complexes (pages transitions)

EXEMPLES:
  background-color: var(--ccb-orange);
  padding: var(--spacing-4);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-base);
  transition: var(--transition-base);
*/

