/* Base - ACLBot v11.0 */

/* NUCLEAR FIX: prevent ANY SVG from becoming giant */
svg {
  max-width: 100% !important;
  max-height: 100% !important;
}
svg:not([width]):not(.recharts-surface) {
  width: 1em !important;
  height: 1em !important;
}
svg[width] {
  max-width: 100% !important;
}

/* FontAwesome SVG inline fix */
.svg-inline--fa {
  display: inline-block !important;
  height: 1em !important;
  vertical-align: -0.125em !important;
  overflow: visible !important;
}
.svg-inline--fa.fa-w-14 { width: 0.875em !important; }
.svg-inline--fa.fa-w-16 { width: 1em !important; }
.svg-inline--fa.fa-w-18 { width: 1.125em !important; }
.svg-inline--fa.fa-w-20 { width: 1.25em !important; }

/**
 * â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
 * ACLBOT DESIGN SYSTEM v5.0 - COMPLET
 * Toutes les variables CSS nÃ©cessaires pour le projet
 * Mode Clair & Mode Sombre
 * â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
 */
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   1. VARIABLES DE BASE - MODE CLAIR (Default)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
:root {
  /* â”€â”€â”€ COULEURS DE BASE â”€â”€â”€ */
  --white: #ffffff;
  --black: #1a1a1f;
  /* â”€â”€â”€ ACCENT PRINCIPAL (Bleu Apple) â”€â”€â”€ */
  --accent: #0071e3;
  --accent-primary: #0071e3;
  --accent-hover: #0077ed;
  --accent-light: #e8f4fd;
  --accent-muted: rgba(0, 113, 227, 0.15);
  --accent-active: rgba(0, 113, 227, 0.25);
  /* â”€â”€â”€ COULEURS DE FOND â”€â”€â”€ */
  --bg-primary: #ffffff;
  --bg-secondary: #f5f5f7;
  --bg-tertiary: #fafafa;
  --bg-elevated: #ffffff;
  --bg-card: #ffffff;
  --bg-hover: rgba(0, 0, 0, 0.04);
  --bg-pressed: rgba(0, 0, 0, 0.08);
  --bg-overlay: rgba(0, 0, 0, 0.4);
  /* â”€â”€â”€ COULEURS DE TEXTE â”€â”€â”€ */
  --text-primary: #1d1d1f;
  --text-secondary: #48484a;
  --text-tertiary: #6e6e73;
  --text-quaternary: #86868b;
  --text-muted: #6e6e73;
  --text-inverse: #ffffff;
  /* â”€â”€â”€ BORDURES â”€â”€â”€ */
  --border: rgba(0, 0, 0, 0.1);
  --border-color: rgba(0, 0, 0, 0.1);
  --border-hover: rgba(0, 0, 0, 0.15);
  --border-subtle: rgba(0, 0, 0, 0.05);
  /* â”€â”€â”€ COULEURS DE STATUT â”€â”€â”€ */
  --success: #34c759;
  --success-light: #e8f5e9;
  --success-muted: rgba(52, 199, 89, 0.15);
  --success-background: rgba(52, 199, 89, 0.15);
  --warning: #ff9500;
  --warning-light: #fff3e0;
  --warning-muted: rgba(255, 149, 0, 0.15);
  --error: #ff3b30;
  --error-light: #ffebee;
  --error-muted: rgba(255, 59, 48, 0.15);
  --danger: #ff3b30;
  --danger-light: #ffebee;
  --danger-muted: rgba(255, 59, 48, 0.15);
  --danger-background: rgba(255, 59, 48, 0.15);
  --info: #007aff;
  --info-light: #e3f2fd;
  --info-muted: rgba(0, 122, 255, 0.15);
  /* â”€â”€â”€ COULEURS ADDITIONNELLES â”€â”€â”€ */
  --purple: #bf5af2;
  --purple-muted: rgba(191, 90, 242, 0.15);
  --pink: #ff375f;
  --pink-muted: rgba(255, 55, 95, 0.15);
  --orange: #ff9f0a;
  --orange-muted: rgba(255, 159, 10, 0.15);
  --green: #30d158;
  --green-muted: rgba(48, 209, 88, 0.15);
  --teal: #64d2ff;
  --teal-muted: rgba(100, 210, 255, 0.15);
  --indigo: #5e5ce6;
  --indigo-muted: rgba(94, 92, 230, 0.15);
  --yellow: #ffd60a;
  --yellow-muted: rgba(255, 214, 10, 0.15);
  /* â”€â”€â”€ SYSTÃˆME DE GRIS (pour compatibilitÃ©) â”€â”€â”€ */
  --gray50: #ffffff;
  --gray100: #1f1f24;
  --gray200: #86868b;
  --gray300: #a1a1a6;
  --gray400: #d2d2d7;
  --gray500: rgba(0, 0, 0, 0.15);
  --gray600: rgba(0, 0, 0, 0.1);
  --gray700: #fafafa;
  --gray800: #f5f5f7;
  --gray900: #ffffff;
  /* â”€â”€â”€ COULEURS FONCTIONNELLES â”€â”€â”€ */
  --primary: #0071e3;
  --primary-hover: #0077ed;
  --primary-light: #e8f4fd;
  --primary-muted: rgba(0, 113, 227, 0.15);
  --color-success: #34c759;
  --color-success-light: #e8f5e9;
  --color-warning: #ff9500;
  --color-warning-light: #fff3e0;
  --color-danger: #ff3b30;
  --color-danger-light: #ffebee;
  /* â”€â”€â”€ GRADIENTS â”€â”€â”€ */
  --gradient-primary: linear-gradient(135deg, #0071e3 0%, #00c6ff 100%);
  /* â”€â”€â”€ NAVIGATION â”€â”€â”€ */
  --nav-bg: rgba(255, 255, 255, 0.72);
  --nav-bg-scrolled: #ffffff;
  --nav-height: 52px;
  /* â”€â”€â”€ OMBRES â”€â”€â”€ */
  --shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-primary: 0 4px 12px rgba(0, 113, 227, 0.3);
  --shadow-accent: 0 0 0 3px rgba(0, 113, 227, 0.15);
  /* â”€â”€â”€ RAYONS DE BORDURE â”€â”€â”€ */
  --border-radius: 8px;
  --border-radius-lg: 16px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  --radiusInput: 8px;
  --component-border-radius: 8px;
  /* â”€â”€â”€ TRANSITIONS â”€â”€â”€ */
  --transition-instant: 0ms;
  --transition-fast: 100ms;
  --transition-base: 200ms;
  --transition-normal: 200ms;
  --transition-slow: 300ms;
  --transition-slower: 500ms;
  --ease-entrance: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  /* â”€â”€â”€ TYPOGRAPHIE â”€â”€â”€ */
  --font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', 'Segoe UI', Roboto, sans-serif;
  --font-family-mono: 'SF Mono', 'JetBrains Mono', 'Fira Code', monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.9375rem;
  --text-lg: 1.0625rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.75rem;
  --text-4xl: 2.25rem;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-size-base: 0.9375rem;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --leading-normal: 1.5;
  --tracking-tight: -0.015em;
  --tracking-normal: 0;
  /* â”€â”€â”€ ESPACEMENT â”€â”€â”€ */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --container-padding: 16px;
  --section-padding: 32px;
  /* â”€â”€â”€ Z-INDEX â”€â”€â”€ */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  --z-toast: 1080;
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   2. MODE SOMBRE
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
[data-theme="dark"] {
  /* â”€â”€â”€ COULEURS DE BASE â”€â”€â”€ */
  --white: #1a1a1f;
  --black: #ffffff;
  /* â”€â”€â”€ ACCENT â”€â”€â”€ */
  --accent: #0a84ff;
  --accent-primary: #0a84ff;
  --accent-hover: #409cff;
  --accent-light: rgba(10, 132, 255, 0.15);
  --accent-muted: rgba(10, 132, 255, 0.15);
  --accent-active: rgba(10, 132, 255, 0.25);
  /* â”€â”€â”€ COULEURS DE FOND â”€â”€â”€ */
  --bg-primary: #1a1a1f;
  --bg-secondary: #1e1e24;
  --bg-tertiary: #28282e;
  --bg-elevated: #28282e;
  --bg-card: #222228;
  --bg-hover: rgba(255, 255, 255, 0.08);
  --bg-pressed: rgba(255, 255, 255, 0.12);
  --bg-overlay: rgba(0, 0, 0, 0.6);
  /* â”€â”€â”€ COULEURS DE TEXTE â”€â”€â”€ */
  --text-primary: #ffffff;
  --text-secondary: #98989d;
  --text-tertiary: #6e6e73;
  --text-quaternary: #383840;
  --text-muted: #98989d;
  --text-inverse: #1f1f24;
  /* â”€â”€â”€ BORDURES â”€â”€â”€ */
  --border: rgba(255, 255, 255, 0.15);
  --border-color: rgba(255, 255, 255, 0.15);
  --border-hover: rgba(255, 255, 255, 0.2);
  --border-subtle: rgba(255, 255, 255, 0.08);
  /* â”€â”€â”€ COULEURS DE STATUT â”€â”€â”€ */
  --success: #30d158;
  --success-light: rgba(48, 209, 88, 0.15);
  --success-muted: rgba(48, 209, 88, 0.15);
  --success-background: rgba(48, 209, 88, 0.15);
  --warning: #ff9f0a;
  --warning-light: rgba(255, 159, 10, 0.15);
  --warning-muted: rgba(255, 159, 10, 0.15);
  --error: #ff453a;
  --error-light: rgba(255, 69, 58, 0.15);
  --error-muted: rgba(255, 69, 58, 0.15);
  --danger: #ff453a;
  --danger-light: rgba(255, 69, 58, 0.15);
  --danger-muted: rgba(255, 69, 58, 0.15);
  --danger-background: rgba(255, 69, 58, 0.15);
  --info: #0a84ff;
  --info-light: rgba(10, 132, 255, 0.15);
  --info-muted: rgba(10, 132, 255, 0.15);
  /* â”€â”€â”€ COULEURS ADDITIONNELLES â”€â”€â”€ */
  --purple: #bf5af2;
  --purple-muted: rgba(191, 90, 242, 0.15);
  --pink: #ff375f;
  --pink-muted: rgba(255, 55, 95, 0.15);
  --orange: #ff9f0a;
  --orange-muted: rgba(255, 159, 10, 0.15);
  --green: #30d158;
  --green-muted: rgba(48, 209, 88, 0.15);
  --teal: #64d2ff;
  --teal-muted: rgba(100, 210, 255, 0.15);
  --indigo: #5e5ce6;
  --indigo-muted: rgba(94, 92, 230, 0.15);
  --yellow: #ffd60a;
  --yellow-muted: rgba(255, 214, 10, 0.15);
  /* â”€â”€â”€ SYSTÃˆME DE GRIS â”€â”€â”€ */
  --gray50: #1a1a1f;
  --gray100: #ffffff;
  --gray200: #98989d;
  --gray300: #6e6e73;
  --gray400: #383840;
  --gray500: rgba(255, 255, 255, 0.2);
  --gray600: rgba(255, 255, 255, 0.15);
  --gray700: #252529;
  --gray800: #1a1a1f;
  --gray900: #1a1a1f;
  /* â”€â”€â”€ COULEURS FONCTIONNELLES â”€â”€â”€ */
  --primary: #0a84ff;
  --primary-hover: #409cff;
  --primary-light: rgba(10, 132, 255, 0.15);
  --primary-muted: rgba(10, 132, 255, 0.15);
  --color-success: #30d158;
  --color-success-light: rgba(48, 209, 88, 0.15);
  --color-warning: #ff9f0a;
  --color-warning-light: rgba(255, 159, 10, 0.15);
  --color-danger: #ff453a;
  --color-danger-light: rgba(255, 69, 58, 0.15);
  /* â”€â”€â”€ NAVIGATION â”€â”€â”€ */
  --nav-bg: rgba(28, 28, 30, 0.72);
  --nav-bg-scrolled: #1a1a1f;
  /* â”€â”€â”€ OMBRES â”€â”€â”€ */
  --shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);
  --shadow-primary: 0 4px 12px rgba(10, 132, 255, 0.4);
  --shadow-accent: 0 0 0 3px rgba(10, 132, 255, 0.15);
}
/* DÃ©tection automatique mode sombre */
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
  /* â”€â”€â”€ COULEURS DE BASE â”€â”€â”€ */
    --white: #1a1a1f;
  --black: #ffffff;
  /* â”€â”€â”€ ACCENT â”€â”€â”€ */
    --accent: #0a84ff;
  --accent-primary: #0a84ff;
  --accent-hover: #409cff;
  --accent-light: rgba(10, 132, 255, 0.15);
  --accent-muted: rgba(10, 132, 255, 0.15);
  --accent-active: rgba(10, 132, 255, 0.25);
  /* â”€â”€â”€ COULEURS DE FOND â”€â”€â”€ */
    --bg-primary: #1a1a1f;
  --bg-secondary: #1e1e24;
  --bg-tertiary: #28282e;
  --bg-elevated: #28282e;
  --bg-card: #222228;
  --bg-hover: rgba(255, 255, 255, 0.08);
  --bg-pressed: rgba(255, 255, 255, 0.12);
  --bg-overlay: rgba(0, 0, 0, 0.6);
  /* â”€â”€â”€ COULEURS DE TEXTE â”€â”€â”€ */
    --text-primary: #ffffff;
  --text-secondary: #98989d;
  --text-tertiary: #6e6e73;
  --text-quaternary: #383840;
  --text-muted: #98989d;
  --text-inverse: #1f1f24;
  /* â”€â”€â”€ BORDURES â”€â”€â”€ */
    --border: rgba(255, 255, 255, 0.15);
  --border-color: rgba(255, 255, 255, 0.15);
  --border-hover: rgba(255, 255, 255, 0.2);
  --border-subtle: rgba(255, 255, 255, 0.08);
  /* â”€â”€â”€ COULEURS DE STATUT â”€â”€â”€ */
    --success: #30d158;
  --success-light: rgba(48, 209, 88, 0.15);
  --success-muted: rgba(48, 209, 88, 0.15);
  --success-background: rgba(48, 209, 88, 0.15);
  --warning: #ff9f0a;
  --warning-light: rgba(255, 159, 10, 0.15);
  --warning-muted: rgba(255, 159, 10, 0.15);
  --error: #ff453a;
  --error-light: rgba(255, 69, 58, 0.15);
  --error-muted: rgba(255, 69, 58, 0.15);
  --danger: #ff453a;
  --danger-light: rgba(255, 69, 58, 0.15);
  --danger-muted: rgba(255, 69, 58, 0.15);
  --danger-background: rgba(255, 69, 58, 0.15);
  --info: #0a84ff;
  --info-light: rgba(10, 132, 255, 0.15);
  --info-muted: rgba(10, 132, 255, 0.15);
  /* â”€â”€â”€ SYSTÃˆME DE GRIS â”€â”€â”€ */
    --gray50: #1a1a1f;
  --gray100: #ffffff;
  --gray200: #98989d;
  --gray300: #6e6e73;
  --gray400: #383840;
  --gray500: rgba(255, 255, 255, 0.2);
  --gray600: rgba(255, 255, 255, 0.15);
  --gray700: #252529;
  --gray800: #1a1a1f;
  --gray900: #1a1a1f;
  /* â”€â”€â”€ COULEURS FONCTIONNELLES â”€â”€â”€ */
    --primary: #0a84ff;
  --primary-hover: #409cff;
  --primary-light: rgba(10, 132, 255, 0.15);
  --primary-muted: rgba(10, 132, 255, 0.15);
  --color-success: #30d158;
  --color-success-light: rgba(48, 209, 88, 0.15);
  --color-warning: #ff9f0a;
  --color-warning-light: rgba(255, 159, 10, 0.15);
  --color-danger: #ff453a;
  --color-danger-light: rgba(255, 69, 58, 0.15);
  /* â”€â”€â”€ NAVIGATION â”€â”€â”€ */
    --nav-bg: rgba(28, 28, 30, 0.72);
  --nav-bg-scrolled: #1a1a1f;
  /* â”€â”€â”€ OMBRES â”€â”€â”€ */
    --shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);
  --shadow-primary: 0 4px 12px rgba(10, 132, 255, 0.4);
  --shadow-accent: 0 0 0 3px rgba(10, 132, 255, 0.15);
}
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   3. STYLES DE BASE
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
/* Content Container */
.content-container {
  width: 100%;
  min-height: 100%;
}
/* Account Page Wrapper */
*,
*::before,
html {
  font-family: var(--font-family);
  font-size: 16px;
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  background: var(--bg-primary);
  color: var(--text-primary);
  min-height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  transition: background-color var(--transition-slow) var(--ease-default),
              color var(--transition-slow) var(--ease-default);
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   4. UTILITAIRES COMMUNS
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.text-primary {
  color: var(--text-primary);
}
.bg-primary {
  background: var(--bg-primary);
}
.bg-secondary {
  background: var(--bg-secondary);
}
.bg-tertiary {
  background: var(--bg-tertiary);
}
.bg-card {
  background: var(--border-subtle);
}
.justify-between {
  justify-content: space-between;
}
.gap-2 {
  gap: var(--space-2);
}
.gap-3 {
  gap: var(--space-3);
}
.gap-6 {
  gap: var(--space-6);
}
/* Margin utilities */
.mr-3 {
  margin-right: var(--space-3);
}
/* Text color utilities */
.text-accent-primary {
  color: var(--accent-primary);
}
.mb-4 {
  margin-bottom: var(--space-4);
}
.mt-4 {
  margin-top: var(--space-4);
}
.p-4 {
  padding: var(--space-4);
}
.p-6 {
  padding: var(--space-6);
}
.rounded-md {
  border-radius: var(--radius-md);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.w-full {
  width: 100%;
}
.h-full {
  height: 100%;
}
.hidden {
  display: none;
}
.block {
  display: block;
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   5. LAYOUT - Structure principale
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.app-container {
  min-height: 100vh;
  background: var(--bg-primary);
  display: flex;
  flex-direction: column;
}
.client-page {
  flex: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  animation: pageFadeIn var(--transition-slow) var(--ease-out);
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   11. PAGE HEADER
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.page-header-title {
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-2);
  text-align: left;
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.page-header-subtitle {
  font-size: var(--text-base);
  color: var(--text-secondary);
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   12. FOOTER
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.footer {
  margin-top: auto;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-subtle);
  padding: var(--space-6) 0;
}
.footer-container {
  max-width: 1680px;
  margin: 0 auto;
  padding: 0 var(--space-6);
}
.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
}
.footer-copyright {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  order: 2;
}
.footer-social {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  order: 1;
}
.footer-social-link {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xl);
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  transition: all var(--transition-fast) var(--ease-default);
}
.footer-social-link:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
  transform: translateY(-2px);
}
.footer-legal {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  order: 3;
}
.footer-legal-link {
  font-size: var(--text-sm);
  color: var(--text-tertiary);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.footer-legal-link:hover {
  color: var(--accent);
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   18. ANIMATIONS
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   19. ACCESSIBILITY
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/**
 * STYLES PAGE MES PROJETS
 */
/* Page Wrapper */
/* Hosting Banner */
/* How It Works Section */
/* Stats Cards */
.content-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}
/* Controls */
.projects-search-input::placeholder {
  color: var(--text-tertiary);
}
.projects-search-input:hover {
  border-color: var(--border-hover);
}
.projects-sort-select:hover {
  border-color: var(--border-hover);
}
/* Empty State */
/* Project Cards */
/* Responsive */
@media (max-width: 768px) {
.content-grid {
  grid-template-columns: 1fr;
}
}
/**
 * STYLES PAGE CRÃ‰ER UN PROJET
 */
/* Page Container */
/* Back Link */
/* Header */
/* Error Message */
/* Section */
/* Input */
.create-input::placeholder {
  color: var(--text-tertiary);
}
.create-input:hover {
  border-color: var(--border-hover);
}
.create-input.input-error:focus {
  box-shadow: 0 0 0 4px var(--error-muted);
}
/* Name Error */
/* Info Box */
/* Eggs Grid */
/* Plans Header */
/* Plans Grid */
.create-plan.popular {
  position: relative;
}
/* Terms */
/* Submit Button */
.create-submit {
  width: 100%;
  padding: var(--space-4);
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
}
/* Credits Link */
.create-credits-link:hover {
  text-decoration: underline;
}
/**
 * STYLES PAGE ACCUEIL (HOME)
 */
/* Hero Banner */
/* Grid Layouts */
.grid {
  display: grid;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, 1fr);
}
.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 1024px) {
.lg\:grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.lg\:grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
}
/* Dashboard Actions */
.home-dashboard-action--green:hover {
  background: var(--success-light);
}
.home-dashboard-action--blue:hover {
  background: var(--accent-light);
}
.home-dashboard-action--orange:hover {
  background: var(--warning-light);
}
.home-dashboard-action-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
/* Dashboard Activities */
/* Color utilities for activity icons */
.green {
  color: var(--success);
}
.blue {
  color: var(--accent);
}
.orange {
  color: var(--warning);
}
.red {
  color: var(--error);
}
.purple {
  color: var(--purple);
}
/* Flex utilities */
.flex {
  display: flex;
}
.justify-center {
  justify-content: center;
}
/* Animation */
@keyframes fadeIn {
from {
  opacity: 0;
  transform: translateY(10px);
}
to {
  opacity: 1;
  transform: translateY(0);
}
}
/**
 * STYLES PAGE CRÃ‰DITS
 */
