/* ======================================
   SYSTÈME DE THÈMES DEEPNOTES
   ====================================== */

/* Variables globales pour les thèmes */
:root {
  /* Transitions et animations */
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.5s ease;
  
  /* Bordures et ombres */
  --border-radius: 8px;
  --border-radius-large: 16px;
  --box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  --box-shadow-large: 0 4px 16px rgba(0, 0, 0, 0.15);
  
  /* Espacements */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;
  
  /* Taille de police des notes (paramétrable) */
  --note-font-size: 100;
}

/* THÈME PAR DÉFAUT */
[data-theme="default"] {
  --color-background: #08B877;
  --color-surface: #ffffff;
  --color-surface-alt: #f8f9fa;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #212529;
  --color-button: #06A86B;
  --color-button-hover: #04965F;
  --color-button-text: #ffffff;
  --color-accent: #04965F;
  --color-border: #e0e0e0;
  --color-border-dark: #cccccc;
  --color-success: #28a745;
  --color-warning: #ffc107;
  --color-error: #dc3545;
  --color-info: #17a2b8;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --text-primary: #212529;
  --text-secondary: rgba(33, 37, 41, 0.7);
  --text-tertiary: rgba(33, 37, 41, 0.5);
  --border-color: #e0e0e0;
  --primary-color: #06A86B;
}

/* THÈME SOMBRE */
[data-theme="dark"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #2a2a2a;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #3636c4;
  --color-button-hover: #4a4ae8;
  --color-button-text: #ffffff;
  --color-accent: #0000ff;
  --color-border: #404040;
  --color-border-dark: #5a5a5a;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-error: #f44336;
  --color-info: #2175ff;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a2a2a;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #3636c4;
}

/* THÈME CLAIR */
[data-theme="light"] {
  --color-background: #F5F5F5;
  --color-surface: #ffffff;
  --color-surface-alt: #fafafa;
  --color-text-primary: #212121;
  --color-text-secondary: rgba(33, 33, 33, 0.7);
  --color-text-on-surface: #212121;
  --color-button: #6200EE;
  --color-button-hover: #5000d8;
  --color-button-text: #ffffff;
  --color-accent: #FF4081;
  --color-border: #e0e0e0;
  --color-border-dark: #bdbdbd;
  --color-success: #4caf50;
  --color-warning: #ff9800;
  --color-error: #f44336;
  --color-info: #2196f3;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #fafafa;
  --text-primary: #212121;
  --text-secondary: rgba(33, 33, 33, 0.7);
  --text-tertiary: rgba(33, 33, 33, 0.5);
  --border-color: #e0e0e0;
  --primary-color: #6200EE;
}

/* THÈME BLEU */
[data-theme="blue"] {
  --color-background: #E3F2FD;
  --color-surface: #ffffff;
  --color-surface-alt: #f3f8ff;
  --color-text-primary: #0D47A1;
  --color-text-secondary: rgba(13, 71, 161, 0.7);
  --color-text-on-surface: #0D47A1;
  --color-button: #1976D2;
  --color-button-hover: #1565C0;
  --color-button-text: #ffffff;
  --color-accent: #90CAF9;
  --color-border: #BBDEFB;
  --color-border-dark: #90CAF9;
  --color-success: #4caf50;
  --color-warning: #ff9800;
  --color-error: #f44336;
  --color-info: #03DAC6;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #f3f8ff;
  --text-primary: #0D47A1;
  --text-secondary: rgba(13, 71, 161, 0.7);
  --text-tertiary: rgba(13, 71, 161, 0.5);
  --border-color: #BBDEFB;
  --primary-color: #1976D2;
}

/* THÈME VERT */
[data-theme="green"] {
  --color-background: #E8F5E9;
  --color-surface: #ffffff;
  --color-surface-alt: #f1f8e9;
  --color-text-primary: #1B5E20;
  --color-text-secondary: rgba(27, 94, 32, 0.7);
  --color-text-on-surface: #1B5E20;
  --color-button: #2E7D32;
  --color-button-hover: #388E3C;
  --color-button-text: #ffffff;
  --color-accent: #A5D6A7;
  --color-border: #C8E6C9;
  --color-border-dark: #A5D6A7;
  --color-success: #4caf50;
  --color-warning: #ff9800;
  --color-error: #f44336;
  --color-info: #2196f3;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #f1f8e9;
  --text-primary: #1B5E20;
  --text-secondary: rgba(27, 94, 32, 0.7);
  --text-tertiary: rgba(27, 94, 32, 0.5);
  --border-color: #C8E6C9;
  --primary-color: #2E7D32;
}

/* THÈME ROUGE */
[data-theme="red"] {
  --color-background: #FFEBEE;
  --color-surface: #ffffff;
  --color-surface-alt: #fce4ec;
  --color-text-primary: #B71C1C;
  --color-text-secondary: rgba(183, 28, 28, 0.7);
  --color-text-on-surface: #B71C1C;
  --color-button: #C62828;
  --color-button-hover: #D32F2F;
  --color-button-text: #ffffff;
  --color-accent: #FF8A80;
  --color-border: #FFCDD2;
  --color-border-dark: #FF8A80;
  --color-success: #4caf50;
  --color-warning: #ff9800;
  --color-error: #d32f2f;
  --color-info: #2196f3;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #fce4ec;
  --text-primary: #B71C1C;
  --text-secondary: rgba(183, 28, 28, 0.7);
  --text-tertiary: rgba(183, 28, 28, 0.5);
  --border-color: #FFCDD2;
  --primary-color: #C62828;
}

/* THÈME BLOOM (Bloomberg Style) */
[data-theme="bloom"] {
  --color-background: #0d0d0d;
  --color-surface: #141414;
  --color-surface-alt: #1f1f1f;
  --color-text-primary: #ffae00;
  --color-text-secondary: rgba(255, 174, 0, 0.85);
  --color-text-on-surface: #ffae00;
  --color-button: #ffae00;
  --color-button-hover: #ffc133;
  --color-button-text: #000000;
  --color-accent: #ffc133;
  --color-border: #333333;
  --color-border-dark: #4d4d4d;
  --color-success: #4caf50;
  --color-warning: #ffae00;
  --color-error: #f44336;
  --color-info: #ffae00;
  
  /* Variables de compatibilité */
  --bg-primary: #141414;
  --bg-secondary: #1f1f1f;
  --text-primary: #ffae00;
  --text-secondary: rgba(255, 174, 0, 0.85);
  --text-tertiary: rgba(255, 174, 0, 0.65);
  --border-color: #333333;
  --primary-color: #ffae00;
}

/* THÈME SANG ET MÉTAL (variante dark avec rouge sang) */
[data-theme="metal"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #2a1a1a;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #8B0000;
  --color-button-hover: #a00000;
  --color-button-text: #ffffff;
  --color-accent: #DC143C;
  --color-border: #404040;
  --color-border-dark: #5a1a1a;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-error: #8B0000;
  --color-info: #DC143C;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a1a1a;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #8B0000;
}

