/* ========================================
   SYSTÈME DE THÈMES - Structure simplifiée
   ======================================== */

/* ========================================
   VARIABLES COMMUNES (indépendantes du thème)
   ======================================== */
:root {
    /* Fonts principales */
    --font-primary: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-secondary: 'BlauerNeue', 'Helvetica Neue', Arial, sans-serif;
    --font-fallback: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* Taille de police */
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.25rem;
    --font-size-xl: 1.5rem;
    --font-size-xxl: 2rem;
    
    /* Espacements */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-xxl: 3rem;
    
    /* Bordures */
    --border-radius: 8px;
    --border-radius-circle: 50vw;

    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;

    /* Z-index */
    --z-index-dropdown: 1000;
    --z-index-sticky: 1020;
    --z-index-fixed: 1030;
    --z-index-modal-backdrop: 1040;
    --z-index-modal: 1050;
    --z-index-popover: 1060;
    --z-index-tooltip: 1070;
}

/* ========================================
   MODE CLAIR (par défaut)
   ======================================== */
:root {
    /* Couleurs principales */
    --sidebar-bg: #00092d;
    --primary-color: #00092d;
    --secondary-color: #346afd;
    --accent-color: #e74c3c;
    --success-color: #29a745;
    --warning-color: #ffc22f;
    --danger-color: #e74c3c;
    --info-color: #0dcaf0;

    /* Couleurs hover */
    --primary-color-hover: #001a80;
    --secondary-color-hover: #628cfd;
    --accent-color-hover: #c0392b;
    --success-color-hover: #2fc24f;
    --warning-color-hover: #ffce5b;
    --danger-color-hover: #ff6453;
    --info-color-hover: #47d5fc;
    
    /* Couleurs de texte */
    --text-primary: #00092d;
    --text-secondary: #7f8c8d;
    --text-light: #ecf0f1;
    --text-dark: #00092d;
    --text-muted: #6c757d;

    /* Couleurs neutres */
    --white: #fff;
    --black: #000;
    --neutral: #161616;
    --neutral-ultra-light: #f0f0f0;
    --neutral-light: #dcdcdc;
    --neutral-semi-light: #b0b0b0;
    --neutral-semi-dark: #808080;
    --neutral-dark: #4d4d4d;
    
    /* Couleurs de fond */
    --bg-light: #f8f9fa;
    --bg-primary: #dadada;
    --bg-dark: #00092d;
    --bg-card: #ffffff;
    --bg-sidebar: #ffffff;
    --bg-header: #ffffff;
    --radial-bg: radial-gradient(circle at 50% 0, #00092d, rgba(0, 9, 45, 0.1) 70.71%), radial-gradient(circle at 0% 90%, rgba(255, 194, 47, 0.4), rgba(0, 9, 45, 0.1) 40.71%), radial-gradient(circle at 100% 90%, rgba(52, 106, 253, 0.3), rgba(0, 9, 45, 0.1));
    --radial-bg-small: radial-gradient(circle at 50% 0, #00092d, rgba(0, 9, 45, 0.1) 70.71%), radial-gradient(circle at 0% 90%, rgba(255, 194, 47, 0.4), rgba(0, 9, 45, 0.1) 40.71%), radial-gradient(circle at 100% 90%, rgba(52, 106, 253, 0.3), rgba(0, 9, 45, 0.1));
    
    /* Bordures */
    --border-color: #dcdcdc;
    --border-light: #e9ecef;
    --bs-border-color: #dcdcdc;
    --bs-border-color-translucent: #dcdcdc;
    
    /* Ombres */
    --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
}

/* ========================================
   MODE SOMBRE
   ======================================== */
body[data-theme="dark"] {
    /* Couleurs principales */
    --sidebar-bg: #00092d;
    
    --primary-color: #eaecf1;
    --secondary-color: #628cfd;
    --accent-color: #ff6b6b;
    --success-color: #51cf66;
    --warning-color: #ffd43b;
    --danger-color: #ff6b6b;
    --info-color: #74c0fc;

    /* Couleurs hover */
    --primary-color-hover: #4c7cff;
    --secondary-color-hover: #7ba0ff;
    --accent-color-hover: #ff5252;
    --success-color-hover: #69db7c;
    --warning-color-hover: #ffe066;
    --danger-color-hover: #ff5252;
    --info-color-hover: #91d7ff;
    
    /* Couleurs de texte */
    --text-primary: #f8f9fa;
    --text-secondary: #adb5bd;
    --text-light: #f8f9fa;
    --text-dark: #212529;
    --text-muted: #868e96;

    /* Couleurs neutres */
    --white: #111827;
    --black: #f8f9fa;
    --neutral: #f8f9fa;
    --neutral-ultra-light: #2d3748;
    --neutral-light: #4a5568;
    --neutral-semi-light: #718096;
    --neutral-semi-dark: #a0aec0;
    --neutral-dark: #e2e8f0;
    
    /* Couleurs de fond */
    --bg-light: #1f2937;
    --bg-primary: #2d3748;
    --bg-dark: #111827;
    --bg-card: #1f2937;
    --bg-sidebar: #00092d;
    --bg-header: #1f2937;
    --radial-bg: radial-gradient(circle at 50% 0, #1f2937, rgba(31, 41, 55, 0.8) 70.71%), radial-gradient(circle at 0% 90%, rgba(52, 106, 253, 0.2), rgba(31, 41, 55, 0.8) 40.71%), radial-gradient(circle at 100% 90%, rgba(255, 212, 59, 0.2), rgba(31, 41, 55, 0.8));
    --radial-bg-small: radial-gradient(circle at 50% 0, #1f2937, rgba(31, 41, 55, 0.8) 70.71%), radial-gradient(circle at 0% 90%, rgba(52, 106, 253, 0.2), rgba(31, 41, 55, 0.8) 40.71%), radial-gradient(circle at 100% 90%, rgba(255, 212, 59, 0.2), rgba(31, 41, 55, 0.8));
    
    /* Bordures */
    --border-color: #4a5568;
    --border-light: #374151;
    --bs-border-color: #4a5568;
    --bs-border-color-translucent: #4a5568;
    
    /* Ombres */
    --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
    --shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.5);

    --bs-heading-color: var(--text-light);
    --bs-list-group-bg: var(--text-light);
}

/* ========================================
   MODE ROUGE (thème clair avec accent rouge)
   ======================================== */
body[data-theme="red"] {
    --sidebar-bg: #440510;

    /* Couleurs principales */
    --primary-color: #6D071A;
    --secondary-color: #8D1B30;
    --accent-color: #B91831;
    --success-color: #29a745;
    --warning-color: #ffc22f;
    --danger-color: #dc3545;
    --info-color: #0dcaf0;

    /* Couleurs hover */
    --primary-color-hover: #8D1B30;
    --secondary-color-hover: #A52A3F;
    --accent-color-hover: #A01528;
    --success-color-hover: #2fc24f;
    --warning-color-hover: #ffce5b;
    --danger-color-hover: #c82333;
    --info-color-hover: #47d5fc;
    
    /* Couleurs de texte (même que le thème clair) */
    --text-primary: #6D071A;
    --text-secondary: #7f8c8d;
    --text-light: #ecf0f1;
    --text-dark: #6D071A;
    --text-muted: #6c757d;

    /* Couleurs neutres (même que le thème clair) */
    --white: #fff;
    --black: #000;
    --neutral: #161616;
    --neutral-ultra-light: #f0f0f0;
    --neutral-light: #dcdcdc;
    --neutral-semi-light: #b0b0b0;
    --neutral-semi-dark: #808080;
    --neutral-dark: #4d4d4d;
    
    /* Couleurs de fond (même que le thème clair avec accent rouge) */
    --bg-light: #f8f9fa;
    --bg-primary: #f8e8ea;
    --bg-dark: #6D071A;
    --bg-card: #ffffff;
    --bg-sidebar: #ffffff;
    --bg-header: #ffffff;
    --radial-bg: radial-gradient(circle at 50% 0, #6D071A, rgba(109, 7, 26, 0.1) 70.71%), radial-gradient(circle at 0% 90%, rgba(185, 24, 49, 0.3), rgba(109, 7, 26, 0.1) 40.71%), radial-gradient(circle at 100% 90%, rgba(141, 27, 48, 0.2), rgba(109, 7, 26, 0.1));
    --radial-bg-small: radial-gradient(circle at 50% 0, #6D071A, rgba(109, 7, 26, 0.1) 70.71%), radial-gradient(circle at 0% 90%, rgba(185, 24, 49, 0.3), rgba(109, 7, 26, 0.1) 40.71%), radial-gradient(circle at 100% 90%, rgba(141, 27, 48, 0.2), rgba(109, 7, 26, 0.1));
    
    /* Bordures (même que le thème clair) */
    --border-color: #dcdcdc;
    --border-light: #e9ecef;
    --bs-border-color: #dcdcdc;
    --bs-border-color-translucent: #dcdcdc;
    
    /* Ombres (même que le thème clair) */
    --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
}