/* Layout principal */
.credits-main-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: var(--space-8);
  align-items: start;
}
.credits-left-panel {
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
}
.credits-section-title {
  font-size: var(--text-2xl);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
  margin: 0 0 var(--space-6) 0;
}
/* Packs de crÃ©dits */
.credits-packs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}
.credits-pack {
  position: relative;
  background: var(--border-subtle);
  border: 2px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-4);
  cursor: pointer;
  transition: all var(--transition-fast);
  text-align: center;
}
.credits-pack:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}
.credits-pack.selected {
  border-color: var(--accent);
  background: var(--accent-muted);
  box-shadow: 0 0 0 1px var(--accent);
}
.credits-pack.popular::before {
  content: attr(data-popular-text);
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gradient-primary);
  color: var(--text-primary);
  font-size: var(--text-xs);
  font-weight: var(--font-bold);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
}
.credits-pack-amount {
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  margin-bottom: var(--space-1);
}
.credits-pack-label {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin-bottom: var(--space-3);
}
.credits-pack-price {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* SÃ©lecteur personnalisÃ© */
.credits-custom-selector {
  background: var(--border-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  margin-bottom: var(--space-8);
}
.credits-custom-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-4);
}
.credits-custom-label {
  font-size: var(--text-sm);
  color: var(--text-secondary);
}
.credits-custom-input-grou.credits-custom-input {
  flex: 1;
  background: var(--bg-tertiary);
  border: 2px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  color: var(--text-primary);
  font-size: var(--text-xl);
  font-weight: var(--font-semibold);
  text-align: center;
}
.credits-custom-input:focus {
  outline: none;
  border-color: var(--accent);
}
.credits-custom-equals {
  color: var(--text-secondary);
  font-size: var(--text-xl);
}
.credits-custom-price {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.credits-custom-note {
  font-size: var(--text-xs);
  color: var(--text-tertiary);
  margin-top: var(--space-3);
}
/* RÃ©sumÃ© */
.credits-summary-box {
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  margin-bottom: var(--space-6);
}
.credits-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--border);
}
.credits-summary-row:last-child {
  border-bottom: none;
}
.credits-summary-label {
  color: var(--text-secondary);
  font-size: var(--text-sm);
}
.credits-summary-value {
  color: var(--text-primary);
  font-weight: var(--font-semibold);
}
.credits-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--space-4);
  margin-top: var(--space-4);
  border-top: 2px solid var(--border);
}
.credits-summary-total-label {
  color: var(--text-primary);
  font-weight: var(--font-bold);
  font-size: var(--text-lg);
}
.credits-summary-total-value {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Note sÃ©curisÃ©e */
.credits-secure-note {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--accent);
  font-size: var(--text-sm);
  background: var(--accent-muted);
  border: 1px solid rgba(0, 113, 227, 0.2);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-6);
}
/* Panel droit */
.credits-right-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
/* FAQ */
.credits-faq-item {
  border-bottom: 1px solid var(--border);
  padding: var(--space-4) 0;
}
.credits-faq-item:last-child {
  border-bottom: none;
}
.credits-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: var(--text-primary);
  font-weight: var(--font-medium);
  font-size: var(--text-sm);
  gap: var(--space-2);
}
.credits-faq-question:hover {
  color: var(--accent);
}
.credits-faq-answer {
  color: var(--text-secondary);
  font-size: var(--text-sm);
  margin-top: var(--space-3);
  line-height: 1.6;
}
.credits-faq-icon {
  color: var(--accent);
  flex-shrink: 0;
}
.credits-faq-flex {
  flex: 1;
}
.credits-faq-chevron {
  color: var(--text-tertiary);
  font-size: var(--text-xs);
  flex-shrink: 0;
}
/* Avantages */
.credits-advantage-item {
  display: flex;
  align-items: start;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  color: var(--text-secondary);
  font-size: var(--text-sm);
}
.credits-advantage-icon {
  color: var(--accent);
  margin-top: 2px;
  flex-shrink: 0;
}
/* Plans */
.credits-plan-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--border);
}
.credits-plan-item:last-child {
  border-bottom: none;
}
.credits-plan-name {
  color: var(--text-secondary);
  font-size: var(--text-sm);
}
.credits-plan-ram {
  font-weight: var(--font-semibold);
  font-size: var(--text-sm);
}
.credits-plan-ram.free {
  color: var(--success);
}
.credits-plan-ram.starter {
  color: var(--accent);
}
.credits-plan-ram.pro {
  color: var(--purple);
}
.credits-plan-ram.advanced {
  color: var(--warning);
}
/* Footer note */
.credits-footer-note {
  text-align: center;
  font-size: var(--text-xs);
  color: var(--text-tertiary);
  margin-top: var(--space-4);
}
/* Responsive */
@media (max-width: 1200px) {
.credits-main-layout {
  grid-template-columns: 1fr;
}
.credits-packs-grid {
  grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.credits-packs-grid {
  grid-template-columns: 1fr;
}
}
/**
 * STYLES PAGE PARRAINAGE (REFERRAL)
 */
/* Layout principal */
.referral-page-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-2) var(--space-4) var(--space-8);
}
/* Header */
.referral-page-header {
  text-align: center;
  margin-bottom: var(--space-10);
}
.referral-page-title {
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  margin-bottom: var(--space-3);
}
.referral-page-subtitle {
  font-size: var(--text-lg);
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto;
}
/* Stats Cards Row */
.referral-stats-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
  margin-bottom: var(--space-10);
}
.referral-stat-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid #d9e2ec;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  transition: all var(--transition-fast);
  overflow: hidden;
}
.referral-stat-card:hover {
  transform: translateY(-2px);
  border-color: #c7d6e8;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}
.referral-stat-card.blue {
  border-top: 4px solid #1667d9;
}
.referral-stat-card.green {
  border-top: 4px solid #2eaf7d;
}
.referral-stat-card.purple {
  border-top: 4px solid #8d72ea;
}
.referral-stat-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  font-size: var(--text-lg);
  flex-shrink: 0;
}
.referral-stat-card.blue .referral-stat-icon {
  background: rgba(22, 103, 217, 0.12);
  color: #1667d9;
}
.referral-stat-card.green .referral-stat-icon {
  background: rgba(46, 175, 125, 0.12);
  color: #2e8a67;
}
.referral-stat-card.purple .referral-stat-icon {
  background: rgba(141, 114, 234, 0.12);
  color: #7860cc;
}
.referral-stat-content {
  flex: 1;
}
.referral-stat-label {
  font-size: 12px;
  color: #606d80;
  margin-bottom: 6px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.referral-stat-value {
  font-size: 36px;
  font-weight: var(--font-bold);
  color: #0f2d67;
  line-height: 1;
}
.referral-stat-meta {
  margin-top: 8px;
  font-size: 13px;
  color: #6a7b92;
}
/* Section lien de parrainage */
.referral-link-section {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid #d9e2ec;
  border-radius: 20px;
  padding: var(--space-8);
  margin-bottom: var(--space-10);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}
.referral-section-title {
  font-size: var(--text-xl);
  font-weight: var(--font-semibold);
  color: #0f2d67;
  margin-bottom: var(--space-6);
}
.referral-section-subtitle {
  font-size: var(--text-base);
  color: #5f6f86;
  margin-bottom: var(--space-6);
}
.referral-input-group {
  margin-bottom: var(--space-6);
}
.referral-input-group:last-child {
  margin-bottom: 0;
}
.referral-input-label {
  display: block;
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--text-secondary);
  margin-bottom: var(--space-2);
}
.referral-input-wrapper {
  display: flex;
  gap: var(--space-3);
}
.referral-input {
  flex: 1;
  background: #f8fbff;
  border: 1px solid #d6e2ef;
  border-radius: 14px;
  padding: var(--space-3) var(--space-4);
  color: #17325f;
  font-size: var(--text-base);
  font-family: monospace;
}
.referral-input:focus {
  outline: none;
  border-color: #1667d9;
}
.referral-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5);
  background: linear-gradient(180deg, #1667d9 0%, #0f57c6 100%);
  color: white;
  font-weight: var(--font-medium);
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
}
.referral-copy-btn:hover {
  background: linear-gradient(180deg, #1d72e6 0%, #0f57c6 100%);
  transform: translateY(-1px);
}
.referral-code-display {
  display: inline-block;
  background: #f8fbff;
  border: 1px dashed #c7d7ea;
  border-radius: 14px;
  padding: var(--space-3) var(--space-6);
  color: #0f2d67;
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  font-family: monospace;
  letter-spacing: 2px;
}
/* Section avantages */
.referral-benefits-section {
  margin-bottom: var(--space-10);
}
.referral-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-6);
}
.referral-benefit-card {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid #d9e2ec;
  border-radius: 18px;
  padding: 28px;
  text-align: left;
  transition: all var(--transition-fast);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}