/* THÈME FLASHY (Néon) */
[data-theme="flashy"] {
  --color-background: #000000;
  --color-surface: #1a0033;
  --color-surface-alt: #330066;
  --color-text-primary: #00ffff;
  --color-text-secondary: rgba(0, 255, 255, 0.8);
  --color-text-on-surface: #00ffff;
  --color-button: #ff00ff;
  --color-button-hover: #ff66ff;
  --color-button-text: #000000;
  --color-accent: #00ff00;
  --color-border: #ff00ff;
  --color-border-dark: #ff66ff;
  --color-success: #00ff00;
  --color-warning: #ffff00;
  --color-error: #ff0080;
  --color-info: #00ffff;
  
  /* Variables de compatibilité */
  --bg-primary: #1a0033;
  --bg-secondary: #330066;
  --text-primary: #00ffff;
  --text-secondary: rgba(0, 255, 255, 0.85);
  --text-tertiary: rgba(0, 255, 255, 0.7);
  --border-color: #ff00ff;
  --primary-color: #ff00ff;
}

/* THÈME BOIS */
[data-theme="wood"] {
  --color-background: #3e2723;
  --color-surface: #5d4037;
  --color-surface-alt: #6d4c41;
  --color-text-primary: #ffe0b2;
  --color-text-secondary: rgba(255, 224, 178, 0.85);
  --color-text-on-surface: #ffe0b2;
  --color-button: #8d6e63;
  --color-button-hover: #a1887f;
  --color-button-text: #ffffff;
  --color-accent: #d7a86e;
  --color-border: #6d4c41;
  --color-border-dark: #8d6e63;
  --color-success: #a5d6a7;
  --color-warning: #ffcc80;
  --color-error: #e57373;
  --color-info: #90caf9;
  
  /* Variables de compatibilité */
  --bg-primary: #5d4037;
  --bg-secondary: #6d4c41;
  --text-primary: #ffe0b2;
  --text-secondary: rgba(255, 224, 178, 0.85);
  --text-tertiary: rgba(255, 224, 178, 0.7);
  --border-color: #6d4c41;
  --primary-color: #8d6e63;
  /* Texture bois - fines veines diagonales */
  --theme-texture: repeating-linear-gradient(45deg, rgba(255, 224, 178, 0.06) 0px, rgba(255, 224, 178, 0.06) 6px, rgba(0,0,0,0.0) 6px, rgba(0,0,0,0.0) 22px),
                   repeating-linear-gradient(135deg, rgba(0,0,0,0.06) 0px, rgba(0,0,0,0.06) 3px, rgba(0,0,0,0.0) 3px, rgba(0,0,0,0.0) 18px);
}

/* THÈME OCEAN */
[data-theme="ocean"] {
  --color-background: #01579b;
  --color-surface: #0277bd;
  --color-surface-alt: #1565c0;
  --color-text-primary: #e3f2fd;
  --color-text-secondary: rgba(227, 242, 253, 0.85);
  --color-text-on-surface: #e3f2fd;
  --color-button: #0288d1;
  --color-button-hover: #039be5;
  --color-button-text: #ffffff;
  --color-accent: #81c784;
  --color-border: #0288d1;
  --color-border-dark: #039be5;
  --color-success: #66bb6a;
  --color-warning: #ffa726;
  --color-error: #ef5350;
  --color-info: #90caf9;
  
  /* Variables de compatibilité */
  --bg-primary: #0277bd;
  --bg-secondary: #1565c0;
  --text-primary: #e3f2fd;
  --text-secondary: rgba(227, 242, 253, 0.85);
  --text-tertiary: rgba(227, 242, 253, 0.7);
  --border-color: #0288d1;
  --primary-color: #0288d1;
  /* Texture océan - vagues */
  --theme-texture: radial-gradient(ellipse at 20% 40%, rgba(255,255,255,0.06) 0 20%, transparent 21%),
                   radial-gradient(ellipse at 70% 60%, rgba(255,255,255,0.05) 0 18%, transparent 19%),
                   repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0 2px, transparent 2px 12px);
}

/* THÈME PASTEL (Sweet) */
[data-theme="pastel"] {
  --color-background: #FFF4E6;
  --color-surface: #ffffff;
  --color-surface-alt: #fffaf0;
  --color-text-primary: #FF69B4;
  --color-text-secondary: rgba(255, 105, 180, 0.7);
  --color-text-on-surface: #FF69B4;
  --color-button: #FFB6C1;
  --color-button-hover: #FFC0CB;
  --color-button-text: #000000;
  --color-accent: #FFD700;
  --color-border: #FFE4E1;
  --color-border-dark: #FFB6C1;
  --color-success: #98FB98;
  --color-warning: #FFD700;
  --color-error: #FF6347;
  --color-info: #87CEEB;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #fffaf0;
  --text-primary: #FF69B4;
  --text-secondary: rgba(255, 105, 180, 0.7);
  --text-tertiary: rgba(255, 105, 180, 0.5);
  --border-color: #FFE4E1;
  --primary-color: #FFB6C1;
}

/* THÈME FOREST (Nature) */
[data-theme="forest"] {
  --color-background: #1B4332;
  --color-surface: #2D5F4A;
  --color-surface-alt: #3A7A61;
  --color-text-primary: #B5E48C;
  --color-text-secondary: rgba(181, 228, 140, 0.85);
  --color-text-on-surface: #B5E48C;
  --color-button: #52B788;
  --color-button-hover: #6BC08B;
  --color-button-text: #ffffff;
  --color-accent: #95D5B2;
  --color-border: #2D5F4A;
  --color-border-dark: #40916C;
  --color-success: #6BC08B;
  --color-warning: #FFC65A;
  --color-error: #E76F51;
  --color-info: #95D5B2;
  
  /* Variables de compatibilité */
  --bg-primary: #2D5F4A;
  --bg-secondary: #3A7A61;
  --text-primary: #B5E48C;
  --text-secondary: rgba(181, 228, 140, 0.85);
  --text-tertiary: rgba(181, 228, 140, 0.7);
  --border-color: #2D5F4A;
  --primary-color: #52B788;
}

/* THÈME SUNSET (Orange) */
[data-theme="sunset"] {
  --color-background: #FF6B35;
  --color-surface: #ffffff;
  --color-surface-alt: #FFE5D9;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.9);
  --color-text-on-surface: #1A1A1A;
  --color-button: #FF8C42;
  --color-button-hover: #FF6B35;
  --color-button-text: #ffffff;
  --color-accent: #FFA07A;
  --color-border: #FFD4C4;
  --color-border-dark: #FFA07A;
  --color-success: #8BAA99;
  --color-warning: #FFA07A;
  --color-error: #DC3545;
  --color-info: #87CEEB;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #FFE5D9;
  --text-primary: #1A1A1A;
  --text-secondary: rgba(26, 26, 26, 0.7);
  --text-tertiary: rgba(26, 26, 26, 0.5);
  --border-color: #FFD4C4;
  --primary-color: #FF8C42;
}

