/* ============================================
   MIA — Thèmes d'apparence
   5 variantes : Default (coloré), Sombre, Pro, Noir & Or, Nature
   ============================================ */

/* === THÈME SOMBRE (Dark Mode) === */
[data-theme="dark"] {
    --primary: #7C6CF7;
    --primary-light: #B8B0FF;
    --primary-dark: #6A5AE0;
    --secondary: #00D4A4;
    --secondary-light: #66FFCC;
    --accent: #FFD93D;
    --accent-dark: #FFC107;
    --danger: #FF6B6B;
    --danger-light: #FFA8A8;
    --info: #74B9FF;
    --info-light: #3D4F5F;
    --dark: #E8E8E8;
    --gray: #A0AEC0;
    --light: #2D3748;
    --white: #1A202C;
    --bg-gradient: linear-gradient(135deg, #1A1A2E 0%, #16213E 50%, #0F3460 100%);
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] body {
    background-color: #0D1117 !important;
    color: #E8E8E8;
}

[data-theme="dark"] .header {
    background: linear-gradient(135deg, #1A1A2E 0%, #16213E 50%, #0F3460 100%) !important;
}

[data-theme="dark"] .card,
[data-theme="dark"] .formation-card {
    background: #1E293B !important;
    border: 1px solid #2D3748;
}

[data-theme="dark"] .card:hover,
[data-theme="dark"] .formation-card:hover {
    border-color: #4A5568;
}

[data-theme="dark"] .user-menu-dropdown-inner {
    background: #1E293B !important;
    border: 1px solid #2D3748;
}

[data-theme="dark"] .user-menu-item {
    color: #E8E8E8;
}

[data-theme="dark"] .user-menu-item:hover {
    background: #2D3748;
}

[data-theme="dark"] .user-menu-dropdown-inner hr {
    border-top-color: #2D3748 !important;
}

[data-theme="dark"] .form-control {
    background: #2D3748 !important;
    border-color: #4A5568 !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .form-control:focus {
    border-color: #7C6CF7 !important;
    box-shadow: 0 0 0 3px rgba(124, 108, 247, 0.2);
}

[data-theme="dark"] .form-label {
    color: #CBD5E0;
}

[data-theme="dark"] .alert-success {
    background: #1C3D2A !important;
    color: #68D391 !important;
    border-color: #2F5B3F !important;
}

[data-theme="dark"] .alert-danger {
    background: #3D1C1C !important;
    color: #FEB2B2 !important;
    border-color: #5B2F2F !important;
}

[data-theme="dark"] .alert-warning {
    background: #3D351C !important;
    color: #F6E05E !important;
    border-color: #5B4F2F !important;
}

[data-theme="dark"] .alert-info {
    background: #1C2D3D !important;
    color: #63B3ED !important;
    border-color: #2F4A5B !important;
}

[data-theme="dark"] .footer {
    background: #1A202C !important;
    color: #A0AEC0 !important;
    border-top: 1px solid #2D3748;
}

[data-theme="dark"] .progress-bar {
    background-color: #2D3748 !important;
}

[data-theme="dark"] a {
    color: #B8B0FF;
}

[data-theme="dark"] a:hover {
    color: #D6CFFF;
}

[data-theme="dark"] .nav-link {
    color: rgba(255,255,255,0.9) !important;
}

[data-theme="dark"] .btn-outline {
    color: #B8B0FF !important;
    border-color: #7C6CF7 !important;
}

[data-theme="dark"] .btn-outline:hover {
    background: #7C6CF7 !important;
    color: white !important;
}

[data-theme="dark"] .btn-primary {
    background: #7C6CF7 !important;
    color: white !important;
}

[data-theme="dark"] .btn-primary:hover {
    background: #6A5AE0 !important;
}

[data-theme="dark"] .btn-secondary {
    background: #4A5568 !important;
    color: white !important;
}

[data-theme="dark"] .nav-link:hover {
    background: #4A5568 !important;
}

[data-theme="dark"] .user-menu-toggle {
    background: #4A5568 !important;
    border-color: #4A5568 !important;
}

[data-theme="dark"] .user-menu-toggle:hover {
    background: #5A6A7A !important;
}

/* Dark - Quêtes du jour */
[data-theme="dark"] .quest-accordion {
    background: #2D3748 !important;
    border: 1px solid #4A5568;
}

[data-theme="dark"] .quest-accordion .quest-scroll-label {
    background: rgba(124, 108, 247, 0.3) !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .quest-accordion .quest-accordion-arrow {
    color: #A0AEC0 !important;
}

[data-theme="dark"] .quest-accordion-body > div {
    background: #1E293B !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .quest-row {
    border-bottom-color: #2D3748 !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .quest-marquee-text {
    color: #CBD5E0 !important;
}

/* Dark - Charte d'utilisation */
[data-theme="dark"] .charte-ia-banner {
    background: #1E293B !important;
    border-color: #4A5568 !important;
}

[data-theme="dark"] .charte-ia-title {
    color: #E8E8E8 !important;
}

[data-theme="dark"] .charte-ia-btn {
    background: #2D3748 !important;
    color: #E8E8E8 !important;
    border-color: #4A5568 !important;
}

[data-theme="dark"] .charte-ia-btn:hover {
    background: #7C6CF7 !important;
    color: white !important;
    border-color: #7C6CF7 !important;
}

/* Dark - Formation cards */
[data-theme="dark"] .formation-footer {
    color: #E8E8E8;
}

[data-theme="dark"] .progress-label {
    color: #A0AEC0 !important;
}

[data-theme="dark"] .formation-description {
    color: #CBD5E0 !important;
}

[data-theme="dark"] .section-title {
    color: #E8E8E8 !important;
}

/* Dark - Leaderboard */
[data-theme="dark"] .leaderboard-section {
    background: #161B22 !important;
}

[data-theme="dark"] .leaderboard-card {
    background: #1E293B !important;
    border: 1px solid #2D3748;
}

[data-theme="dark"] .leaderboard-row {
    border-bottom-color: #2D3748 !important;
    color: #E8E8E8;
}

[data-theme="dark"] .leaderboard-row:hover {
    background: #2D3748 !important;
}

[data-theme="dark"] .leaderboard-row.gold {
    background: linear-gradient(135deg, #2D2B1E 0%, #1E293B 100%) !important;
}

[data-theme="dark"] .leaderboard-row.silver {
    background: linear-gradient(135deg, #252830 0%, #1E293B 100%) !important;
}

[data-theme="dark"] .leaderboard-row.bronze {
    background: linear-gradient(135deg, #2D251E 0%, #1E293B 100%) !important;
}

[data-theme="dark"] .leaderboard-row.leaderboard-me {
    background: linear-gradient(135deg, #1E1A3D 0%, #261E3D 100%) !important;
}

[data-theme="dark"] .leaderboard-name {
    color: #E8E8E8;
}

[data-theme="dark"] .leaderboard-xp,
[data-theme="dark"] .leaderboard-level {
    color: #A0AEC0;
}

[data-theme="dark"] .leaderboard-section .btn {
    background: #2D3748 !important;
    color: #B8B0FF !important;
}

/* Dark - Favoris */
[data-theme="dark"] .favorites-section {
    color: #E8E8E8;
}

/* Dark - scrollbar */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 10px;
}
[data-theme="dark"] ::-webkit-scrollbar-track {
    background: #1A202C;
}
[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: #4A5568;
    border-radius: 5px;
}

/* === THÈME PRO / SÉRIEUX === */
[data-theme="pro"] {
    --primary: #2C3E50;
    --primary-light: #5D7B9A;
    --primary-dark: #1A252F;
    --secondary: #27AE60;
    --secondary-light: #6FCF97;
    --accent: #F2994A;
    --accent-dark: #D4782E;
    --danger: #EB5757;
    --danger-light: #F2A5A5;
    --info: #2D9CDB;
    --info-light: #E3F2FD;
    --dark: #1A1A1A;
    --gray: #4F4F4F;
    --light: #CFD8DC;
    --white: #FFFFFF;
    --bg-gradient: linear-gradient(135deg, #2C3E50 0%, #34495E 50%, #3D566E 100%);
    --shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.12);
    --shadow-md: 0 3px 12px rgba(0, 0, 0, 0.18);
    --shadow-lg: 0 6px 24px rgba(0, 0, 0, 0.22);
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 20px;
}

[data-theme="pro"] body {
    background-color: #B0BEC5 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

[data-theme="pro"] .header {
    background: linear-gradient(135deg, #2C3E50 0%, #34495E 50%, #3D566E 100%) !important;
}

[data-theme="pro"] .nav-link:hover {
    background: #1A252F !important;
}

[data-theme="pro"] .user-menu-toggle {
    background: #27AE60 !important;
    border-color: #27AE60 !important;
}

[data-theme="pro"] .user-menu-toggle:hover {
    background: #1E8C4E !important;
}

[data-theme="pro"] .card,
[data-theme="pro"] .formation-card {
    border: 1px solid #E0E0E0;
    box-shadow: var(--shadow-sm);
}

[data-theme="pro"] .card:hover,
[data-theme="pro"] .formation-card:hover {
    box-shadow: var(--shadow-md);
    border-color: #BDBDBD;
}

[data-theme="pro"] .btn-primary {
    background: #2C3E50 !important;
    box-shadow: 0 2px 8px rgba(44, 62, 80, 0.25);
    color: white !important;
}

[data-theme="pro"] .btn-primary:hover {
    background: #1A252F !important;
    box-shadow: 0 4px 12px rgba(44, 62, 80, 0.35);
    color: white !important;
}

[data-theme="pro"] .progress-fill {
    background: linear-gradient(90deg, #27AE60, #6FCF97) !important;
}

[data-theme="pro"] .footer {
    background: #2C3E50 !important;
    color: #BDC3C7 !important;
}

/* Pro - Quêtes du jour */
[data-theme="pro"] .quest-accordion {
    background: #34495E !important;
    border-radius: 8px !important;
}

[data-theme="pro"] .quest-accordion .quest-scroll-label {
    background: rgba(39, 174, 96, 0.3) !important;
    color: white !important;
}

[data-theme="pro"] .quest-accordion .quest-accordion-arrow {
    color: rgba(255,255,255,0.7) !important;
}

[data-theme="pro"] .quest-marquee-text {
    color: rgba(255,255,255,0.85) !important;
}

/* Pro - Charte */
[data-theme="pro"] .charte-ia-banner {
    background: #ECEFF1 !important;
    border-color: #90A4AE !important;
}

/* Pro - Leaderboard */
[data-theme="pro"] .leaderboard-section {
    background: #2C3E50 !important;
}

[data-theme="pro"] .leaderboard-section .btn {
    background: white !important;
    color: #2C3E50 !important;
}

/* === THÈME NOIR & OR (Élégant, Luxe) === */
[data-theme="elegant"] {
    --primary: #C8A951;
    --primary-light: #E0C96E;
    --primary-dark: #A68B3A;
    --secondary: #C8A951;
    --secondary-light: #E0C96E;
    --accent: #FFD700;
    --accent-dark: #B8960F;
    --danger: #E74C3C;
    --danger-light: #F1948A;
    --info: #5DADE2;
    --info-light: #1C2833;
    --dark: #F0E6D3;
    --gray: #BDB9A6;
    --light: #1C1C1C;
    --white: #0D0D0D;
    --bg-gradient: linear-gradient(135deg, #0D0D0D 0%, #1A1A1A 50%, #2C2C2C 100%);
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 8px 32px rgba(200, 169, 81, 0.2);
}

[data-theme="elegant"] body {
    background-color: #0D0D0D !important;
    color: #F0E6D3;
}

[data-theme="elegant"] .header {
    background: linear-gradient(135deg, #0D0D0D 0%, #1A1A1A 50%, #2C2C2C 100%) !important;
    border-bottom: 1px solid #C8A951;
}

[data-theme="elegant"] .nav-link {
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .nav-link:hover {
    background: rgba(200, 169, 81, 0.15) !important;
    color: #FFD700 !important;
}

[data-theme="elegant"] .user-menu-toggle {
    background: transparent !important;
    border: 1px solid #C8A951 !important;
    color: #C8A951 !important;
}

[data-theme="elegant"] .user-menu-toggle:hover {
    background: #C8A951 !important;
    color: #0D0D0D !important;
}

[data-theme="elegant"] .card,
[data-theme="elegant"] .formation-card {
    background: #1A1A1A !important;
    border: 1px solid #333;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

[data-theme="elegant"] .card:hover,
[data-theme="elegant"] .formation-card:hover {
    box-shadow: 0 4px 20px rgba(200, 169, 81, 0.2);
    border-color: #C8A951;
}

[data-theme="elegant"] .btn-primary {
    background: linear-gradient(135deg, #C8A951, #E0C96E) !important;
    box-shadow: 0 4px 12px rgba(200, 169, 81, 0.3);
    color: #0D0D0D !important;
    font-weight: 700 !important;
}

[data-theme="elegant"] .btn-primary:hover {
    background: linear-gradient(135deg, #E0C96E, #FFD700) !important;
    box-shadow: 0 6px 20px rgba(200, 169, 81, 0.5);
    color: #0D0D0D !important;
}

[data-theme="elegant"] .btn-secondary {
    background: #333 !important;
    color: #C8A951 !important;
    border: 1px solid #C8A951 !important;
}

[data-theme="elegant"] .btn-secondary:hover {
    background: #C8A951 !important;
    color: #0D0D0D !important;
}

[data-theme="elegant"] .btn-outline {
    color: #C8A951 !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .btn-outline:hover {
    background: #C8A951 !important;
    color: #0D0D0D !important;
}

[data-theme="elegant"] .btn-relire {
    color: #C8A951 !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .btn-relire:hover {
    background: #C8A951 !important;
    color: #0D0D0D !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .progress-fill {
    background: linear-gradient(90deg, #C8A951, #FFD700) !important;
}

[data-theme="elegant"] .progress-bar {
    background-color: #2C2C2C !important;
}

[data-theme="elegant"] .form-control {
    background: #1A1A1A !important;
    border-color: #444 !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .form-control:focus {
    border-color: #C8A951 !important;
    box-shadow: 0 0 0 3px rgba(200, 169, 81, 0.2);
}

[data-theme="elegant"] .form-label {
    color: #BDB9A6;
}

[data-theme="elegant"] .footer {
    background: #0D0D0D !important;
    color: #C8A951 !important;
    border-top: 1px solid #333;
}

[data-theme="elegant"] .alert-success {
    background: #1A2E1A !important;
    color: #68D391 !important;
    border-color: #2F5B2F !important;
}

[data-theme="elegant"] .alert-danger {
    background: #2E1A1A !important;
    color: #FEB2B2 !important;
    border-color: #5B2F2F !important;
}

[data-theme="elegant"] .alert-warning {
    background: #2E2B1A !important;
    color: #F6E05E !important;
    border-color: #5B4F2F !important;
}

[data-theme="elegant"] .alert-info {
    background: #1A2533 !important;
    color: #63B3ED !important;
    border-color: #2F4A5B !important;
}

[data-theme="elegant"] a {
    color: #C8A951;
}

[data-theme="elegant"] a:hover {
    color: #FFD700;
}

[data-theme="elegant"] .user-menu-dropdown-inner {
    background: #1A1A1A !important;
    border: 1px solid #333;
}

[data-theme="elegant"] .user-menu-item {
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .user-menu-item:hover {
    background: #2C2C2C !important;
}

[data-theme="elegant"] .user-menu-dropdown-inner hr {
    border-top-color: #333 !important;
}

/* Noir & Or - Quêtes du jour */
[data-theme="elegant"] .quest-accordion {
    background: linear-gradient(135deg, #1A1A1A, #2C2C2C) !important;
    border: 1px solid #C8A951 !important;
    border-radius: 12px !important;
}

[data-theme="elegant"] .quest-accordion .quest-scroll-label {
    background: rgba(200, 169, 81, 0.2) !important;
    color: #C8A951 !important;
}

[data-theme="elegant"] .quest-accordion .quest-accordion-arrow {
    color: #C8A951 !important;
}

[data-theme="elegant"] .quest-accordion-body > div {
    background: #1A1A1A !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .quest-row {
    border-bottom-color: #333 !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .quest-marquee-text {
    color: #C8A951 !important;
}

/* Noir & Or - Charte */
[data-theme="elegant"] .charte-ia-banner {
    background: #1A1A1A !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .charte-ia-title {
    color: #C8A951 !important;
}

[data-theme="elegant"] .charte-ia-btn {
    background: #2C2C2C !important;
    color: #F0E6D3 !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .charte-ia-btn:hover {
    background: #C8A951 !important;
    color: #0D0D0D !important;
    border-color: #C8A951 !important;
}

/* Noir & Or - Formation cards */
[data-theme="elegant"] .formation-footer {
    color: #F0E6D3;
}

[data-theme="elegant"] .progress-label {
    color: #BDB9A6 !important;
}

[data-theme="elegant"] .formation-description {
    color: #BDB9A6 !important;
}

[data-theme="elegant"] .section-title {
    color: #C8A951 !important;
}

/* Noir & Or - Leaderboard */
[data-theme="elegant"] .leaderboard-section {
    background: #1A1A1A !important;
    border-top: 1px solid #C8A951;
}

[data-theme="elegant"] .leaderboard-card {
    background: #0D0D0D !important;
    border: 1px solid #333;
}

[data-theme="elegant"] .leaderboard-row {
    border-bottom-color: #2C2C2C !important;
    color: #F0E6D3;
}

[data-theme="elegant"] .leaderboard-row:hover {
    background: #2C2C2C !important;
}

[data-theme="elegant"] .leaderboard-row.gold {
    background: linear-gradient(135deg, #2C2510 0%, #1A1A1A 100%) !important;
}

[data-theme="elegant"] .leaderboard-row.silver {
    background: linear-gradient(135deg, #222222 0%, #1A1A1A 100%) !important;
}

[data-theme="elegant"] .leaderboard-row.bronze {
    background: linear-gradient(135deg, #2C2015 0%, #1A1A1A 100%) !important;
}

[data-theme="elegant"] .leaderboard-row.leaderboard-me {
    background: linear-gradient(135deg, #2C2510 0%, #1A1A1A 100%) !important;
    border-left: 3px solid #C8A951 !important;
}

[data-theme="elegant"] .leaderboard-name {
    color: #F0E6D3;
}

[data-theme="elegant"] .leaderboard-xp,
[data-theme="elegant"] .leaderboard-level {
    color: #C8A951;
}

[data-theme="elegant"] .leaderboard-section .btn {
    background: transparent !important;
    color: #C8A951 !important;
    border: 1px solid #C8A951 !important;
}

[data-theme="elegant"] .leaderboard-section .btn:hover {
    background: #C8A951 !important;
    color: #0D0D0D !important;
}

/* Noir & Or - scrollbar */
[data-theme="elegant"] ::-webkit-scrollbar {
    width: 10px;
}
[data-theme="elegant"] ::-webkit-scrollbar-track {
    background: #0D0D0D;
}
[data-theme="elegant"] ::-webkit-scrollbar-thumb {
    background: #333;
    border-radius: 5px;
}
[data-theme="elegant"] ::-webkit-scrollbar-thumb:hover {
    background: #C8A951;
}

/* === THÈME NATURE (Vert, Terreux, Apaisant) === */
[data-theme="nature"] {
    --primary: #2E7D32;
    --primary-light: #66BB6A;
    --primary-dark: #1B5E20;
    --secondary: #388E3C;
    --secondary-light: #81C784;
    --accent: #FFA726;
    --accent-dark: #E65100;
    --danger: #D84315;
    --danger-light: #FF8A65;
    --info: #0288D1;
    --info-light: #E1F5FE;
    --dark: #1B2421;
    --gray: #4E5D58;
    --light: #E8F5E9;
    --white: #F1F8E9;
    --bg-gradient: linear-gradient(135deg, #1B5E20 0%, #2E7D32 50%, #33691E 100%);
    --shadow-sm: 0 2px 8px rgba(46, 125, 50, 0.1);
    --shadow-md: 0 4px 16px rgba(46, 125, 50, 0.15);
    --shadow-lg: 0 8px 32px rgba(46, 125, 50, 0.2);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-xl: 24px;
}

[data-theme="nature"] body {
    background-color: #DCEDC8 !important;
    color: #1B2421;
}

[data-theme="nature"] .header {
    background: linear-gradient(135deg, #1B5E20 0%, #2E7D32 50%, #33691E 100%) !important;
}

/* Nature - nav links must be white on dark green header */
[data-theme="nature"] .nav-link {
    color: rgba(255,255,255,0.95) !important;
}

[data-theme="nature"] .nav-link:hover {
    background: rgba(255,255,255,0.15) !important;
    color: white !important;
}

[data-theme="nature"] .user-menu-toggle {
    background: #FFA726 !important;
    border-color: #FFA726 !important;
    color: #1B2421 !important;
}

[data-theme="nature"] .user-menu-toggle:hover {
    background: #FF9800 !important;
}

[data-theme="nature"] .card,
[data-theme="nature"] .formation-card {
    background: #F1F8E9 !important;
    border: 1px solid #A5D6A7;
}

[data-theme="nature"] .card:hover,
[data-theme="nature"] .formation-card:hover {
    border-color: #66BB6A;
    box-shadow: 0 4px 16px rgba(46, 125, 50, 0.15);
}

/* Nature - Boutons : utiliser brun foncé pour contraste, PAS vert sur vert */
[data-theme="nature"] .btn-primary {
    background: #33691E !important;
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.3);
    color: white !important;
}

[data-theme="nature"] .btn-primary:hover {
    background: #1B5E20 !important;
    box-shadow: 0 6px 20px rgba(46, 125, 50, 0.4);
    color: white !important;
}

[data-theme="nature"] .btn-outline {
    color: #33691E !important;
    border-color: #33691E !important;
    background: transparent !important;
}

[data-theme="nature"] .btn-outline:hover {
    background: #33691E !important;
    color: white !important;
}

[data-theme="nature"] .btn-relire {
    color: #33691E !important;
    border-color: #33691E !important;
}

[data-theme="nature"] .btn-relire:hover {
    background: #33691E !important;
    color: white !important;
    border-color: #33691E !important;
}

[data-theme="nature"] .btn-secondary {
    background: #4E342E !important;
    color: white !important;
}

[data-theme="nature"] .btn-secondary:hover {
    background: #3E2723 !important;
    color: white !important;
}

[data-theme="nature"] .progress-fill {
    background: linear-gradient(90deg, #2E7D32, #66BB6A) !important;
}

[data-theme="nature"] .form-control {
    border-color: #C8E6C9;
}

[data-theme="nature"] .form-control:focus {
    border-color: #2E7D32;
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.15);
}

[data-theme="nature"] .footer {
    background: linear-gradient(135deg, #2E7D32, #1B5E20) !important;
    color: #C8E6C9 !important;
}

[data-theme="nature"] .alert-success {
    background: #E8F5E9;
    color: #1B5E20;
    border-color: #A5D6A7;
}

[data-theme="nature"] .alert-danger {
    background: #FBE9E7;
    color: #BF360C;
    border-color: #FFAB91;
}

[data-theme="nature"] .alert-warning {
    background: #FFF8E1;
    color: #E65100;
    border-color: #FFE082;
}

[data-theme="nature"] .alert-info {
    background: #E1F5FE;
    color: #01579B;
    border-color: #81D4FA;
}

[data-theme="nature"] a {
    color: #2E7D32;
}

[data-theme="nature"] a:hover {
    color: #1B5E20;
}

[data-theme="nature"] .user-menu-dropdown-inner {
    background: #F1F8E9;
    border: 1px solid #A5D6A7;
}

[data-theme="nature"] .user-menu-item:hover {
    background: #E8F5E9;
}

[data-theme="nature"] .user-menu-dropdown-inner hr {
    border-top-color: #C8E6C9 !important;
}

/* Nature - Quêtes du jour */
[data-theme="nature"] .quest-accordion {
    background: #33691E !important;
    border-radius: 12px !important;
}

[data-theme="nature"] .quest-accordion .quest-scroll-label {
    background: rgba(255,255,255,0.15) !important;
    color: white !important;
}

[data-theme="nature"] .quest-accordion .quest-accordion-arrow {
    color: rgba(255,255,255,0.7) !important;
}

[data-theme="nature"] .quest-marquee-text {
    color: rgba(255,255,255,0.85) !important;
}

/* Nature - Charte */
[data-theme="nature"] .charte-ia-banner {
    background: linear-gradient(135deg, #E8F5E9, #C8E6C9) !important;
    border-color: #A5D6A7 !important;
}

[data-theme="nature"] .charte-ia-btn {
    background: #F1F8E9 !important;
    border-color: #A5D6A7 !important;
}

[data-theme="nature"] .charte-ia-btn:hover {
    background: #2E7D32 !important;
    color: white !important;
    border-color: #2E7D32 !important;
}

/* Nature - Section titles */
[data-theme="nature"] .section-title {
    color: #1B5E20 !important;
}

/* Nature - Leaderboard */
[data-theme="nature"] .leaderboard-section {
    background: linear-gradient(135deg, #2E7D32, #1B5E20) !important;
}

[data-theme="nature"] .leaderboard-card {
    background: #F1F8E9 !important;
}

[data-theme="nature"] .leaderboard-section .btn {
    background: #E8F5E9 !important;
    color: #1B5E20 !important;
}

/* ============================================
   OVERRIDES GLOBAUX — Éléments violets/orange hardcodés
   ============================================ */

/* --- DARK : Remplacement du violet #667eea / #764ba2 partout --- */

[data-theme="dark"] .btn-relire {
    color: #B8B0FF !important;
    border-color: #7C6CF7 !important;
}

[data-theme="dark"] .btn-relire:hover {
    background: #7C6CF7 !important;
    color: white !important;
    border-color: #7C6CF7 !important;
}

[data-theme="dark"] .encouragement-banner {
    background: linear-gradient(135deg, #2D2548, #1A1A2E) !important;
    box-shadow: 0 4px 15px rgba(124, 108, 247, 0.2) !important;
}

[data-theme="dark"] .welcome-back-btn {
    background: linear-gradient(135deg, #7C6CF7, #6A5AE0) !important;
}

[data-theme="dark"] .step-content blockquote {
    background: rgba(124, 108, 247, 0.1) !important;
    border-left-color: #7C6CF7 !important;
}

[data-theme="dark"] .fh-invite-section {
    background: rgba(124, 108, 247, 0.08) !important;
    border-color: #4A5568 !important;
}

[data-theme="dark"] .profile-level {
    background: linear-gradient(135deg, #7C6CF7, #B8B0FF) !important;
}

/* Dark - Tooltips */
[data-theme="dark"] [data-tooltip]::after {
    background: #2D3748 !important;
}

[data-theme="dark"] [data-tooltip]::before {
    border-top-color: #2D3748 !important;
}

/* Dark - nav-link hover (override the orange from default) */
[data-theme="dark"] .nav-link:hover {
    background: rgba(124, 108, 247, 0.2) !important;
    color: white !important;
}

/* Dark - Formation player purple gradients */
[data-theme="dark"] [style*="background: linear-gradient(135deg, #667eea"] {
    background: linear-gradient(135deg, #2D2548, #1A1A2E) !important;
}

/* Dark - Stats values (ensure they use theme color not hardcoded purple) */
[data-theme="dark"] .stats-hero-value {
    color: #B8B0FF !important;
}

[data-theme="dark"] .stat-card-value {
    color: #B8B0FF !important;
}

/* Dark - Floating stats panel */
[data-theme="dark"] .floating-stats-panel {
    background: #1E293B !important;
    border-color: #4A5568 !important;
}

/* Dark - Formation card specific elements */
[data-theme="dark"] .formation-image-placeholder {
    background: #2D3748 !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .formation-overlay {
    background: rgba(0, 0, 0, 0.7) !important;
}

/* Dark - badge/chip status colors */
[data-theme="dark"] .badge-coming-soon {
    color: #A0AEC0 !important;
}

/* Dark - Quest reward colors (inline #667eea) */
[data-theme="dark"] .quest-row span[style*="color:"] {
    color: #B8B0FF !important;
}

/* Dark - Formation player */
[data-theme="dark"] .btn-favorite-pin:hover {
    border-color: #7C6CF7 !important;
}

[data-theme="dark"] .btn-favorite-pin.is-pinned {
    background: linear-gradient(135deg, #7C6CF7, #6A5AE0) !important;
    border-color: #7C6CF7 !important;
}

[data-theme="dark"] .favorite-toast {
    background: linear-gradient(135deg, #7C6CF7, #6A5AE0) !important;
}

/* Dark - Step content (formation reading) */
[data-theme="dark"] .step-content {
    color: #E8E8E8 !important;
}

[data-theme="dark"] .step-content h1,
[data-theme="dark"] .step-content h2,
[data-theme="dark"] .step-content h3,
[data-theme="dark"] .step-content h4 {
    color: #F0F0F0 !important;
}

[data-theme="dark"] .step-content code {
    background: #2D3748 !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .step-content pre {
    background: #1A202C !important;
    border-color: #4A5568 !important;
}

/* Dark - Inline gradient violet overrides (formation player mode banner etc.) */
[data-theme="dark"] [style*="linear-gradient(135deg, #667eea"] {
    background: linear-gradient(135deg, #2D2548, #1A1A2E) !important;
}

/* Dark - Reward notification modal */
[data-theme="dark"] .reward-notification-modal {
    background: #1E293B !important;
}

/* Dark - Formation home page */
[data-theme="dark"] .fh-page {
    color: #E8E8E8;
}

[data-theme="dark"] .fh-hero {
    color: #E8E8E8;
}

[data-theme="dark"] .fh-section-card {
    background: #1E293B !important;
    border-color: #4A5568 !important;
}

[data-theme="dark"] .fh-section-title {
    color: #E8E8E8 !important;
}

/* --- ELEGANT (Noir & Or) : Remplacement du violet partout --- */

[data-theme="elegant"] .btn-relire {
    color: #C8A951 !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .btn-relire:hover {
    background: #C8A951 !important;
    color: #0D0D0D !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .encouragement-banner {
    background: linear-gradient(135deg, #1A1A1A, #2C2510) !important;
    border: 1px solid #C8A951 !important;
    box-shadow: 0 4px 15px rgba(200, 169, 81, 0.2) !important;
}

[data-theme="elegant"] .welcome-back-btn {
    background: linear-gradient(135deg, #C8A951, #E0C96E) !important;
    color: #0D0D0D !important;
}

[data-theme="elegant"] .step-content blockquote {
    background: rgba(200, 169, 81, 0.08) !important;
    border-left-color: #C8A951 !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .fh-invite-section {
    background: rgba(200, 169, 81, 0.05) !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .profile-level {
    background: linear-gradient(135deg, #C8A951, #E0C96E) !important;
    color: #0D0D0D !important;
}

/* Elegant - Tooltips */
[data-theme="elegant"] [data-tooltip]::after {
    background: #2C2C2C !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] [data-tooltip]::before {
    border-top-color: #2C2C2C !important;
}

/* Elegant - nav-link hover */
[data-theme="elegant"] .nav-link:hover {
    background: rgba(200, 169, 81, 0.15) !important;
    color: #FFD700 !important;
}

/* Elegant - Stats values */
[data-theme="elegant"] .stats-hero-value {
    color: #C8A951 !important;
}

[data-theme="elegant"] .stat-card-value {
    color: #C8A951 !important;
}

/* Elegant - Floating stats panel */
[data-theme="elegant"] .floating-stats-panel {
    background: #1A1A1A !important;
    border-color: #333 !important;
    color: #F0E6D3 !important;
}

/* Elegant - Formation card specific */
[data-theme="elegant"] .formation-image-placeholder {
    background: #2C2C2C !important;
    color: #F0E6D3 !important;
}

/* Elegant - badge/chip status colors */
[data-theme="elegant"] .badge-coming-soon {
    color: #BDB9A6 !important;
}

/* Elegant - Quest reward colors */
[data-theme="elegant"] .quest-row span[style*="color:"] {
    color: #C8A951 !important;
}

/* Elegant - Formation player */
[data-theme="elegant"] .btn-favorite-pin:hover {
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .btn-favorite-pin.is-pinned {
    background: linear-gradient(135deg, #C8A951, #E0C96E) !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .favorite-toast {
    background: linear-gradient(135deg, #C8A951, #E0C96E) !important;
    color: #0D0D0D !important;
}

/* Elegant - Step content (formation reading) */
[data-theme="elegant"] .step-content {
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .step-content h1,
[data-theme="elegant"] .step-content h2,
[data-theme="elegant"] .step-content h3,
[data-theme="elegant"] .step-content h4 {
    color: #C8A951 !important;
}

[data-theme="elegant"] .step-content code {
    background: #2C2C2C !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .step-content pre {
    background: #0D0D0D !important;
    border-color: #333 !important;
}

/* Elegant - Inline gradient violet overrides */
[data-theme="elegant"] [style*="linear-gradient(135deg, #667eea"] {
    background: linear-gradient(135deg, #1A1A1A, #2C2510) !important;
    border: 1px solid #C8A951 !important;
}

/* Elegant - Formation home page */
[data-theme="elegant"] .fh-page {
    color: #F0E6D3;
}

[data-theme="elegant"] .fh-hero {
    color: #F0E6D3;
}

[data-theme="elegant"] .fh-section-card {
    background: #1A1A1A !important;
    border-color: #333 !important;
}

[data-theme="elegant"] .fh-section-title {
    color: #C8A951 !important;
}

/* --- Dark & Elegant : Pages Auth (Login / Register) --- */

[data-theme="dark"] .auth-page {
    background: linear-gradient(135deg, #0D1117 0%, #161B22 50%, #1A1A2E 100%) !important;
}

[data-theme="dark"] .auth-card {
    background: #1E293B !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="dark"] .auth-title {
    color: #E8E8E8 !important;
}

[data-theme="dark"] .auth-logo .logo-main {
    color: #B8B0FF !important;
}

[data-theme="dark"] .auth-logo .logo-sub {
    color: #A0AEC0 !important;
}

[data-theme="dark"] .auth-footer {
    color: #A0AEC0 !important;
}

[data-theme="dark"] .auth-footer a {
    color: #B8B0FF !important;
}

[data-theme="pro"] .auth-page {
    background: linear-gradient(135deg, #2C3E50 0%, #34495E 50%, #3D566E 100%) !important;
}

[data-theme="pro"] .auth-card {
    background: white !important;
}

[data-theme="pro"] .auth-title {
    color: #1A1A1A !important;
}

[data-theme="pro"] .auth-logo .logo-main {
    color: #2C3E50 !important;
}

[data-theme="pro"] .auth-footer a {
    color: #2C3E50 !important;
}

[data-theme="elegant"] .auth-page {
    background: linear-gradient(135deg, #0D0D0D 0%, #1A1A1A 50%, #0D0D0D 100%) !important;
}

[data-theme="elegant"] .auth-card {
    background: #1A1A1A !important;
    border: 1px solid #C8A951 !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 30px rgba(200, 169, 81, 0.1) !important;
}

[data-theme="elegant"] .auth-title {
    color: #C8A951 !important;
}

[data-theme="elegant"] .auth-logo .logo-main {
    color: #C8A951 !important;
}

[data-theme="elegant"] .auth-logo .logo-sub {
    color: #BDB9A6 !important;
}

[data-theme="elegant"] .auth-footer {
    color: #BDB9A6 !important;
}

[data-theme="elegant"] .auth-footer a {
    color: #C8A951 !important;
}

[data-theme="nature"] .auth-page {
    background: linear-gradient(135deg, #1B5E20 0%, #2E7D32 50%, #33691E 100%) !important;
}

[data-theme="nature"] .auth-card {
    background: #F1F8E9 !important;
}

[data-theme="nature"] .auth-title {
    color: #1B2421 !important;
}

[data-theme="nature"] .auth-logo .logo-main {
    color: #2E7D32 !important;
}

[data-theme="nature"] .auth-footer a {
    color: #2E7D32 !important;
}

/* --- Dark & Elegant : Formation Player page --- */

[data-theme="dark"] .page-nav,
[data-theme="dark"] .step-card,
[data-theme="dark"] .exercise-card,
[data-theme="dark"] .memo-card,
[data-theme="dark"] .formation-sidebar,
[data-theme="dark"] .page-list-item {
    background: #1E293B !important;
    color: #E8E8E8 !important;
    border-color: #4A5568 !important;
}

[data-theme="dark"] .page-list-item:hover {
    background: #2D3748 !important;
}

[data-theme="dark"] .page-list-item.active {
    background: #2D2548 !important;
    border-color: #7C6CF7 !important;
}

[data-theme="elegant"] .page-nav,
[data-theme="elegant"] .step-card,
[data-theme="elegant"] .exercise-card,
[data-theme="elegant"] .memo-card,
[data-theme="elegant"] .formation-sidebar,
[data-theme="elegant"] .page-list-item {
    background: #1A1A1A !important;
    color: #F0E6D3 !important;
    border-color: #333 !important;
}

[data-theme="elegant"] .page-list-item:hover {
    background: #2C2C2C !important;
}

[data-theme="elegant"] .page-list-item.active {
    background: #2C2510 !important;
    border-color: #C8A951 !important;
}

/* --- Dark & Elegant : Dashboard remaining white elements --- */

[data-theme="dark"] .stats-bar,
[data-theme="dark"] .stat-badge,
[data-theme="dark"] .quest-card,
[data-theme="dark"] .favorites-scroll .card,
[data-theme="dark"] .donate-card,
[data-theme="dark"] .vip-card {
    background: #1E293B !important;
    color: #E8E8E8 !important;
    border-color: #4A5568 !important;
}

[data-theme="elegant"] .stats-bar,
[data-theme="elegant"] .stat-badge,
[data-theme="elegant"] .quest-card,
[data-theme="elegant"] .favorites-scroll .card,
[data-theme="elegant"] .donate-card,
[data-theme="elegant"] .vip-card {
    background: #1A1A1A !important;
    color: #F0E6D3 !important;
    border-color: #333 !important;
}

/* ============================================
   OVERRIDES PAGES INTÉRIEURES — Dark & Elegant
   (Prompts, Generator, Referrals, Progress)
   ============================================ */

/* --- DARK MODE : Pages intérieures --- */

/* Prompts & Generator — backgrounds */
[data-theme="dark"] .prompts-sidebar,
[data-theme="dark"] .prompt-card,
[data-theme="dark"] .generator-type-card,
[data-theme="dark"] .generator-form,
[data-theme="dark"] .generator-card-section,
[data-theme="dark"] .generator-result-card,
[data-theme="dark"] .generator-result-body,
[data-theme="dark"] .prompts-modal-content,
[data-theme="dark"] .generator-custom-input,
[data-theme="dark"] .generator-custom-textarea {
    background: #1E293B !important;
    border-color: #4A5568 !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .prompts-category:hover,
[data-theme="dark"] .generator-chip:hover {
    background: #2D3748 !important;
}

[data-theme="dark"] .generator-step {
    background: #2D3748 !important;
    color: #A0AEC0 !important;
}

[data-theme="dark"] .generator-step.is-done {
    background: #1C3D2A !important;
    color: #68D391 !important;
}

[data-theme="dark"] .generator-chip {
    background: #2D3748 !important;
    color: #E8E8E8 !important;
    border-color: #4A5568 !important;
}

[data-theme="dark"] .generator-chip.is-active,
[data-theme="dark"] .generator-chip.is-selected {
    background: #7C6CF7 !important;
    color: white !important;
    border-color: #7C6CF7 !important;
}

[data-theme="dark"] .prompts-tabs {
    border-bottom-color: #4A5568 !important;
}

[data-theme="dark"] .prompts-tab {
    color: #A0AEC0 !important;
}

[data-theme="dark"] .prompts-tab:hover,
[data-theme="dark"] .prompts-tab.is-active {
    color: #B8B0FF !important;
}

[data-theme="dark"] .prompts-tab.is-active {
    border-bottom-color: #7C6CF7 !important;
}

[data-theme="dark"] .prompts-category {
    color: #E8E8E8 !important;
}

[data-theme="dark"] .prompts-count {
    background: #4A5568 !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .prompts-select,
[data-theme="dark"] .prompts-search-input {
    background: #2D3748 !important;
    border-color: #4A5568 !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .prompt-card-title,
[data-theme="dark"] .generator-section-title,
[data-theme="dark"] .generator-type-label {
    color: #E8E8E8 !important;
}

[data-theme="dark"] .prompt-card-content,
[data-theme="dark"] .generator-textarea-wrapper textarea,
[data-theme="dark"] .generator-field input,
[data-theme="dark"] .generator-field textarea,
[data-theme="dark"] .generator-field-multi,
[data-theme="dark"] .generator-select {
    background: #2D3748 !important;
    color: #E8E8E8 !important;
    border-color: #4A5568 !important;
}

[data-theme="dark"] .prompt-chip,
[data-theme="dark"] .prompt-tag {
    background: #2D3748 !important;
    color: #A0AEC0 !important;
}

[data-theme="dark"] .prompt-card-content pre,
[data-theme="dark"] .prompt-card-content code {
    color: #E8E8E8 !important;
}

[data-theme="dark"] .generator-type-card:hover {
    border-color: #7C6CF7 !important;
    box-shadow: 0 8px 20px rgba(124, 108, 247, 0.2) !important;
}

[data-theme="dark"] .generator-type-card.is-active {
    background: linear-gradient(135deg, #1E293B 0%, #2D2548 100%) !important;
    border-color: #7C6CF7 !important;
}

[data-theme="dark"] .generator-type-desc,
[data-theme="dark"] .prompt-card-meta {
    color: #A0AEC0 !important;
}

/* Dark - Referrals */
[data-theme="dark"] .referrals-section,
[data-theme="dark"] [style*="color: #222"],
[data-theme="dark"] [style*="color: #666"],
[data-theme="dark"] [style*="color: #888"] {
    color: #E8E8E8 !important;
}

/* Dark - Progress page */
[data-theme="dark"] .stats-hero-card,
[data-theme="dark"] .profile-header,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .formation-progress-overview,
[data-theme="dark"] .formations-progress-list,
[data-theme="dark"] .secondary-metric,
[data-theme="dark"] .badge-card {
    background: #1E293B !important;
    color: #E8E8E8 !important;
    border-color: #2D3748 !important;
}

[data-theme="dark"] .badge-card.earned {
    background: linear-gradient(135deg, #2D2B1E 0%, #1E293B 100%) !important;
}

[data-theme="dark"] .badge-card.locked {
    background: #1A202C !important;
    opacity: 0.7;
}

[data-theme="dark"] .formation-progress-row {
    border-bottom-color: #2D3748 !important;
    color: #E8E8E8 !important;
}

[data-theme="dark"] .badge-progress-bar {
    background: #2D3748 !important;
}

[data-theme="dark"] .stats-hero-card h3,
[data-theme="dark"] .stat-card h4,
[data-theme="dark"] .secondary-metric-value {
    color: #E8E8E8 !important;
}

[data-theme="dark"] .encouragement-banner {
    background: #1E293B !important;
    color: #E8E8E8 !important;
    border-color: #4A5568 !important;
}

/* Dark - Badges status */
[data-theme="dark"] .badge-private {
    background: #4A5568 !important;
    color: #E8E8E8 !important;
}

/* Dark - Generic overrides for inline dark text */
[data-theme="dark"] .card-body {
    color: #E8E8E8 !important;
}

[data-theme="dark"] .card-body p,
[data-theme="dark"] .card-body span,
[data-theme="dark"] .card-body div,
[data-theme="dark"] .card-body li,
[data-theme="dark"] .card-body h3,
[data-theme="dark"] .card-body h4 {
    color: inherit !important;
}

/* --- NOIR & OR (Elegant) : Pages intérieures --- */

/* Prompts & Generator — backgrounds */
[data-theme="elegant"] .prompts-sidebar,
[data-theme="elegant"] .prompt-card,
[data-theme="elegant"] .generator-type-card,
[data-theme="elegant"] .generator-form,
[data-theme="elegant"] .generator-card-section,
[data-theme="elegant"] .generator-result-card,
[data-theme="elegant"] .generator-result-body,
[data-theme="elegant"] .prompts-modal-content,
[data-theme="elegant"] .generator-custom-input,
[data-theme="elegant"] .generator-custom-textarea {
    background: #1A1A1A !important;
    border-color: #333 !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .prompts-category:hover,
[data-theme="elegant"] .generator-chip:hover {
    background: #2C2C2C !important;
}

[data-theme="elegant"] .generator-step {
    background: #2C2C2C !important;
    color: #BDB9A6 !important;
}

[data-theme="elegant"] .generator-step.is-done {
    background: #2C2510 !important;
    color: #C8A951 !important;
}

[data-theme="elegant"] .generator-chip {
    background: #2C2C2C !important;
    color: #F0E6D3 !important;
    border-color: #444 !important;
}

[data-theme="elegant"] .generator-chip.is-active,
[data-theme="elegant"] .generator-chip.is-selected {
    background: #C8A951 !important;
    color: #0D0D0D !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .prompts-tabs {
    border-bottom-color: #333 !important;
}

[data-theme="elegant"] .prompts-tab {
    color: #BDB9A6 !important;
}

[data-theme="elegant"] .prompts-tab:hover,
[data-theme="elegant"] .prompts-tab.is-active {
    color: #C8A951 !important;
}

[data-theme="elegant"] .prompts-tab.is-active {
    border-bottom-color: #C8A951 !important;
}

[data-theme="elegant"] .prompts-category {
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .prompts-count {
    background: #333 !important;
    color: #C8A951 !important;
}

[data-theme="elegant"] .prompts-select,
[data-theme="elegant"] .prompts-search-input {
    background: #1A1A1A !important;
    border-color: #444 !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .prompt-card-title,
[data-theme="elegant"] .generator-section-title,
[data-theme="elegant"] .generator-type-label {
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .prompt-card-content,
[data-theme="elegant"] .generator-textarea-wrapper textarea,
[data-theme="elegant"] .generator-field input,
[data-theme="elegant"] .generator-field textarea,
[data-theme="elegant"] .generator-field-multi,
[data-theme="elegant"] .generator-select {
    background: #1A1A1A !important;
    color: #F0E6D3 !important;
    border-color: #444 !important;
}

[data-theme="elegant"] .prompt-chip,
[data-theme="elegant"] .prompt-tag {
    background: #2C2C2C !important;
    color: #BDB9A6 !important;
}

[data-theme="elegant"] .prompt-card-content pre,
[data-theme="elegant"] .prompt-card-content code {
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .generator-type-card:hover {
    border-color: #C8A951 !important;
    box-shadow: 0 8px 20px rgba(200, 169, 81, 0.15) !important;
}

[data-theme="elegant"] .generator-type-card.is-active {
    background: linear-gradient(135deg, #1A1A1A 0%, #2C2510 100%) !important;
    border-color: #C8A951 !important;
}

[data-theme="elegant"] .generator-type-desc,
[data-theme="elegant"] .prompt-card-meta {
    color: #BDB9A6 !important;
}

/* Elegant - Referrals */
[data-theme="elegant"] [style*="color: #222"],
[data-theme="elegant"] [style*="color: #666"],
[data-theme="elegant"] [style*="color: #888"] {
    color: #F0E6D3 !important;
}

/* Elegant - Progress page */
[data-theme="elegant"] .stats-hero-card,
[data-theme="elegant"] .profile-header,
[data-theme="elegant"] .stat-card,
[data-theme="elegant"] .formation-progress-overview,
[data-theme="elegant"] .formations-progress-list,
[data-theme="elegant"] .secondary-metric,
[data-theme="elegant"] .badge-card {
    background: #1A1A1A !important;
    color: #F0E6D3 !important;
    border-color: #333 !important;
}

[data-theme="elegant"] .badge-card.earned {
    background: linear-gradient(135deg, #2C2510 0%, #1A1A1A 100%) !important;
}

[data-theme="elegant"] .badge-card.locked {
    background: #0D0D0D !important;
    opacity: 0.7;
}

[data-theme="elegant"] .formation-progress-row {
    border-bottom-color: #333 !important;
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .badge-progress-bar {
    background: #2C2C2C !important;
}

[data-theme="elegant"] .badge-progress-fill {
    background: linear-gradient(90deg, #C8A951, #FFD700) !important;
}

[data-theme="elegant"] .stats-hero-card h3,
[data-theme="elegant"] .stat-card h4,
[data-theme="elegant"] .secondary-metric-value {
    color: #C8A951 !important;
}

[data-theme="elegant"] .encouragement-banner {
    background: #1A1A1A !important;
    color: #F0E6D3 !important;
    border-color: #C8A951 !important;
}

/* Elegant - Badges status */
[data-theme="elegant"] .badge-private {
    background: #333 !important;
    color: #BDB9A6 !important;
}

/* Elegant - Generic overrides for inline dark text */
[data-theme="elegant"] .card-body {
    color: #F0E6D3 !important;
}

[data-theme="elegant"] .card-body p,
[data-theme="elegant"] .card-body span,
[data-theme="elegant"] .card-body div,
[data-theme="elegant"] .card-body li,
[data-theme="elegant"] .card-body h3,
[data-theme="elegant"] .card-body h4 {
    color: inherit !important;
}

/* === Apparence Menu - Style du sélecteur de thème === */
.theme-section-title {
    display: block;
    padding: 10px 16px 4px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--gray);
    pointer-events: none;
}

.theme-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    color: var(--dark);
    text-decoration: none;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    font-family: inherit;
}

[data-theme="dark"] .theme-option,
[data-theme="elegant"] .theme-option {
    color: #E8E8E8;
}

.theme-option:hover {
    background: var(--light);
}

[data-theme="dark"] .theme-option:hover,
[data-theme="elegant"] .theme-option:hover {
    background: #2D3748;
}

.theme-option.active {
    font-weight: 600;
}

.theme-option.active::after {
    content: '\2713';
    margin-left: auto;
    color: var(--secondary);
    font-weight: 700;
}

[data-theme="elegant"] .theme-option.active::after {
    color: #C8A951;
}

.theme-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid rgba(0,0,0,0.1);
    flex-shrink: 0;
}

[data-theme="dark"] .theme-dot,
[data-theme="elegant"] .theme-dot {
    border-color: rgba(255,255,255,0.2);
}

.theme-dot-default {
    background: linear-gradient(135deg, #6C5CE7, #A29BFE);
}

.theme-dot-dark {
    background: linear-gradient(135deg, #1A1A2E, #0F3460);
}

.theme-dot-pro {
    background: linear-gradient(135deg, #2C3E50, #34495E);
}

.theme-dot-elegant {
    background: linear-gradient(135deg, #0D0D0D, #C8A951);
}

.theme-dot-nature {
    background: linear-gradient(135deg, #2E7D32, #00897B);
}