.referral-benefit-card:hover {
  transform: translateY(-4px);
  border-color: #c7d6e8;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}
.referral-benefit-card.blue {
  border-top: 4px solid #1667d9;
}
.referral-benefit-card.green {
  border-top: 4px solid #2eaf7d;
}
.referral-benefit-card.purple {
  border-top: 4px solid #8d72ea;
}
.referral-benefit-icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xl);
  font-size: var(--text-2xl);
  margin: 0 0 var(--space-5);
}
.referral-benefit-card.blue .referral-benefit-icon {
  background: rgba(22, 103, 217, 0.12);
  color: #1667d9;
}
.referral-benefit-card.green .referral-benefit-icon {
  background: rgba(46, 175, 125, 0.12);
  color: #2e8a67;
}
.referral-benefit-card.purple .referral-benefit-icon {
  background: rgba(141, 114, 234, 0.12);
  color: #7860cc;
}
.referral-benefit-title {
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  color: #0f2d67;
  margin-bottom: var(--space-3);
}
.referral-benefit-text {
  font-size: 15px;
  color: #5f6f86;
  line-height: 1.6;
  margin-bottom: 0;
}
.referral-benefit-note {
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  color: var(--accent);
  margin-bottom: var(--space-1);
}
.referral-benefit-answer {
  font-size: var(--text-xs);
  color: var(--text-tertiary);
}