/* THÈME CYBERPUNK */
[data-theme="cyberpunk"] {
  --color-background: #000000;
  --color-surface: #1A1A2E;
  --color-surface-alt: #16213E;
  --color-text-primary: #00FF00;
  --color-text-secondary: rgba(0, 255, 0, 0.8);
  --color-text-on-surface: #00FF00;
  --color-button: #FF00FF;
  --color-button-hover: #FF33FF;
  --color-button-text: #000000;
  --color-accent: #00FFFF;
  --color-border: #FF00FF;
  --color-border-dark: #FF33FF;
  --color-success: #00FF00;
  --color-warning: #FFAA00;
  --color-error: #FF0080;
  --color-info: #00FFFF;
  
  /* Variables de compatibilité */
  --bg-primary: #1A1A2E;
  --bg-secondary: #16213E;
  --text-primary: #00FF00;
  --text-secondary: rgba(0, 255, 0, 0.85);
  --text-tertiary: rgba(0, 255, 0, 0.7);
  --border-color: #FF00FF;
  --primary-color: #FF00FF;
}

/* THÈME GRAYSCALE (Noir et blanc) */
[data-theme="grayscale"] {
  --color-background: #F5F5F5;
  --color-surface: #ffffff;
  --color-surface-alt: #E8E8E8;
  --color-text-primary: #000000;
  --color-text-secondary: rgba(0, 0, 0, 0.7);
  --color-text-on-surface: #000000;
  --color-button: #333333;
  --color-button-hover: #555555;
  --color-button-text: #ffffff;
  --color-accent: #666666;
  --color-border: #CCCCCC;
  --color-border-dark: #999999;
  --color-success: #4A4A4A;
  --color-warning: #666666;
  --color-error: #333333;
  --color-info: #666666;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #E8E8E8;
  --text-primary: #000000;
  --text-secondary: rgba(0, 0, 0, 0.7);
  --text-tertiary: rgba(0, 0, 0, 0.5);
  --border-color: #CCCCCC;
  --primary-color: #333333;
}

/* THÈME PURPLE */
[data-theme="purple"] {
  --color-background: #F3E5F5;
  --color-surface: #ffffff;
  --color-surface-alt: #EDE7F6;
  --color-text-primary: #4A148C;
  --color-text-secondary: rgba(74, 20, 140, 0.7);
  --color-text-on-surface: #4A148C;
  --color-button: #6A1B9A;
  --color-button-hover: #7B1FA2;
  --color-button-text: #ffffff;
  --color-accent: #BA68C8;
  --color-border: #CE93D8;
  --color-border-dark: #AB47BC;
  --color-success: #4CAF50;
  --color-warning: #FF9800;
  --color-error: #F44336;
  --color-info: #2196F3;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #EDE7F6;
  --text-primary: #4A148C;
  --text-secondary: rgba(74, 20, 140, 0.7);
  --text-tertiary: rgba(74, 20, 140, 0.5);
  --border-color: #CE93D8;
  --primary-color: #6A1B9A;
}

/* THÈME PINK */
[data-theme="pink"] {
  --color-background: #FFF0F5;
  --color-surface: #ffffff;
  --color-surface-alt: #FFE5F0;
  --color-text-primary: #C2185B;
  --color-text-secondary: rgba(194, 24, 91, 0.7);
  --color-text-on-surface: #C2185B;
  --color-button: #E91E63;
  --color-button-hover: #F50057;
  --color-button-text: #ffffff;
  --color-accent: #F06292;
  --color-border: #F8BBD0;
  --color-border-dark: #EC407A;
  --color-success: #66BB6A;
  --color-warning: #FFB74D;
  --color-error: #EF5350;
  --color-info: #42A5F5;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #FFE5F0;
  --text-primary: #C2185B;
  --text-secondary: rgba(194, 24, 91, 0.7);
  --text-tertiary: rgba(194, 24, 91, 0.5);
  --border-color: #F8BBD0;
  --primary-color: #E91E63;
}

/* THÈME TURQUOISE */
[data-theme="turquoise"] {
  --color-background: #E0F7FA;
  --color-surface: #ffffff;
  --color-surface-alt: #E8F8F9;
  --color-text-primary: #006064;
  --color-text-secondary: rgba(0, 96, 100, 0.7);
  --color-text-on-surface: #006064;
  --color-button: #00838F;
  --color-button-hover: #0097A7;
  --color-button-text: #ffffff;
  --color-accent: #4DD0E1;
  --color-border: #B2EBF2;
  --color-border-dark: #80DEEA;
  --color-success: #4CAF50;
  --color-warning: #FFB300;
  --color-error: #E53935;
  --color-info: #00BCD4;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #E8F8F9;
  --text-primary: #006064;
  --text-secondary: rgba(0, 96, 100, 0.7);
  --text-tertiary: rgba(0, 96, 100, 0.5);
  --border-color: #B2EBF2;
  --primary-color: #00838F;
}

/* THÈME YELLOW (Sunshine) */
[data-theme="yellow"] {
  --color-background: #FFFDE7;
  --color-surface: #ffffff;
  --color-surface-alt: #FFFDD4;
  --color-text-primary: #F57F17;
  --color-text-secondary: rgba(245, 127, 23, 0.7);
  --color-text-on-surface: #F57F17;
  --color-button: #FFEB3B;
  --color-button-hover: #FFF059;
  --color-button-text: #000000;
  --color-accent: #FFD54F;
  --color-border: #FFEB3B;
  --color-border-dark: #FFC400;
  --color-success: #7CB342;
  --color-warning: #FFA000;
  --color-error: #E53935;
  --color-info: #039BE5;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #FFFDD4;
  --text-primary: #F57F17;
  --text-secondary: rgba(245, 127, 23, 0.7);
  --text-tertiary: rgba(245, 127, 23, 0.5);
  --border-color: #FFEB3B;
  --primary-color: #FFEB3B;
}

/* THÈME COFFEE */
[data-theme="coffee"] {
  --color-background: #4E342E;
  --color-surface: #6D4C41;
  --color-surface-alt: #8D6E63;
  --color-text-primary: #FFF3E0;
  --color-text-secondary: rgba(255, 243, 224, 0.85);
  --color-text-on-surface: #FFF3E0;
  --color-button: #5D4037;
  --color-button-hover: #6D4C41;
  --color-button-text: #ffffff;
  --color-accent: #BCAA9A;
  --color-border: #8D6E63;
  --color-border-dark: #A1887F;
  --color-success: #9CCC65;
  --color-warning: #FFB74D;
  --color-error: #E57373;
  --color-info: #90CAF9;
  
  /* Variables de compatibilité */
  --bg-primary: #6D4C41;
  --bg-secondary: #8D6E63;
  --text-primary: #FFF3E0;
  --text-secondary: rgba(255, 243, 224, 0.85);
  --text-tertiary: rgba(255, 243, 224, 0.7);
  --border-color: #8D6E63;
  --primary-color: #5D4037;
}

/* THÈME DESERT */
[data-theme="desert"] {
  --color-background: #F5E6D3;
  --color-surface: #ffffff;
  --color-surface-alt: #FFF5E6;
  --color-text-primary: #8B4513;
  --color-text-secondary: rgba(139, 69, 19, 0.7);
  --color-text-on-surface: #8B4513;
  --color-button: #DEB887;
  --color-button-hover: #E8C5A0;
  --color-button-text: #ffffff;
  --color-accent: #F4A460;
  --color-border: #E6C6A5;
  --color-border-dark: #DEB887;
  --color-success: #90EE90;
  --color-warning: #FFA500;
  --color-error: #CD5C5C;
  --color-info: #87CEEB;
  
  /* Variables de compatibilité */
  --bg-primary: #ffffff;
  --bg-secondary: #FFF5E6;
  --text-primary: #8B4513;
  --text-secondary: rgba(139, 69, 19, 0.7);
  --text-tertiary: rgba(139, 69, 19, 0.5);
  --border-color: #E6C6A5;
  --primary-color: #DEB887;
}

/* THÈME AURORA (Northern Lights) */
[data-theme="aurora"] {
  --color-background: #001122;
  --color-surface: #0A1929;
  --color-surface-alt: #172B4D;
  --color-text-primary: #4FC3F7;
  --color-text-secondary: rgba(79, 195, 247, 0.85);
  --color-text-on-surface: #4FC3F7;
  --color-button: #26A69A;
  --color-button-hover: #2DD4BF;
  --color-button-text: #ffffff;
  --color-accent: #00E5FF;
  --color-border: #64B5F6;
  --color-border-dark: #90CAF9;
  --color-success: #4CAF50;
  --color-warning: #FFC107;
  --color-error: #F44336;
  --color-info: #00E5FF;
  
  /* Variables de compatibilité */
  --bg-primary: #0A1929;
  --bg-secondary: #172B4D;
  --text-primary: #4FC3F7;
  --text-secondary: rgba(79, 195, 247, 0.85);
  --text-tertiary: rgba(79, 195, 247, 0.7);
  --border-color: #64B5F6;
  --primary-color: #26A69A;
}

/* THÈME MATRIX */
[data-theme="matrix"] {
  --color-background: #000000;
  --color-surface: #001100;
  --color-surface-alt: #002200;
  --color-text-primary: #00FF00;
  --color-text-secondary: rgba(0, 255, 0, 0.8);
  --color-text-on-surface: #00FF00;
  --color-button: #003300;
  --color-button-hover: #004400;
  --color-button-text: #00FF00;
  --color-accent: #00FF00;
  --color-border: #00FF00;
  --color-border-dark: #00CC00;
  --color-success: #00FF00;
  --color-warning: #FFFF00;
  --color-error: #FF0000;
  --color-info: #00FFFF;
  
  /* Variables de compatibilité */
  --bg-primary: #001100;
  --bg-secondary: #002200;
  --text-primary: #00FF00;
  --text-secondary: rgba(0, 255, 0, 0.85);
  --text-tertiary: rgba(0, 255, 0, 0.7);
  --border-color: #00FF00;
  --primary-color: #00FF00;
}

/* THÈME TERMINAL (Hacker) */
[data-theme="terminal"] {
  --color-background: #1E1E1E;
  --color-surface: #252526;
  --color-surface-alt: #2D2D30;
  --color-text-primary: #D4D4D4;
  --color-text-secondary: rgba(212, 212, 212, 0.8);
  --color-text-on-surface: #D4D4D4;
  --color-button: #007ACC;
  --color-button-hover: #0098FF;
  --color-button-text: #ffffff;
  --color-accent: #4EC9B0;
  --color-border: #3E3E42;
  --color-border-dark: #5A5A5A;
  --color-success: #89D185;
  --color-warning: #DCDCAA;
  --color-error: #F48771;
  --color-info: #569CD6;
  
  /* Variables de compatibilité */
  --bg-primary: #252526;
  --bg-secondary: #2D2D30;
  --text-primary: #D4D4D4;
  --text-secondary: rgba(212, 212, 212, 0.85);
  --text-tertiary: rgba(212, 212, 212, 0.7);
  --border-color: #3E3E42;
  --primary-color: #007ACC;
}

/* THÈME MONOCHROME */
[data-theme="monochrome"] {
  --color-background: #2C2C2C;
  --color-surface: #3C3C3C;
  --color-surface-alt: #4C4C4C;
  --color-text-primary: #E0E0E0;
  --color-text-secondary: rgba(224, 224, 224, 0.8);
  --color-text-on-surface: #E0E0E0;
  --color-button: #555555;
  --color-button-hover: #666666;
  --color-button-text: #ffffff;
  --color-accent: #888888;
  --color-border: #606060;
  --color-border-dark: #707070;
  --color-success: #70C070;
  --color-warning: #C0C070;
  --color-error: #C07070;
  --color-info: #7090C0;
  
  /* Variables de compatibilité */
  --bg-primary: #3C3C3C;
  --bg-secondary: #4C4C4C;
  --text-primary: #E0E0E0;
  --text-secondary: rgba(224, 224, 224, 0.85);
  --text-tertiary: rgba(224, 224, 224, 0.7);
  --border-color: #606060;
  --primary-color: #555555;
}

/* THÈME DARK RED (Dark avec accents rouges) */
[data-theme="dark-red"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #2a1f1f;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #c73636;
  --color-button-hover: #d84a4a;
  --color-button-text: #ffffff;
  --color-accent: #ff4848;
  --color-border: #404040;
  --color-border-dark: #5a3a3a;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-error: #f44336;
  --color-info: #ff4848;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a1f1f;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #c73636;
}

/* THÈME DARK GREEN (Dark avec accents verts) */
[data-theme="dark-green"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #1f2a1f;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #36c736;
  --color-button-hover: #4ad84a;
  --color-button-text: #000000;
  --color-accent: #48ff48;
  --color-border: #404040;
  --color-border-dark: #3a5a3a;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-error: #f44336;
  --color-info: #48ff48;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #1f2a1f;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #36c736;
}