[data-theme=dark] .referral-stat-card,
[data-theme=dark] .referral-link-section,
[data-theme=dark] .referral-benefit-card {
  background: linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
  border-color: var(--border);
  box-shadow: none;
}

[data-theme=dark] .referral-stat-card:hover,
[data-theme=dark] .referral-benefit-card:hover {
  border-color: var(--border-hover);
  box-shadow: none;
}

[data-theme=dark] .referral-stat-label,
[data-theme=dark] .referral-stat-meta,
[data-theme=dark] .referral-section-subtitle,
[data-theme=dark] .referral-benefit-text,
[data-theme=dark] .referral-benefit-answer {
  color: var(--text-secondary);
}

[data-theme=dark] .referral-stat-value,
[data-theme=dark] .referral-section-title,
[data-theme=dark] .referral-benefit-title {
  color: var(--text-primary);
}

[data-theme=dark] .referral-input {
  background: var(--bg-primary);
  border-color: var(--border);
  color: var(--text-primary);
}

[data-theme=dark] .referral-input::placeholder {
  color: var(--text-secondary);
}

[data-theme=dark] .referral-code-display {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--text-primary);
}
/* Responsive */

/* Garde seulement le hero-banner avec son fond */
.hero-banner,
.home-hero-banner, [class*="home-hero"] {
    background: linear-gradient(135deg, var(--accent) 0%, var(--indigo) 50%, var(--purple) 100%);
    border: none;
}