/* THÈME DARK PURPLE (Dark avec accents violets) */
[data-theme="dark-purple"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #2a1f2a;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #8c36c7;
  --color-button-hover: #9c4ad8;
  --color-button-text: #ffffff;
  --color-accent: #ba48ff;
  --color-border: #404040;
  --color-border-dark: #5a3a5a;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-error: #f44336;
  --color-info: #ba48ff;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a1f2a;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #8c36c7;
}

/* THÈME DARK ORANGE (Dark avec accents oranges) */
[data-theme="dark-orange"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #2a251f;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #c78036;
  --color-button-hover: #d8944a;
  --color-button-text: #000000;
  --color-accent: #ffa848;
  --color-border: #404040;
  --color-border-dark: #5a453a;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-error: #f44336;
  --color-info: #ffa848;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a251f;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #c78036;
}

/* THÈME DARK CYAN (Dark avec accents cyan) */
[data-theme="dark-cyan"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #1f252a;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #36b8c7;
  --color-button-hover: #4ac8d8;
  --color-button-text: #000000;
  --color-accent: #48dfff;
  --color-border: #404040;
  --color-border-dark: #3a505a;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-error: #f44336;
  --color-info: #48dfff;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #1f252a;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #36b8c7;
}

/* THÈME DARK YELLOW (Dark avec accents jaunes) */
[data-theme="dark-yellow"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #2a2a1f;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #c7b836;
  --color-button-hover: #d8c84a;
  --color-button-text: #000000;
  --color-accent: #ffef48;
  --color-border: #404040;
  --color-border-dark: #5a5a3a;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-error: #f44336;
  --color-info: #ffef48;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a2a1f;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #c7b836;
}

/* THÈME GOOGLE (Bleu, rouge, jaune, vert) */
[data-theme="google"] {
  --color-background: #ffffff;
  --color-surface: #f8f9fa;
  --color-surface-alt: #e8eaed;
  --color-text-primary: #202124;
  --color-text-secondary: rgba(32, 33, 36, 0.7);
  --color-text-on-surface: #202124;
  --color-button: #4285f4;
  --color-button-hover: #3367d6;
  --color-button-text: #ffffff;
  --color-accent: #ea4335;
  --color-border: #dadce0;
  --color-border-dark: #bdc1c6;
  --color-success: #34a853;
  --color-warning: #fbbc04;
  --color-error: #ea4335;
  --color-info: #4285f4;
  
  /* Variables de compatibilité */
  --bg-primary: #f8f9fa;
  --bg-secondary: #e8eaed;
  --text-primary: #202124;
  --text-secondary: rgba(32, 33, 36, 0.7);
  --text-tertiary: rgba(32, 33, 36, 0.5);
  --border-color: #dadce0;
  --primary-color: #4285f4;
}

/* THÈME META (Facebook Blue) */
[data-theme="meta"] {
  --color-background: #ffffff;
  --color-surface: #f2f3f5;
  --color-surface-alt: #e4e6eb;
  --color-text-primary: #050505;
  --color-text-secondary: rgba(5, 5, 5, 0.7);
  --color-text-on-surface: #050505;
  --color-button: #1877f2;
  --color-button-hover: #166fe5;
  --color-button-text: #ffffff;
  --color-accent: #42b883;
  --color-border: #dadde1;
  --color-border-dark: #bec3c9;
  --color-success: #42b883;
  --color-warning: #fbbc04;
  --color-error: #f02849;
  --color-info: #1877f2;
  
  /* Variables de compatibilité */
  --bg-primary: #f2f3f5;
  --bg-secondary: #e4e6eb;
  --text-primary: #050505;
  --text-secondary: rgba(5, 5, 5, 0.7);
  --text-tertiary: rgba(5, 5, 5, 0.5);
  --border-color: #dadde1;
  --primary-color: #1877f2;
}

/* THÈME NVIDIA (Vert NVIDIA) */
[data-theme="nvidia"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #2a2a2a;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-on-surface: #ffffff;
  --color-button: #76b900;
  --color-button-hover: #85c91a;
  --color-button-text: #000000;
  --color-accent: #76b900;
  --color-border: #404040;
  --color-border-dark: #5a5a5a;
  --color-success: #76b900;
  --color-warning: #ffc107;
  --color-error: #f44336;
  --color-info: #76b900;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a2a2a;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.6);
  --border-color: #404040;
  --primary-color: #76b900;
}

/* THÈME BNP PARIBAS */
[data-theme="bnp-paribas"] {
  --color-background: #003d2b;
  --color-surface: #00543b;
  --color-surface-alt: #006b4a;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.85);
  --color-text-on-surface: #ffffff;
  --color-button: #00a651;
  --color-button-hover: #00c760;
  --color-button-text: #ffffff;
  --color-accent: #00a651;
  --color-border: #006b4a;
  --color-border-dark: #008556;
  --color-success: #a5d6a7;
  --color-warning: #ffcc80;
  --color-error: #e57373;
  --color-info: #90caf9;
  
  /* Variables de compatibilité */
  --bg-primary: #00543b;
  --bg-secondary: #006b4a;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.7);
  --border-color: #006b4a;
  --primary-color: #00a651;
}

/* THÈME SOCIÉTÉ GÉNÉRALE */
[data-theme="societe-generale"] {
  --color-background: #000000;
  --color-surface: #1a1a1a;
  --color-surface-alt: #2a2a2a;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.85);
  --color-text-on-surface: #ffffff;
  --color-button: #e60028;
  --color-button-hover: #ff1a3d;
  --color-button-text: #ffffff;
  --color-accent: #e60028;
  --color-border: #2a2a2a;
  --color-border-dark: #3a3a3a;
  --color-success: #a5d6a7;
  --color-warning: #ffcc80;
  --color-error: #e57373;
  --color-info: #90caf9;
  
  /* Variables de compatibilité */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2a2a2a;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.7);
  --border-color: #2a2a2a;
  --primary-color: #e60028;
}

/* THÈME JP MORGAN */
[data-theme="jpmorgan"] {
  --color-background: #2d1f14;
  --color-surface: #3d2a1b;
  --color-surface-alt: #4d3522;
  --color-text-primary: #e8dcc8;
  --color-text-secondary: rgba(232, 220, 200, 0.85);
  --color-text-on-surface: #e8dcc8;
  --color-button: #8b6f47;
  --color-button-hover: #a08159;
  --color-button-text: #ffffff;
  --color-accent: #c9a961;
  --color-border: #4d3522;
  --color-border-dark: #5d4029;
  --color-success: #a5d6a7;
  --color-warning: #ffcc80;
  --color-error: #e57373;
  --color-info: #90caf9;
  
  /* Variables de compatibilité */
  --bg-primary: #3d2a1b;
  --bg-secondary: #4d3522;
  --text-primary: #e8dcc8;
  --text-secondary: rgba(232, 220, 200, 0.85);
  --text-tertiary: rgba(232, 220, 200, 0.7);
  --border-color: #4d3522;
  --primary-color: #8b6f47;
}