/* Mais nettoie les enfants */
.hero-banner h2, .hero-banner p,
[class*="hero-banner"] h2, [class*="hero-banner"] p,
[class*="home-hero"] h2, [class*="home-hero"] p {
    background: transparent;
    border: none;
    box-shadow: none;
}

/* ============================================
   DARK MODE - Cohérent avec ACL Site
   ============================================ */

[data-theme="dark"] .home-hero-banner {
  box-shadow: 0 20px 40px -10px rgba(10, 132, 255, 0.3);
  background: linear-gradient(135deg, #0a84ff 0%, var(--indigo) 50%, var(--purple) 100%);
}

[data-theme="dark"] .home-hero-icon {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .stat-card {
  background: var(--border-subtle);
  border-color: var(--border);
}

[data-theme="dark"] .stat-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--border-hover);
}

[data-theme="dark"] .home-dashboard-action {
  background: var(--border-subtle);
  border-color: var(--border);
}

[data-theme="dark"] .home-dashboard-action:hover {
  background: var(--bg-tertiary);
  border-color: var(--action-color, var(--accent));
}

[data-theme="dark"] .home-dashboard-activity {
  background: var(--border-subtle);
  border-color: var(--border);
}

[data-theme="dark"] .home-dashboard-activity:hover {
  background: var(--bg-tertiary);
  border-color: rgba(255, 255, 255, 0.15);
}

[data-theme="dark"] .home-dashboard-activity-viewall {
  background: var(--bg-tertiary);
  border-color: var(--border);
}

[data-theme="dark"] .home-dashboard-activity-viewall:hover {
  background: rgba(10, 132, 255, 0.15);
  border-color: var(--accent);
}

[data-theme="dark"] .home-dashboard-empty-icon {
  background: var(--bg-tertiary);
}

/* ============================================
   11. RESPONSIVE - Mobile
   ============================================ */

@media (max-width: 768px) {
  /* Hero banner mobile */
  .home-hero-banner, [class*="hero-banner"] {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
    gap: 16px;
  }

  .home-hero-icon, .home-hero-content-text, .home-hero-banner-title, [class*="hero-title"] {
    font-size: 18px;
    white-space: normal;
  }

  .home-hero-banner-text, [class*="hero-text"] {
    font-size: 14px;
    max-width: 100%;
  }

  .home-hero-banner-btn, [class*="hero-btn"] {
    position: static;
    transform: none;
    padding: 12px 24px;
    font-size: 14px;
  }

  /* Container */
  .home-container, [class*="dashboard-container"] {
    padding: 16px;
  }

  /* Page header */
  .page-header {
    padding: 0 0 12px 0;
  }

  /* Modals mobile */
  .modal-container, [class*="ButtonWrapper"], .modal-content button {
    width: 100%;
    justify-content: center;
  }

  /* Form grids */
  .form-grid, .form-grid-3 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .home-hero-banner, [class*="hero-banner"] {
    padding: 20px 16px;
  }

  .home-hero-icon, [class*="hero-icon"] {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }

  .home-hero-banner-title, [class*="hero-title"] {
    font-size: 16px;
  }
}