/* THÈME GOLDMAN SACHS */
[data-theme="goldman-sachs"] {
  --color-background: #4a6b8a;
  --color-surface: #5a7b9a;
  --color-surface-alt: #6a8baa;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.85);
  --color-text-on-surface: #ffffff;
  --color-button: #7a9bba;
  --color-button-hover: #8aabca;
  --color-button-text: #ffffff;
  --color-accent: #7a9bba;
  --color-border: #6a8baa;
  --color-border-dark: #5a7b9a;
  --color-success: #a5d6a7;
  --color-warning: #ffcc80;
  --color-error: #e57373;
  --color-info: #90caf9;
  
  /* Variables de compatibilité */
  --bg-primary: #5a7b9a;
  --bg-secondary: #6a8baa;
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.85);
  --text-tertiary: rgba(255, 255, 255, 0.7);
  --border-color: #6a8baa;
  --primary-color: #7a9bba;
}

/* THÈME MICROSOFT */
[data-theme="microsoft"] {
  --color-background: #ffffff;
  --color-surface: #f3f3f3;
  --color-surface-alt: #e8e8e8;
  --color-text-primary: #323130;
  --color-text-secondary: rgba(50, 49, 48, 0.7);
  --color-text-on-surface: #323130;
  --color-button: #0078d4;
  --color-button-hover: #006cbe;
  --color-button-text: #ffffff;
  --color-accent: #00a4ef;
  --color-border: #d2d0ce;
  --color-border-dark: #b3b0ad;
  --color-success: #107c10;
  --color-warning: #ffaa44;
  --color-error: #d13438;
  --color-info: #0078d4;
  
  /* Variables de compatibilité */
  --bg-primary: #f3f3f3;
  --bg-secondary: #e8e8e8;
  --text-primary: #323130;
  --text-secondary: rgba(50, 49, 48, 0.7);
  --text-tertiary: rgba(50, 49, 48, 0.5);
  --border-color: #d2d0ce;
  --primary-color: #0078d4;
}

/* ======================================
   PRÉVISUALISATIONS DES THÈMES
   ====================================== */

.theme-preview {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin-right: var(--spacing-sm);
  border: 2px solid var(--color-border);
  flex-shrink: 0;
}

/* Mise en forme et centrage des cartes/options de thèmes (sidebar et paramètres) */
.theme-dropdown .theme-option,
.theme-option-settings,
.theme-option-settings .theme-option {
  display: flex;
  align-items: center;
  gap: 8px;
}

.theme-dropdown .theme-option span,
.theme-option-settings span {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.theme-preview.default {
  background: linear-gradient(45deg, #08B877 50%, #06A86B 50%);
}

.theme-preview.dark {
  background: linear-gradient(45deg, #000000 50%, #333333 50%);
}

.theme-preview.light {
  background: linear-gradient(45deg, #F5F5F5 50%, #6200EE 50%);
}

.theme-preview.blue {
  background: linear-gradient(45deg, #E3F2FD 50%, #1976D2 50%);
}

.theme-preview.green {
  background: linear-gradient(45deg, #E8F5E9 50%, #2E7D32 50%);
}

.theme-preview.red {
  background: linear-gradient(45deg, #FFEBEE 50%, #C62828 50%);
}

.theme-preview.bloom {
  background: linear-gradient(45deg, #000000 50%, #ffae00 50%);
}

.theme-preview.metal {
  background: linear-gradient(45deg, #1c1c1c 50%, #8b0000 50%);
}

.theme-preview.flashy {
  background: linear-gradient(45deg, #1a0033 50%, #ff00ff 50%);
}

.theme-preview.wood {
  background: linear-gradient(45deg, #5d4037 50%, #d7a86e 50%);
  background-image: var(--theme-texture);
}

.theme-preview.ocean {
  background: linear-gradient(45deg, #01579b 50%, #0288d1 50%);
  background-image: var(--theme-texture);
}

.theme-preview.pastel {
  background: linear-gradient(45deg, #FFF4E6 50%, #FFB6C1 50%);
}

.theme-preview.forest {
  background: linear-gradient(45deg, #1B4332 50%, #52B788 50%);
  background-image: var(--theme-texture);
}

.theme-preview.sunset {
  background: linear-gradient(45deg, #FF6B35 50%, #FF8C42 50%);
  background-image: var(--theme-texture);
}

.theme-preview.cyberpunk {
  background: linear-gradient(45deg, #000000 50%, #FF00FF 50%);
}

.theme-preview.grayscale {
  background: linear-gradient(45deg, #F5F5F5 50%, #333333 50%);
}

.theme-preview.purple {
  background: linear-gradient(45deg, #F3E5F5 50%, #6A1B9A 50%);
}

.theme-preview.pink {
  background: linear-gradient(45deg, #FFF0F5 50%, #E91E63 50%);
}

.theme-preview.turquoise {
  background: linear-gradient(45deg, #E0F7FA 50%, #00838F 50%);
}

.theme-preview.yellow {
  background: linear-gradient(45deg, #FFFDE7 50%, #FFEB3B 50%);
}

.theme-preview.coffee {
  background: linear-gradient(45deg, #4E342E 50%, #5D4037 50%);
  background-image: var(--theme-texture);
}

.theme-preview.desert {
  background: linear-gradient(45deg, #F5E6D3 50%, #DEB887 50%);
  background-image: var(--theme-texture);
}

.theme-preview.aurora {
  background: linear-gradient(45deg, #001122 50%, #26A69A 50%);
}

.theme-preview.matrix {
  background: linear-gradient(45deg, #000000 50%, #00FF00 50%);
}

.theme-preview.terminal {
  background: linear-gradient(45deg, #1E1E1E 50%, #007ACC 50%);
}

.theme-preview.monochrome {
  background: linear-gradient(45deg, #2C2C2C 50%, #555555 50%);
}

.theme-preview.dark-red {
  background: linear-gradient(45deg, #000000 50%, #c73636 50%);
}

.theme-preview.dark-green {
  background: linear-gradient(45deg, #000000 50%, #36c736 50%);
}

.theme-preview.dark-purple {
  background: linear-gradient(45deg, #000000 50%, #8c36c7 50%);
}

.theme-preview.dark-orange {
  background: linear-gradient(45deg, #000000 50%, #c78036 50%);
}

.theme-preview.dark-cyan {
  background: linear-gradient(45deg, #000000 50%, #36b8c7 50%);
}

.theme-preview.dark-yellow {
  background: linear-gradient(45deg, #000000 50%, #c7b836 50%);
}

.theme-preview.google {
  background: linear-gradient(45deg, #4285f4 50%, #ea4335 50%);
}

.theme-preview.meta {
  background: linear-gradient(45deg, #1877f2 50%, #42b883 50%);
}

.theme-preview.nvidia {
  background: linear-gradient(45deg, #000000 50%, #76b900 50%);
}

.theme-preview.bnp-paribas {
  background: linear-gradient(45deg, #009639 50%, #007b3a 50%);
}

.theme-preview.societe-generale {
  /* Noir et rouge pour refléter l'identité SG */
  background: linear-gradient(45deg, #000000 50%, #e60028 50%);
}

.theme-preview.jpmorgan {
  /* Harmonisé avec la palette marron/or du thème jpmorgan */
  background: linear-gradient(45deg, #3d2a1b 50%, #c9a961 50%);
}

.theme-preview.goldman-sachs {
  background: linear-gradient(45deg, #0c2340 50%, #0066cc 50%);
}

.theme-preview.microsoft {
  background: linear-gradient(45deg, #0078d4 50%, #00a4ef 50%);
}

/* ======================================
   APPLICATIONS DES THÈMES
   ====================================== */

/* Application des couleurs de base */
body {
  background-color: var(--color-background);
  color: var(--color-text-primary);
  /* Applique la texture si elle est définie par le thème */
  background-image: var(--theme-texture, none);
  background-size: cover, auto;
  background-repeat: no-repeat, repeat;
  background-attachment: fixed;
  transition: all var(--transition-normal);
}

/* Surfaces */
.card,
.modal-content,
.dropdown,
.surface {
  background-color: var(--color-surface);
  color: var(--color-text-on-surface);
}

.surface-alt {
  background-color: var(--color-surface-alt);
}

/* Bordures */
.border {
  border-color: var(--color-border);
}

.border-dark {
  border-color: var(--color-border-dark);
}

/* Boutons */
.btn-primary {
  background-color: var(--color-button);
  color: var(--color-button-text);
  border-color: var(--color-button);
}

.btn-primary:hover {
  background-color: var(--color-button-hover);
  border-color: var(--color-button-hover);
}

.btn-secondary {
  background-color: transparent;
  color: var(--color-text-primary);
  border-color: var(--color-border-dark);
}

.btn-secondary:hover {
  background-color: var(--color-surface-alt);
}


/* Liens et accents */
.accent,
.highlight {
  color: var(--color-accent);
}

a {
  color: var(--color-accent);
}

a:hover {
  color: var(--color-button);
}

/* États */
.success {
  color: var(--color-success);
}

.warning {
  color: var(--color-warning);
}

.error {
  color: var(--color-error);
}

.info {
  color: var(--color-info);
}

/* Textes */
.text-primary {
  color: var(--color-text-primary);
}

.text-secondary {
  color: var(--color-text-secondary);
}

.text-on-surface {
  color: var(--color-text-on-surface);
}

/* ======================================
   AMÉLIORATION DU CONTRASTE DES ICÔNES
   ====================================== */

/* Règles générales pour améliorer le contraste des icônes */
.nav-item i,
.btn i,
.feature-icon i,
.stat-icon i,
.panel-title i,
.prompt-label i,
.group-select-label i,
.btn-panel i,
.status-menu-item i,
.recent-item i {
  filter: contrast(1.2);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Amélioration spécifique pour les thèmes sombres */
[data-theme="dark"] .nav-item i,
[data-theme="dark"] .btn i,
[data-theme="dark"] .feature-icon i,
[data-theme="dark"] .stat-icon i,
[data-theme="dark"] .panel-title i,
[data-theme="dark"] .prompt-label i,
[data-theme="dark"] .group-select-label i,
[data-theme="dark"] .btn-panel i,
[data-theme="dark"] .status-menu-item i,
[data-theme="dark"] .recent-item i {
  filter: contrast(1.4) brightness(1.1);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Amélioration pour les thèmes bloom et néon */
[data-theme="bloom"] .nav-item i,
[data-theme="bloom"] .btn i,
[data-theme="bloom"] .feature-icon i,
[data-theme="bloom"] .stat-icon i,
[data-theme="bloom"] .panel-title i,
[data-theme="bloom"] .prompt-label i,
[data-theme="bloom"] .group-select-label i,
[data-theme="bloom"] .btn-panel i,
[data-theme="bloom"] .status-menu-item i,
[data-theme="bloom"] .recent-item i,
[data-theme="cyberpunk"] .nav-item i,
[data-theme="cyberpunk"] .btn i,
[data-theme="cyberpunk"] .feature-icon i,
[data-theme="cyberpunk"] .stat-icon i,
[data-theme="cyberpunk"] .panel-title i,
[data-theme="cyberpunk"] .prompt-label i,
[data-theme="cyberpunk"] .group-select-label i,
[data-theme="cyberpunk"] .btn-panel i,
[data-theme="cyberpunk"] .status-menu-item i,
[data-theme="cyberpunk"] .recent-item i,
[data-theme="matrix"] .nav-item i,
[data-theme="matrix"] .btn i,
[data-theme="matrix"] .feature-icon i,
[data-theme="matrix"] .stat-icon i,
[data-theme="matrix"] .panel-title i,
[data-theme="matrix"] .prompt-label i,
[data-theme="matrix"] .group-select-label i,
[data-theme="matrix"] .btn-panel i,
[data-theme="matrix"] .status-menu-item i,
[data-theme="matrix"] .recent-item i,
[data-theme="terminal"] .nav-item i,
[data-theme="terminal"] .btn i,
[data-theme="terminal"] .feature-icon i,
[data-theme="terminal"] .stat-icon i,
[data-theme="terminal"] .panel-title i,
[data-theme="terminal"] .prompt-label i,
[data-theme="terminal"] .group-select-label i,
[data-theme="terminal"] .btn-panel i,
[data-theme="terminal"] .status-menu-item i,
[data-theme="terminal"] .recent-item i,
[data-theme="monochrome"] .nav-item i,
[data-theme="monochrome"] .btn i,
[data-theme="monochrome"] .feature-icon i,
[data-theme="monochrome"] .stat-icon i,
[data-theme="monochrome"] .panel-title i,
[data-theme="monochrome"] .prompt-label i,
[data-theme="monochrome"] .group-select-label i,
[data-theme="monochrome"] .btn-panel i,
[data-theme="monochrome"] .status-menu-item i,
[data-theme="monochrome"] .recent-item i,
[data-theme="aurora"] .nav-item i,
[data-theme="aurora"] .btn i,
[data-theme="aurora"] .feature-icon i,
[data-theme="aurora"] .stat-icon i,
[data-theme="aurora"] .panel-title i,
[data-theme="aurora"] .prompt-label i,
[data-theme="aurora"] .group-select-label i,
[data-theme="aurora"] .btn-panel i,
[data-theme="aurora"] .status-menu-item i,
[data-theme="aurora"] .recent-item i {
  filter: contrast(1.5) brightness(1.2);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

/* Amélioration pour les thèmes clairs */
[data-theme="light"] .nav-item i,
[data-theme="light"] .btn i,
[data-theme="light"] .feature-icon i,
[data-theme="light"] .stat-icon i,
[data-theme="light"] .panel-title i,
[data-theme="light"] .prompt-label i,
[data-theme="light"] .group-select-label i,
[data-theme="light"] .btn-panel i,
[data-theme="light"] .status-menu-item i,
[data-theme="light"] .recent-item i {
  filter: contrast(1.3);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

/* Amélioration pour les thèmes colorés (bleu, vert, rouge) */
[data-theme="blue"] .nav-item i,
[data-theme="blue"] .btn i,
[data-theme="blue"] .feature-icon i,
[data-theme="blue"] .stat-icon i,
[data-theme="blue"] .panel-title i,
[data-theme="blue"] .prompt-label i,
[data-theme="blue"] .group-select-label i,
[data-theme="blue"] .btn-panel i,
[data-theme="blue"] .status-menu-item i,
[data-theme="blue"] .recent-item i,
[data-theme="green"] .nav-item i,
[data-theme="green"] .btn i,
[data-theme="green"] .feature-icon i,
[data-theme="green"] .stat-icon i,
[data-theme="green"] .panel-title i,
[data-theme="green"] .prompt-label i,
[data-theme="green"] .group-select-label i,
[data-theme="green"] .btn-panel i,
[data-theme="green"] .status-menu-item i,
[data-theme="green"] .recent-item i,
[data-theme="red"] .nav-item i,
[data-theme="red"] .btn i,
[data-theme="red"] .feature-icon i,
[data-theme="red"] .stat-icon i,
[data-theme="red"] .panel-title i,
[data-theme="red"] .prompt-label i,
[data-theme="red"] .group-select-label i,
[data-theme="red"] .btn-panel i,
[data-theme="red"] .status-menu-item i,
[data-theme="red"] .recent-item i,
[data-theme="purple"] .nav-item i,
[data-theme="purple"] .btn i,
[data-theme="purple"] .feature-icon i,
[data-theme="purple"] .stat-icon i,
[data-theme="purple"] .panel-title i,
[data-theme="purple"] .prompt-label i,
[data-theme="purple"] .group-select-label i,
[data-theme="purple"] .btn-panel i,
[data-theme="purple"] .status-menu-item i,
[data-theme="purple"] .recent-item i,
[data-theme="pink"] .nav-item i,
[data-theme="pink"] .btn i,
[data-theme="pink"] .feature-icon i,
[data-theme="pink"] .stat-icon i,
[data-theme="pink"] .panel-title i,
[data-theme="pink"] .prompt-label i,
[data-theme="pink"] .group-select-label i,
[data-theme="pink"] .btn-panel i,
[data-theme="pink"] .status-menu-item i,
[data-theme="pink"] .recent-item i,
[data-theme="turquoise"] .nav-item i,
[data-theme="turquoise"] .btn i,
[data-theme="turquoise"] .feature-icon i,
[data-theme="turquoise"] .stat-icon i,
[data-theme="turquoise"] .panel-title i,
[data-theme="turquoise"] .prompt-label i,
[data-theme="turquoise"] .group-select-label i,
[data-theme="turquoise"] .btn-panel i,
[data-theme="turquoise"] .status-menu-item i,
[data-theme="turquoise"] .recent-item i,
[data-theme="yellow"] .nav-item i,
[data-theme="yellow"] .btn i,
[data-theme="yellow"] .feature-icon i,
[data-theme="yellow"] .stat-icon i,
[data-theme="yellow"] .panel-title i,
[data-theme="yellow"] .prompt-label i,
[data-theme="yellow"] .group-select-label i,
[data-theme="yellow"] .btn-panel i,
[data-theme="yellow"] .status-menu-item i,
[data-theme="yellow"] .recent-item i {
  filter: contrast(1.2) brightness(1.05);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* ======================================
   ANIMATIONS DE TRANSITION DES THÈMES
   ====================================== */

* {
  transition: 
    background-color var(--transition-normal),
    color var(--transition-normal),
    border-color var(--transition-normal),
    box-shadow var(--transition-normal);
}

/* Transitions spéciales pour certains éléments */
.hero-visual,
.feature-card,
.stat-card {
  transition: 
    background-color var(--transition-normal),
    color var(--transition-normal),
    border-color var(--transition-normal),
    transform var(--transition-fast);
}

/* Mode sombre spécial pour les images et icônes */
[data-theme="dark"] .hero-visual i,
[data-theme="bloom"] .hero-visual i,
[data-theme="metal"] .hero-visual i,
[data-theme="flashy"] .hero-visual i,
[data-theme="cyberpunk"] .hero-visual i,
[data-theme="matrix"] .hero-visual i,
[data-theme="terminal"] .hero-visual i,
[data-theme="monochrome"] .hero-visual i,
[data-theme="forest"] .hero-visual i,
[data-theme="aurora"] .hero-visual i,
[data-theme="coffee"] .hero-visual i,
[data-theme="dark-red"] .hero-visual i,
[data-theme="dark-green"] .hero-visual i,
[data-theme="dark-purple"] .hero-visual i,
[data-theme="dark-orange"] .hero-visual i,
[data-theme="dark-cyan"] .hero-visual i,
[data-theme="dark-yellow"] .hero-visual i,
[data-theme="nvidia"] .hero-visual i {
  filter: brightness(0.8);
}

/* Ajustements pour les thèmes sombres */
[data-theme="dark"] .modal-content,
[data-theme="bloom"] .modal-content,
[data-theme="metal"] .modal-content,
[data-theme="flashy"] .modal-content,
[data-theme="cyberpunk"] .modal-content,
[data-theme="matrix"] .modal-content,
[data-theme="terminal"] .modal-content,
[data-theme="monochrome"] .modal-content,
[data-theme="forest"] .modal-content,
[data-theme="aurora"] .modal-content,
[data-theme="coffee"] .modal-content,
[data-theme="dark-red"] .modal-content,
[data-theme="dark-green"] .modal-content,
[data-theme="dark-purple"] .modal-content,
[data-theme="dark-orange"] .modal-content,
[data-theme="dark-cyan"] .modal-content,
[data-theme="dark-yellow"] .modal-content,
[data-theme="nvidia"] .modal-content {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

/* Glow effect pour les thèmes bloom */
[data-theme="bloom"] .highlight {
  text-shadow: 0 0 10px var(--color-accent);
}

[data-theme="bloom"] .btn-primary {
  box-shadow: 0 0 15px rgba(255, 174, 0, 0.3);
}

[data-theme="bloom"] .btn-primary:hover {
  box-shadow: 0 0 20px rgba(255, 174, 0, 0.5);
}
