/* General container for analysis */
:root {
    /* Color Palette from Stock 404 Logo (Harmonisé avec le bleu-gris foncé) */
    --stock404-neon-green: #BBFF00;   /* Vert néon vibrant (Accent principal) */
	--stock404-neon-red: #FF4444;      /* Rouge néon adapté, moins agressif que FF0000 */
    --stock404-black: #000000;          /* Noir pur */
    --stock404-white: #FFFFFF;          /* Blanc pur pour le texte sur fond très foncé */
    
    /* Les gris sont basés sur les tons bleu-gris de la palette 1 pour l'harmonie */
    --stock404-dark-grey: #1a1a2e;      /* Fond principal très foncé (Dark blue-grey) */
    --stock404-medium-grey: #2c2c54;    /* Fond de conteneurs/cartes */
    --stock404-light-grey: #4a4a8f;     /* Texte secondaire/Diviseurs légers */
    --stock404-border-grey: #3c3c72;    /* Bordures visibles */
    
    /* Neon Glow Intensity (utilise le vert néon) */
    --neon-glow-small: 0 0 4px rgba(187, 255, 0, 0.6);
    --neon-glow-medium: 0 0 8px rgba(187, 255, 0, 0.8);
    --neon-glow-large: 0 0 15px rgba(187, 255, 0, 0.9);

    /* Semantic colors (Couleurs de fonction basées sur l'esthétique néon/bleu-gris) */
    
    /* Couleurs de Trading (Bullish/Bearish) */
    --color-bullish: #00E676;           /* Vert clair/vif pour la hausse (succès) */
    --color-bearish: var(--stock404-neon-red); /* Rouge néon pour la baisse (négatif) */
    
    /* Couleurs Sémantiques Standard */
    --color-neutral: #f1c40f;           /* Jaune de l'exemple 1 (Warning/Neutre) */
    --color-info: #3498db;              /* Bleu d'information standard de l'exemple 1 */
    
    /* Couleurs de Rôles */
    --color-highlight: var(--stock404-neon-green); /* Accent principal (Vert néon) */
    --color-negative: var(--color-bearish);      /* Alias pour la couleur négative (Rouge néon) */
    --color-accent-blue: #74b9ff;        /* Bleu plus clair pour un accent secondaire */

    /* Assurez-vous que les variables suivantes sont définies dans votre fichier CSS */
	--etea-search-bg: #3b3e45; /* Fond gris/bleu foncé de la barre de recherche */
    --etea-search-border: #888; /* Bordure subtile */
    --etea-search-text: #efefef; /* Texte clair */
    --stock404-neon-green: #99ff00; /* Vert Néon (ajusté pour être plus vif que #00FF00) */
    --stock404-dark-grey: #1c1c1c; /* Texte du bouton */
	--stock404-dark-bg: #1a1a1a;       /* Fond du Corps/Conteneur */
    --stock404-mid-dark-bg: #212121;  /* Fond des cartes/Menus */
    --stock404-input-bg: #3b3e45;    /* Fond de la barre de recherche (Gris/Bleu) */
    --stock404-input-border: #666;   /* Bordure de l'input */
    --stock404-text-subtle: #aaaaaa;  /* Texte secondaire */
    --stock404-text-normal: #cccccc;  /* Texte normal */
    --stock404-shadow-neon: 0 0 5px rgba(153, 255, 0, 0.4); /* Ombre légère pour le néon */

    /* Mapping des couleurs sémantiques sur votre thème */
    --etea-bullish: var(--stock404-neon-green, #39ff14);
    --etea-bullish-bg: rgba(57, 255, 20, 0.1);
    
    --etea-bearish: var(--stock404-neon-red, #ff3b30); 
    --etea-bearish-bg: rgba(255, 59, 48, 0.1);
    
    --etea-neutral: var(--stock404-light-grey, #aaa);
    --etea-neutral-bg: rgba(170, 170, 170, 0.1);

}

/* Base styles for containers */
.etea-analysis-container {
    background-color: var(--stock404-dark-grey); /* Dark background */
    color: var(--stock404-white); /* Light text for contrast */
    font-family: 'Open Sans', 'Share Tech Mono', monospace; /* Futuristic font combination */
    line-height: 1.6;
    padding: 25px; /* Plus d'espace */
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    transition: box-shadow 0.3s ease-in-out;
}

/* Titles */
.etea-analysis-container h2 {
    color: var(--stock404-neon-green); /* Titre principal en Néon Vert */
    border-bottom: 2px solid var(--stock404-neon-green); /* Soulignement Néon */
    padding-bottom: 12px;
    margin-bottom: 25px;
    font-size: 2.2em; /* Plus grand */
    font-weight: 700; /* Plus gras */
    text-shadow: var(--neon-glow-small); /* Effet de lueur sur le texte */
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    z-index: 1;
}

.etea-analysis-container h3 {
    color: var(--stock404-neon-green); /* Sous-titres en Néon Vert */
    margin-top: 35px;
    margin-bottom: 18px;
    font-size: 1.8em;
    font-weight: 600;
    text-shadow: 0 0 4px rgba(187, 255, 0, 0.6); /* Lueur plus forte */
    position: relative;
    z-index: 1;
}

.etea-analysis-container h4 {
    color: var(--stock404-white); /* Petits titres en blanc pour le contraste */
    margin-top: 25px;
    margin-bottom: 12px;
    font-size: 1.4em;
    font-weight: 500;
    border-left: 3px solid var(--stock404-light-grey);
    padding-left: 10px;
    position: relative;
    z-index: 1;
}

.etea-analysis-container p {
    color: var(--stock404-white);
    font-size: 1em; /* Légèrement plus grand */
    margin-bottom: 12px;
    position: relative;
    z-index: 1;
}


/* Conteneur principal du calendrier éphémère (était manquant) */
.etea-ephemeral-calendar {
    /* Nouveau style pour cette section */
    margin-top: 30px;
    margin-bottom: 40px;
    border: 1px solid var(--stock404-border-grey);
    border-radius: 8px;
    padding: 20px;
    background-color: var(--stock404-medium-grey);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   STYLES DE LA PAGE D'ERREUR 404
   ========================================================================== */

.etea-404-container {
    /* Utiliser la largeur maximale et centrer le contenu */
    max-width: 800px;
    margin: 10vh auto; /* 10% de hauteur pour centrer verticalement */
    padding: 40px;
    background-color: var(--stock404-mid-dark-bg); 
    border: 2px solid var(--stock404-neon-red); /* Bordure d'erreur Néon */
    box-shadow: 0 0 20px rgba(255, 51, 51, 0.5); /* Lueur rouge */
    border-radius: 8px;
    text-align: center;
}

.etea-404-title {
    font-size: 3em;
    color: var(--stock404-neon-red); /* Titre en couleur d'erreur */
    text-shadow: 0 0 5px rgba(255, 51, 51, 0.8);
    margin-bottom: 20px;
}

.etea-404-content {
    color: var(--stock404-text-normal);
}

.etea-404-message-main {
    font-size: 1.2em;
    margin-bottom: 20px;
}

.etea-404-links-title {
    color: var(--stock404-neon-green);
    margin-top: 30px;
    margin-bottom: 15px;
}

.etea-404-links-grid {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Styles pour les boutons (réutilise les styles globaux, mais surchargés pour l'aspect 404) */
.etea-404-links-grid .button-primary {
    background-color: var(--stock404-neon-green);
    color: var(--stock404-dark-bg);
    border: 1px solid var(--stock404-neon-green);
}

.etea-404-links-grid .button-secondary {
    background-color: var(--stock404-mid-dark-bg);
    color: var(--stock404-text-normal);
    border: 1px solid var(--stock404-border-grey);
}

.etea-404-links-grid .button-secondary:hover {
    background-color: var(--stock404-border-grey);
    color: var(--stock404-neon-green);
}

/* --- TOP MOVER BUTTON (MODAL GROUPE) --- */
#etea-group-top-mover-container {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--stock404-border-grey, #444);
    text-align: center;
}

.etea-top-mover-box {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.05);
    padding: 8px 15px;
    border-radius: 20px;
    border: 1px solid var(--stock404-neon-green, #00ff00);
}

.etea-top-mover-box span {
    font-size: 0.85em;
    color: #aaa;
    text-transform: uppercase;
}

.etea-top-mover-box a.button {
    background-color: var(--stock404-neon-green, #00ff00);
    color: #000;
    font-weight: bold;
    font-size: 0.9em;
    padding: 5px 12px;
    border-radius: 4px;
    text-decoration: none;
    transition: transform 0.2s;
}

.etea-top-mover-box a.button:hover {
    transform: scale(1.05);
}

/* ==========================================================================
   UPCOMING CHAMPIONS (Shortcode)
   ========================================================================== */

.etea-upcoming-champions-section {
    margin-bottom: 50px;
}

.etea-champ-category {
    background: var(--stock404-mid-dark-bg, #222);
    border: 1px solid var(--stock404-border-grey, #444);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
}

.etea-champ-title {
    color: var(--stock404-neon-green, #00ff00);
    border-bottom: 1px dashed #444;
    padding-bottom: 10px;
    margin-bottom: 5px;
    font-size: 1.3em;
}

.etea-champ-desc {
    font-style: italic;
    color: var(--stock404-text-subtle, #aaa);
    font-size: 0.9em;
    margin-bottom: 20px;
}

/* GRILLE */
.etea-champ-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.etea-no-upcoming {
    width: 100%;
    text-align: center;
    padding: 20px;
    background: rgba(255,255,255,0.05);
    border-radius: 4px;
    color: #888;
}

/* CARTE CHAMPION */
.etea-champ-card {
    flex: 1;
    min-width: 250px;
    background: rgba(0,0,0,0.2);
    border: 1px solid #333;
    border-radius: 6px;
    padding: 15px;
    transition: transform 0.2s, border-color 0.2s;
    display: flex;
    flex-direction: column;
}

.etea-champ-card:hover {
    transform: translateY(-5px);
    border-color: var(--stock404-neon-green);
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

/* HEADER CARTE */
.etea-champ-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #333;
}

.etea-champ-rank { font-size: 1.2em; }
.etea-champ-ticker { font-size: 1.4em; font-weight: bold; color: #fff; }
.etea-champ-hist-val { 
    background: rgba(255,255,255,0.1); 
    padding: 2px 6px; 
    border-radius: 4px; 
    font-size: 0.85em; 
    color: var(--stock404-neon-green);
    font-weight: bold;
}

/* DETAILS */
.etea-champ-date {
    font-size: 0.9em;
    color: #ddd;
    margin-bottom: 10px;
}
.etea-champ-timing {
    font-size: 0.8em;
    text-transform: uppercase;
    color: #aaa;
    margin-left: 5px;
}

.etea-champ-predictions {
    background: rgba(255,255,255,0.03);
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.etea-pred-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    font-size: 0.9em;
}
.etea-pred-row:last-child { margin-bottom: 0; }

/* Styles Prédictions */
.etea-dir-bullish { color: var(--stock404-neon-green); font-weight: bold; }
.etea-dir-bearish { color: var(--stock404-neon-red); font-weight: bold; }
.etea-dir-neutral { color: #aaa; }

/* STRATEGIE */
.etea-champ-strategy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-size: 0.9em;
}
.etea-reco-strong-buy, .etea-reco-buy { color: var(--stock404-neon-green); font-weight: bold; text-transform: uppercase; }
.etea-reco-strong-sell, .etea-reco-sell { color: var(--stock404-neon-red); font-weight: bold; text-transform: uppercase; }

/* BOUTON */
.etea-champ-btn {
    display: block;
    text-align: center;
    background: var(--stock404-dark-bg);
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-neon-green);
    padding: 8px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.2s;
    margin-top: auto; /* Pousse le bouton en bas */
}

.etea-champ-btn:hover {
    background: var(--stock404-neon-green);
    color: #000;
}

.etea-champ-post-note {
    font-size: 0.75em;
    color: #888;
    margin-bottom: 10px;
    cursor: help;
}

/* ==========================================================================
   LEGAL PAGES STYLES (Terms & Privacy)
   ========================================================================== */

.etea-legal-section {
    max-width: 900px;
    margin: 0 auto;
}

.etea-last-updated {
    font-size: 0.85em;
    color: var(--stock404-text-subtle, #aaa);
    margin-bottom: 20px;
    font-style: italic;
}

.etea-legal-content {
    background-color: var(--stock404-mid-dark-bg, #222);
    padding: 40px;
    border-radius: 8px;
    border: 1px solid var(--stock404-border-grey, #444);
    line-height: 1.8;
    font-size: 1em;
    color: var(--stock404-text-normal, #ddd);
}

.etea-legal-content h3 {
    color: var(--stock404-neon-green, #00ff00);
    margin-top: 30px;
    margin-bottom: 15px;
    font-size: 1.3em;
    border-bottom: 1px dashed rgba(255,255,255,0.1);
    padding-bottom: 10px;
}

.etea-legal-content h3:first-child {
    margin-top: 0;
}

.etea-legal-content p {
    margin-bottom: 15px;
    text-align: justify;
}

.etea-legal-content a {
    color: var(--stock404-neon-green, #00ff00);
    text-decoration: none;
}

.etea-legal-content a:hover {
    text-decoration: underline;
}

/* Boite d'alerte spécifique pour le Disclaimer Financier */
.etea-alert-box {
    background-color: rgba(255, 0, 0, 0.1);
    border-left: 4px solid var(--stock404-neon-red, #ff4444);
    padding: 15px 20px;
    margin: 20px 0;
    border-radius: 4px;
}

.etea-alert-box p {
    margin-bottom: 10px;
    color: #ffcccc;
}

.etea-alert-box p:last-child {
    margin-bottom: 0;
}

/* Mobile */
@media (max-width: 600px) {
    .etea-legal-content {
        padding: 20px;
    }
}

/* ==========================================================================
   CONTACT FORM STYLES
   ========================================================================== */

.etea-contact-section {
    max-width: 800px;
    margin: 0 auto;
}

.etea-contact-form {
    background-color: var(--stock404-mid-dark-bg, #222);
    padding: 30px;
    border-radius: 8px;
    border: 1px solid var(--stock404-border-grey, #444);
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

.etea-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.etea-form-group {
    margin-bottom: 20px;
}

.etea-form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--stock404-text-normal, #ddd);
    font-weight: bold;
    font-size: 0.9em;
}

.etea-form-group label .required {
    color: var(--stock404-neon-red, #ff4444);
}

.etea-contact-form input[type="text"],
.etea-contact-form input[type="email"],
.etea-contact-form select,
.etea-contact-form textarea {
    width: 100%;
    padding: 12px;
    background-color: var(--stock404-dark-bg, #111);
    border: 1px solid var(--stock404-border-grey, #444);
    border-radius: 4px;
    color: #fff;
    font-family: inherit;
    font-size: 1em;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.etea-contact-form input:focus,
.etea-contact-form select:focus,
.etea-contact-form textarea:focus {
    border-color: var(--stock404-neon-green, #00ff00);
    outline: none;
    box-shadow: 0 0 5px rgba(0, 255, 0, 0.2);
}

.etea-contact-form textarea {
    resize: vertical;
    min-height: 120px;
}

.etea-form-actions {
    text-align: right;
}

.etea-submit-btn {
    padding: 12px 30px;
    font-size: 1.1em;
    cursor: pointer;
    background-color: var(--stock404-neon-green, #00ff00);
    color: #000;
    border: none;
    font-weight: bold;
    border-radius: 4px;
    transition: transform 0.2s, background-color 0.2s;
}

.etea-submit-btn:hover {
    background-color: #00cc00; /* Vert un peu plus foncé au survol */
    transform: translateY(-2px);
}

/* Messages Success/Error */
.etea-message {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    font-weight: bold;
}

.etea-success {
    background-color: rgba(0, 255, 0, 0.1);
    border-left: 4px solid var(--stock404-neon-green, #00ff00);
    color: var(--stock404-neon-green, #00ff00);
}

.etea-error {
    background-color: rgba(255, 0, 0, 0.1);
    border-left: 4px solid var(--stock404-neon-red, #ff4444);
    color: var(--stock404-neon-red, #ff4444);
}

/* Mobile */
@media (max-width: 600px) {
    .etea-form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .etea-submit-btn {
        width: 100%;
    }
}

/* ==========================================================================
   BADGES DE RANG (Fiche Recherche)
   ========================================================================== */

.etea-badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    margin-top: -10px; /* Remonter un peu sous le titre */
}

.etea-perf-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.85em;
    font-weight: bold;
    color: #000;
    text-transform: uppercase;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.2);
    cursor: help;
}

/* 1er Place - OR */
.etea-perf-badge.rank-1 {
    background: linear-gradient(135deg, #FFD700 0%, #FDB931 100%);
    border-color: #FFD700;
    color: #3e2700;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.4);
}

/* 2ème Place - ARGENT */
.etea-perf-badge.rank-2 {
    background: linear-gradient(135deg, #E0E0E0 0%, #BDBDBD 100%);
    border-color: #E0E0E0;
    color: #333;
}

/* 3ème Place - BRONZE */
.etea-perf-badge.rank-3 {
    background: linear-gradient(135deg, #CD7F32 0%, #A0522D 100%);
    border-color: #CD7F32;
    color: #3e1e00;
}

/* TOP 5 - VERT NÉON */
.etea-perf-badge.rank-top5 {
    background: rgba(0, 255, 0, 0.15);
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-neon-green);
}

/* TOP 20 - BLEU/GRIS */
.etea-perf-badge.rank-top20 {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid #666;
    color: #ddd;
}

/* Hover Effect */
.etea-perf-badge:hover {
    transform: translateY(-2px);
    transition: transform 0.2s;
}


/* ==========================================================================
   SIMULATEUR DE PORTEFEUILLE V2
   ========================================================================== */

/* CONTENEUR PRINCIPAL & CONTRÔLES */
.etea-sim-v2-wrapper { 
    margin-bottom: 40px; 
}

.etea-sim-controls { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 15px; 
    margin-bottom: 20px; 
    justify-content: center; 
    background: var(--stock404-mid-dark-bg); 
    padding: 15px; 
    border-radius: 8px; 
    border: 1px solid var(--stock404-border-grey); 
}

.etea-control-group { 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    gap: 5px; 
}

.etea-control-label { 
    color: var(--stock404-text-subtle); 
    font-size: 0.8em; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
}

.etea-btn-group { 
    display: flex; 
    background: var(--stock404-dark-bg); 
    border-radius: 4px; 
    overflow: hidden; 
    border: 1px solid var(--stock404-border-grey); 
}

.etea-btn { 
    background: transparent; 
    border: none; 
    color: var(--stock404-text-subtle); 
    padding: 8px 12px; 
    cursor: pointer; 
    transition: all 0.3s; 
    font-size: 0.85em; 
}

.etea-btn:hover { 
    background: rgba(255,255,255,0.05); 
    color: #fff; 
}

.etea-btn.active { 
    background: var(--stock404-neon-green); 
    color: #000; 
    font-weight: bold; 
    box-shadow: 0 0 10px rgba(0,255,0,0.2); 
}

/* DESCRIPTION DYNAMIQUE */
.etea-sim-desc p { 
    text-align: center; 
    color: var(--stock404-white); 
    font-style: italic; 
    opacity: 0.9; 
    margin-bottom: 20px; 
    font-size: 0.9em; 
    max-width: 800px; 
    margin-left: auto; 
    margin-right: auto; 
}

.etea-chart-disclaimer {
    display: block;
    padding-top: 50px;
    font-style: italic;
    line-height: 1.4;
    text-align: center; /* Centré c'est souvent plus joli */
}

/* ZONE DU GRAPHIQUE */
.etea-sim-chart-card { 
    position: relative; 
    min-height: 380px; 
    padding: 20px 20px 40px 60px !important; 
}

.etea-sim-chart-container { 
    display: flex;
    height: 380px; /* Augmenté un peu pour le confort */
    width: 100%;
    position: relative;
    border-bottom: 1px solid var(--stock404-border-grey);
    background: linear-gradient(to top, rgba(255,255,255,0.03), transparent);
    margin-bottom: 20px;
}

/* AXES ET BARRES */
.etea-sim-y-axis { 
    position: absolute;
    left: -60px;
    top: 40px;
    bottom: 0;
    width: 55px;
    text-align: right;
    color: var(--stock404-text-subtle);
    font-size: 0.75em;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Ligne de base (0 ou 100) */
.etea-sim-baseline-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
    border-top: 1px dashed rgba(255, 255, 255, 0.5);
    z-index: 1;
    pointer-events: none;
}

.etea-sim-bars-area { 
    position: absolute;
    top: 40px; /* PADDING TOP CRITIQUE : Laisse 40px pour l'infobulle max */
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-around;
    z-index: 2;
}

.etea-sim-bar-wrapper { 
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
    transition: opacity 0.3s;
}

.etea-sim-bar-wrapper:hover { 
    filter: brightness(1.3);
    z-index: 10;
}

.etea-sim-bar-wrapper:hover .etea-sim-bar { 
    filter: brightness(1.2); 
    opacity: 1; 
}

/* EFFET DE FOCUS : Si on survole le conteneur, on estompe les barres non survolées */
.etea-sim-bars-area:hover .etea-sim-bar-wrapper {
    opacity: 0.4;
}
.etea-sim-bars-area:hover .etea-sim-bar-wrapper:hover {
    opacity: 1;
    transform: scale(1.02); /* Petit zoom */
}



.etea-sim-bar { 
    position: absolute;
    width: 80%; /* Un peu plus fin pour l'élégance */
    left: 10%;
    border-radius: 3px 3px 1px 1px;
    transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1), bottom 0.5s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.bar-gain { 
    background: linear-gradient(180deg, var(--stock404-neon-green) 0%, #4caf50 100%); 
}
.bar-loss { 
    background: linear-gradient(180deg, var(--stock404-neon-red) 0%, #d32f2f 100%); 
}

/* INFOBULLES (TOOLTIPS) SUR LES BARRES */
.etea-sim-val { 
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    font-size: 0.75em;
    font-weight: bold;
    color: #fff;
    background: #000;
    padding: 4px 8px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s;
    margin-bottom: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.5);
    z-index: 100;
}

/* Petite flèche sous le tooltip */
.etea-sim-val::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -4px;
    border-width: 4px;
    border-style: solid;
    border-color: #000 transparent transparent transparent;
}

.etea-sim-bar-wrapper:hover .etea-sim-val { 
    opacity: 1; 
    transform: translateX(-50%) translateY(-100%) translateY(-5px); /* Petite animation vers le haut */
}

.etea-sim-x { 
    position: absolute;
    bottom: -30px; /* Remonté un peu car on a du padding top */
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.65em;
    color: var(--stock404-text-subtle);
    white-space: nowrap;
    font-family: monospace;
}

.etea-sim-baseline { 
    position: absolute; 
    left: 0; 
    right: 0; 
    border-top: 1px dashed rgba(255,255,255,0.3); 
    z-index: 1; 
    pointer-events: none; 
}

/* MODAL */

/* --- MODAL STATS HEADER --- */
.etea-modal-stats-header {
    display: flex;
    justify-content: space-between;
    background: rgba(255,255,255,0.05);
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    border: 1px solid var(--stock404-border-grey);
}

/* Style pour les onglets de la modale */
#etea-modal-tabs .etea-btn {
    padding: 5px 15px;
    font-size: 0.85em;
}

.etea-stat-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}

.etea-stat-box .label {
    font-size: 0.75em;
    color: var(--stock404-text-subtle);
    text-transform: uppercase;
    margin-bottom: 4px;
}

.etea-stat-box .value {
    font-size: 1.1em;
    font-weight: bold;
    color: #fff;
}

.etea-modal-table { 
    width: 100%; 
    border-collapse: collapse; 
    margin-top: 15px; 
}

.etea-modal-table th { 
    text-align: left; 
    border-bottom: 1px solid var(--stock404-neon-green); 
    color: var(--stock404-neon-green); 
    padding: 8px; 
    position: sticky; 
    top: 0; 
    background: #1a1a1a; /* Ou var(--stock404-mid-dark-bg) */
}

.etea-modal-table td { 
    border-bottom: 1px solid rgba(255,255,255,0.1); 
    padding: 8px; 
    color: #eee; 
    font-size: 0.9em; 
}

.etea-modal-table tr.clickable-row { 
    cursor: pointer; 
    transition: background 0.2s; 
}

.etea-modal-table tr.clickable-row:hover { 
    background: rgba(255,255,255,0.1); 
}

.etea-val-pos { color: var(--stock404-neon-green); }
.etea-val-neg { color: var(--stock404-neon-red); }

.etea-modal-scroll-area { 
    max-height: 400px; 
    overflow-y: auto; 
    scrollbar-width: thin; 
    scrollbar-color: var(--stock404-neon-green) #333; 
}

/* 2. Barre Correct/Incorrect */
.etea-modal-predictions-row {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.etea-pred-box {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 0.9em;
}

.pred-correct {
    background: rgba(0, 255, 0, 0.1);
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-neon-green);
}

.pred-incorrect {
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid var(--stock404-neon-red);
    color: var(--stock404-neon-red);
}

.pred-val { font-size: 1.2em; }

.etea-modal-card {
    flex: 1;
    background: var(--stock404-mid-dark-bg);
    border: 1px solid var(--stock404-border-grey);
    border-radius: 6px;
    padding: 10px;
    text-align: center;
    cursor: pointer;
    transition: transform 0.2s;
}

.etea-modal-card:hover {
    transform: translateY(-2px);
    filter: brightness(1.2);
}

.card-best { border-top: 3px solid var(--stock404-neon-green); }
.card-worst { border-top: 3px solid var(--stock404-neon-red); }

.card-label {
    display: block;
    font-size: 0.75em;
    color: var(--stock404-text-subtle);
    text-transform: uppercase;
    margin-bottom: 5px;
}

.card-ticker {
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    color: #fff;
    margin-bottom: 2px;
}

.card-val { font-size: 0.9em; font-weight: bold; }
.card-best .card-val { color: var(--stock404-neon-green); }
.card-worst .card-val { color: var(--stock404-neon-red); }

/* --- NOUVEAUX STYLES : HIGHLIGHTS SECTION --- */

/* Le conteneur qui s'affiche/se cache selon la sélection */
.etea-highlights-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 25px; /* Espace avant le graphique */
    flex-wrap: wrap;
	margin-top: 50px; /* Espace avant le graphique */
}

/* La carte individuelle (Best / Worst) */
.etea-highlight-card {
    background: var(--stock404-mid-dark-bg, #2a2a2a);
    border: 1px solid var(--stock404-border-grey, #444);
    border-radius: 8px;
    padding: 15px;
    width: 200px;
    text-align: center;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.etea-highlight-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

/* Bordure colorée pour différencier Top/Flop */
.etea-highlight-green {
    border-top: 3px solid var(--stock404-neon-green, #00ff00);
}

.etea-highlight-red {
    border-top: 3px solid var(--stock404-neon-red, #ff0000);
}

/* Typographie interne */
.etea-hl-title {
    font-size: 0.75em;
    color: var(--stock404-text-subtle, #aaa);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.etea-hl-period {
    font-size: 0.9em;
    color: #fff;
    font-weight: bold;
    margin-bottom: 5px;
}

.etea-hl-value {
    font-size: 1.4em;
    font-weight: bold;
    color: #fff;
    margin-bottom: 2px;
}

.etea-highlight-green .etea-hl-value { color: var(--stock404-neon-green, #00ff00); }
.etea-highlight-red .etea-hl-value { color: var(--stock404-neon-red, #ff0000); }

.etea-hl-sub {
    font-size: 0.75em;
    color: var(--stock404-text-subtle, #888);
}

/* RESPONSIVE */
@media (max-width: 600px) {
    .etea-highlights-container {
        gap: 10px;
    }
    .etea-highlight-card {
        width: 45%; /* Cote à cote sur mobile */
        padding: 10px;
    }
    .etea-hl-value { font-size: 1.1em; }
}


/* RESPONSIVE */
@media (max-width: 768px) {
    .etea-sim-controls { flex-direction: column; }
    .etea-sim-bars-area { gap: 2px; }
    .etea-sim-x { font-size: 0.6em; bottom: -35px; transform: translateX(-50%) rotate(-45deg); }
}

/* --------------------------------------------------------------------------
   STYLES DES SOUS-MENUS (MEGA MENU CSS)
   -------------------------------------------------------------------------- */

/* Conteneur principal du sous-menu (Masqué par défaut) */
.etea-header-nav-list .etea-submenu {
    display: none;
    position: absolute; /* Défilement par-dessus le contenu */
    top: 100%; /* Juste en dessous de l'élément parent */
    left: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    min-width: 200px;
    background-color: var(--stock404-mid-dark-bg); /* Fond sombre */
    border: 1px solid var(--stock404-border-grey);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    z-index: 1001;
    flex-direction: column; 
	
    /* CORRECTION 1: Retirer les puces de liste */
    list-style: none;
    padding: 0;
    margin: 0;
    
    /* CORRECTION 2: Empilement vertical des LI */
    display: flex;
    flex-direction: column; 

}

/* Positionnement du menu pour qu'il s'ancre sur le LI parent */
.etea-header-nav-list .etea-nav-item {
    position: relative;
}

/* Règle d'affichage au survol (Desktop) */
.etea-header-nav-list .etea-nav-item.etea-has-submenu:hover > .etea-submenu {
    display: flex; /* Utiliser Flex pour que les LI s'empilent */
}

/* Styles des liens du sous-menu */
.etea-header-nav-list .etea-submenu li {
    padding: 0;
    width: 100%; /* S'assurer que le LI prend toute la largeur du sous-menu */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* Ligne de séparation */
}

.etea-header-nav-list .etea-submenu li:last-child {
    border-bottom: none;
}

.etea-header-nav-list .etea-submenu li a {
    display: block;
    padding: 8px 15px;
    color: var(--stock404-white); /* Utiliser le blanc par défaut */
    border-bottom: none !important; 
    white-space: nowrap;
}

.etea-header-nav-list .etea-submenu li a:hover {
    color: var(--stock404-neon-green);
    background-color: #333;
}

/* La flèche du sous-menu doit être masquée sur mobile (car le menu est vertical) */
.etea-header-nav-list .dropdown-arrow {
    font-size: 0.7em;
    margin-left: 5px;
    transition: transform 0.2s;
}

.etea-header-nav-list .etea-nav-item.etea-has-submenu:hover > a .dropdown-arrow {
    transform: rotate(180deg);
}

/* --------------------------------------------------------------------------
   STYLES DU BOUTON D'ACTION (LOG IN / LOG OUT)
   -------------------------------------------------------------------------- */

/* --- Styles de base du bouton (Desktop) --- */
.etea-header-standalone-action .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    white-space: nowrap; /* Empêche le texte de passer à la ligne */
    
    /* Couleurs par défaut (Ajustez selon votre thème) */
    background-color: var(--stock404-neon-green, #39ff14);
    color: #000;
    border: 1px solid transparent;
}

.etea-header-standalone-action .button:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

/* L'icône mobile est cachée sur PC */
.etea-icon-mobile {
    display: none;
}

/* --- RESPONSIVE : Tablettes et petits écrans (max 768px) --- */
@media screen and (max-width: 768px) {
    
    .etea-header-standalone-action .button {
        padding: 8px 12px; /* Réduit le padding */
        font-size: 13px;   /* Réduit légèrement la police */
    }

    /* On cache la partie "/ Register" pour gagner de la place */
    .etea-text-desktop-only {
        display: none;
    }
}

/* --- RESPONSIVE : Très petits mobiles (max 480px) --- */
@media screen and (max-width: 480px) {
    
    .etea-header-standalone-action .button {
        padding: 6px 10px;
        font-size: 12px;
    }
    
    /* Optionnel : Si vous voulez juste une icône sur mobile */
    /* Décommentez les lignes ci-dessous pour n'afficher que l'icône */
    /*
    .etea-text-main { display: none; }
    .etea-icon-mobile { display: inline-block; font-size: 16px; }
    */
}


/* Conteneur des actions (pour aligner Log In/Out) */
.etea-nav-action-wrapper {
    display: flex;
    align-items: center; 
    height: 38px; /* Hauteur identique à la barre de recherche */
    margin: 0;
    padding: 0;
    flex-shrink: 0;
}

/* Style général des boutons d'action */
.etea-nav-action-link {
    text-decoration: none !important;
    border: none !important;
    padding: 8px 15px !important;
    font-size: 0.9em !important;
    font-weight: bold;
    border-radius: 4px;
    text-transform: uppercase;
    box-sizing: border-box; 
    
    /* Hauteur fixe pour forcer l'alignement */
    line-height: 22px; /* Ajuster la ligne de hauteur (38px - 16px de padding vertical = 22px) */
    
    transition: transform 0.2s, background-color 0.2s, box-shadow 0.2s;
}

/* Styles pour le bouton Log Out (Connecté) */
.etea-nav-logout-btn {
    background-color: var(--stock404-mid-dark-bg) !important;
    color: var(--stock404-neon-green) !important; 
    border: 1px solid var(--stock404-neon-green) !important;
    box-shadow: var(--stock404-shadow-neon); 
}

.etea-nav-logout-btn:hover {
    color: var(--stock404-dark-bg) !important;
    background-color: var(--stock404-neon-green) !important;
    transform: translateY(-1px) scale(1.02); 
    box-shadow: 0 2px 15px rgba(153, 255, 0, 0.8);
}

/* Styles pour le bouton Log In (Déconnecté) */
.etea-nav-login-btn {
    background-color: var(--stock404-neon-green) !important;
    color: var(--stock404-dark-bg) !important;
    border: 1px solid var(--stock404-neon-green) !important;
    box-shadow: 0 0 10px rgba(153, 255, 0, 0.5); /* Ombre néon initiale */
}

.etea-nav-login-btn:hover {
    background-color: #66ff66 !important; /* Couleur plus claire au survol */
    transform: translateY(-1px) scale(1.02); /* Petit effet de levage/agrandissement */
    box-shadow: 0 2px 15px rgba(153, 255, 0, 0.8); /* Ombre plus intense */
}


/* --------------------------------------------------------------------------
   STYLES DU MENU HAMBURGER (etea-menu-toggle)
   -------------------------------------------------------------------------- */

.etea-menu-toggle {
    display: none; /* CACHÉ PAR DÉFAUT SUR DESKTOP */
    width: 30px;
    height: 25px;
    position: relative;
    cursor: pointer;
    z-index: 1000;
    /* Ajustement pour que le bouton soit en position de départ sur mobile */
}

/* Styles des barres (inchangés) */
.etea-menu-toggle span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: var(--stock404-neon-green);
    border-radius: 9px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

.etea-menu-toggle span:nth-child(1) {
    top: 0px;  /* Barre du haut */
}

.etea-menu-toggle span:nth-child(2) {
    top: 11px; /* Barre du milieu (qui pivote) */
}

.etea-menu-toggle span:nth-child(3) {
    top: 22px; /* Barre du bas */
}

/* Animation "X" (Pour 3 SPANS) */
.etea-menu-toggle.active span:nth-child(1) {
    top: 11px; /* Amener la barre du haut au centre */
    transform: rotate(135deg); /* Rotation pour la première ligne de la croix */
}

.etea-menu-toggle.active span:nth-child(2) {
    opacity: 0; /* Masquer la barre du milieu */
    transform: translateX(-30px); /* Déplacer la barre hors de vue */
}

.etea-menu-toggle.active span:nth-child(3) {
    top: 11px; /* Amener la barre du bas au centre */
    transform: rotate(-135deg); /* Rotation pour la deuxième ligne de la croix */
}

/* --------------------------------------------------------------------------
   STYLES DE LA NAVIGATION D'ENTÊTE (Pour la complétude)
   -------------------------------------------------------------------------- */
.etea-header-nav {
    display: flex;
    align-items: center;
    /* Prend l'espace maximal entre le search bar et le bouton d'action */
    flex-grow: 1; 
    justify-content: flex-end; /* Pousse tout à droite (Desktop) */
    font-size: 0.85em;
    font-weight: 600;
}

.etea-header-actions {
    /* Conteneur des actions (Log Out + Hamburger) */
    display: flex;
    align-items: center;
    gap: 15px;
    margin-left: 20px; /* Espace entre les liens de navigation et les actions */
    flex-shrink: 0; /* Ne pas rétrécir */
}

.etea-header-nav-list {
    display: flex; 
    list-style: none;
    padding: 0;
    margin: 0;
    align-items: center;
    gap: 15px; 
    flex-grow: 1; 
    justify-content: flex-end; /* Aligner les liens à droite */
}

/* Bouton Hamburger (Visible sur mobile, caché sur desktop) */
.etea-menu-toggle {
    display: none; /* Caché par défaut sur Desktop */
    width: 30px;
    height: 25px;
    position: relative;
    cursor: pointer;
    z-index: 1000;
}

.etea-header-nav-list li.etea-nav-action {
    /* Pousse le bouton CTA/Logout tout à droite */
    margin-left: auto; 
}

.etea-header-nav-list a {
    color: var(--stock404-white);
    text-decoration: none;
    padding: 5px 0;
    transition: color 0.2s, border-bottom 0.2s;
    white-space: nowrap;
}

.etea-header-nav-list a:hover {
    color: var(--stock404-neon-green);
    border-bottom: 1px solid var(--stock404-neon-green);
}

/* Masquer les liens non pertinents pour l'état (Free/Premium) */
.etea-header-nav-list.etea-nav-non-member .etea-nav-search_premium,
.etea-header-nav-list.etea-nav-non-member .etea-nav-bubble_map,
.etea-header-nav-list.etea-nav-non-member .etea-nav-group,
.etea-header-nav-list.etea-nav-non-member .etea-nav-news,
.etea-header-nav-list.etea-nav-non-member .etea-nav-screener {
    display: none;
}
.etea-header-nav-list.etea-nav-member .etea-nav-search_free {
    display: none;
}

/* --------------------------------------------------------------------------
   STYLES DU SOUS-MENU (Finalisation du Clic)
   -------------------------------------------------------------------------- */
@media (min-width: 769px) { /* Appliquer le HOVER uniquement sur Desktop */
    .etea-header-nav-list .etea-nav-item.etea-has-submenu:hover > .etea-submenu {
        display: flex; /* Affichage au survol */
    }
    
    .etea-header-nav-list .etea-submenu {
        display: none; /* Masquer par défaut sur Desktop */
    }
}


/* ==========================================================================
   TOP PERFORMERS STYLES (Style Portfolio)
   ========================================================================== */

.etea-top-performers-wrapper {
    margin-bottom: 40px;
    background-color: var(--stock404-dark-bg, #1a1a1a);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid var(--stock404-border-grey, #444);
}

/* --- 1. BOUTONS (Même style que Portfolio) --- */
.etea-top-performers-wrapper .etea-sim-controls {
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
    background: transparent;
    border: none;
    padding: 0;
}

.etea-top-performers-wrapper .etea-btn-group {
    display: flex;
    background: var(--stock404-mid-dark-bg, #2a2a2a);
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid var(--stock404-border-grey, #444);
}

.etea-top-performers-wrapper .etea-btn {
    background: transparent;
    border: none;
    color: var(--stock404-text-subtle, #aaa);
    padding: 10px 20px;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 0.9em;
    font-weight: 500;
}

.etea-top-performers-wrapper .etea-btn:hover {
    background: rgba(255,255,255,0.05);
    color: #fff;
}

.etea-top-performers-wrapper .etea-btn.active {
    background: var(--stock404-neon-green, #00ff00);
    color: #000; /* Texte noir sur fond vert néon */
    font-weight: bold;
    box-shadow: 0 0 10px rgba(0, 255, 0, 0.2);
}

/* Description Text */
.etea-desc-text {
    text-align: center;
    color: var(--stock404-text-subtle, #aaa);
    font-style: italic;
    margin-bottom: 20px;
    font-size: 0.9em;
}

/* --- 2. TABLEAU (Style "Portfolio Details") --- */
.etea-dark-table {
    background-color: var(--stock404-mid-dark-bg, #2a2a2a) !important;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--stock404-border-grey, #444);
    border-collapse: collapse; /* Important pour les bordures */
    width: 100%;
}

.etea-dark-table thead th {
    background-color: var(--stock404-dark-bg, #111);
    color: var(--stock404-neon-green, #00ff00); /* En-tête vert néon */
    border-bottom: 1px solid var(--stock404-border-grey, #444);
    font-weight: bold;
    padding: 15px;
    text-transform: uppercase;
    font-size: 0.85em;
    text-align: left;
}

/* --- INTERACTIVITÉ LIGNE (Curseur Main) --- */
.etea-dark-table tbody tr {
    transition: background-color 0.2s, transform 0.1s;
    cursor: pointer !important; /* FORCE LE CURSEUR MAIN */
}

.etea-dark-table tbody tr:nth-child(even) {
    background-color: rgba(255,255,255,0.02);
}

/* Effet au survol de la ligne */
.etea-dark-table tbody tr:hover {
    background-color: rgba(255,255,255,0.08) !important;
    transform: translateX(5px); /* Petit effet de mouvement */
}

.etea-dark-table td {
    border-bottom: 1px solid rgba(255,255,255,0.05);
    color: var(--stock404-white, #fff);
    vertical-align: middle;
    padding: 12px 15px;
    font-size: 0.95em;
}

/* --- ÉLÉMENTS VISUELS --- */

/* Cercle de Rang (#1, #2...) */
.etea-rank {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    font-size: 0.8em;
    font-weight: bold;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.2);
}

/* Top 3 en couleur (Optionnel) */
.etea-dark-table tbody tr:nth-child(1) .etea-rank { background: #FFD700; color: #000; border-color: #FFD700; } /* Or */
.etea-dark-table tbody tr:nth-child(2) .etea-rank { background: #C0C0C0; color: #000; border-color: #C0C0C0; } /* Argent */
.etea-dark-table tbody tr:nth-child(3) .etea-rank { background: #CD7F32; color: #000; border-color: #CD7F32; } /* Bronze */

/* Nom du Ticker */
.etea-ticker-name {
    color: var(--stock404-neon-green, #00ff00);
    font-weight: bold;
    font-size: 1.1em;
    text-decoration: underline; 
    text-decoration-color: rgba(0, 255, 0, 0.3);
}

.etea-dark-table tbody tr:hover .etea-ticker-name {
    color: #fff;
}

/* Couleurs de valeurs */

.etea-no-data {
    text-align: center;
    padding: 30px;
    color: var(--stock404-text-subtle, #888);
    background: rgba(255,255,255,0.02);
    border-radius: 4px;
    font-style: italic;
}

/* ==========================================================================
   STYLES DU SHORTCODE DE MENU BOURSE (MARKET DATA MENU)
   ========================================================================== */

/* --------------------------------------------------------------------------
   CORRECTION : MISE EN ÉVIDENCE DES ÉLÉMENTS CLIQUABLES
   -------------------------------------------------------------------------- */

/* Style des liens de Ticker (Top Performers) et d'Upcoming Events */
.etea-ticker-performance-link,
.etea-ticker-events-link {
    color: var(--stock404-white); /* Couleur du texte par défaut */
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.2s;
    
    /* Indication subtile de lien pour les liens de données */
    border-bottom: 1px dotted rgba(255, 255, 255, 0.4); 
}

/* Style de survol: Néon vert sur le texte et suppression du soulignement pointillé */
.etea-ticker-performance-link:hover,
.etea-ticker-events-link:hover {
    color: var(--stock404-neon-green) !important;
    border-bottom: 1px solid var(--stock404-neon-green);
    cursor: pointer;
}


.etea-market-data-menu {
    background-color: #111; /* Fond noir profond */
    border-bottom: 1px solid #333;
    color: #eee;
    font-family: monospace; /* Police style terminal/bourse */
    font-size: 0.85em;
    height: 40px; /* Hauteur fixe */
    overflow: hidden; /* Cache ce qui dépasse */
    position: relative;
    width: 100%;
    z-index: 100;
}

.etea-market-data-list {
    display: flex;
    list-style: none;
    padding: 0 10px;
    margin: 0;
    align-items: center;
    flex-wrap: nowrap;
    overflow-x: auto; /* Permettre le défilement sur les très petits écrans */
}

.etea-market-item {
    display: flex;
    align-items: center;
    padding: 0 10px;
    white-space: nowrap; /* Empêcher la rupture de ligne */
}

.etea-market-separator {
    color: #444;
    padding: 0;
}

.etea-market-item a {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.etea-market-item a:hover {
    color: var(--stock404-neon-green);
}

.etea-item-name {
    margin-right: 5px;
    color: #aaaaaa; /* Nom en gris */
}

.etea-item-value {
    font-weight: bold;
    margin-right: 5px;
    color: #efefef;
}

/* Styles des indicateurs de changement */
.etea-item-change {
    font-weight: bold;
}

.etea-bullish .etea-item-change,
.etea-market-sentiment .etea-bullish {
    color: var(--stock404-neon-green);
}

.etea-bearish .etea-item-change,
.etea-market-sentiment .etea-bearish {
    color: var(--stock404-neon-red);
}

/* --------------------------------------------------------------------------
   STYLES DU DÉFILEMENT (TICKER TAPE)
   -------------------------------------------------------------------------- */

.etea-ticker-tape-display-wrapper {
    height: 100%;
    display: flex;
    align-items: center;
    width: 100%;
}


/* Le conteneur qui bouge (Animation) */
.etea-ticker-move {
    display: flex;
    align-items: center;
    white-space: nowrap; /* Empêche le retour à la ligne */
    
    /* L'animation : 120s pour faire un tour complet, linéaire, infini */
    animation: ticker-scroll 120s linear infinite; 
}

/* PAUSE AU SURVOL (Important pour pouvoir cliquer) */
.etea-ticker-move:hover {
    animation-play-state: paused;
}

/* DÉFINITION DE L'ANIMATION */
@keyframes ticker-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        /* On déplace de 50% car on a dupliqué le contenu par 2 en JS */
        /* Quand la première moitié est passée, on revient instantanément à 0 */
        transform: translateX(-50%); 
    }
}

/* Cache scrollbar Chrome/Safari */
.etea-ticker-tape-display-wrapper::-webkit-scrollbar { display: none; }

.etea-tape-item {
    display: inline-flex;
    align-items: center;
    padding: 0 15px; /* Espacement entre les éléments */
    text-decoration: none;
    color: inherit;
    border-right: 1px solid #222; /* Petit séparateur discret */
}

.etea-tape-item:last-child {
    border-right: none;
}

.etea-tape-section-title {
    color: #888;
    text-transform: uppercase;
    font-size: 0.8em;
    margin-left: 15px;
    margin-right: 5px;
    font-weight: bold;
}

.etea-premium-title { color: #ffcc00; /* Or pour le premium */ }
.etea-tape-sep { color: #444; margin: 0 5px; }

/* Liens Tickers */
.etea-tape-ticker .ticker { font-weight: bold; color: #fff; margin-right: 5px; }
.etea-tape-ticker:hover .ticker { text-decoration: underline; color: var(--stock404-neon-green, #00ff00); }

.etea-tape-upcoming { color: #aaa; font-weight: bold; }
.etea-tape-upcoming:hover { color: #fff; }

/* Couleurs et Icones */
.etea-tape-status .etea-icon { font-size: 0.8em; margin-right: 5px; }
.etea-tape-sentiment .bullish { color: var(--stock404-neon-green, #00ff00); margin: 0 5px; }
.etea-tape-sentiment .bearish { color: var(--stock404-neon-red, #ff0000); }


/* La liste réelle qui se déplace */
.etea-ticker-tape-content {
    display: flex;
    list-style: none;
    padding: 0 10px;
    margin: 0;
    align-items: center;
    flex-wrap: nowrap;
    /* Styles d'animation CSS (Doivent être synchronisés avec le JS) */
    animation: ticker-scroll linear infinite; 
    /* Le JS définit l'animation-duration */
}

/* Le conteneur de chaque donnée dans la liste */
.etea-ticker-tape-item {
    display: flex;
    align-items: center;
    padding: 0 10px;
    white-space: nowrap;
    flex-shrink: 0; /* Empêcher les éléments de se rétrécir */
}

.etea-ticker-separator {
    color: #444;
    padding: 0 5px;
    flex-shrink: 0;
}

/* Style pour les Champions dans le Ticker Tape */
.etea-tape-champion {
    border: 1px solid #FFD700;
    background: rgba(255, 215, 0, 0.1);
    border-radius: 4px;
}
.etea-tape-champion:hover {
    background: rgba(255, 215, 0, 0.2);
}

.etea-tape-champion .ticker {
    color: #FFD700;
}
.etea-tape-champion .date {
    font-size: 0.8em;
    color: #aaa;
    margin-left: 8px;
}

/* ==========================================================================
   FOOTER PERSONNALISÉ (STOCK 404 - DARK MODE)
   ========================================================================== */

/* --- Conteneur Principal --- */
.etea-custom-footer-container {
    background-color: #0d0d0d; /* Noir profond mais pas absolu */
    color: #b0b0b0;            /* Texte gris clair pour la lisibilité */
    border-top: 1px solid #333;
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    margin-top: 60px; /* Espace avec le contenu précédent */
    width: 100%;
    position: relative;
    z-index: 10;
}

/* --- Barre de Statut (Top) --- */
.etea-footer-status-bar {
    background-color: #000000;
    border-bottom: 1px solid #1f1f1f;
    padding: 10px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Courier New', monospace; /* Style terminal financier */
    font-size: 0.85em;
    letter-spacing: 0.5px;
}

.etea-market-indicator {
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
}

.etea-market-indicator .dot {
    font-size: 1.2em;
    line-height: 1;
}

/* Couleurs de statut */
.status-open { color: #39ff14; text-shadow: 0 0 5px rgba(57, 255, 20, 0.4); }
.status-open .dot { animation: etea-pulse-green 2s infinite; }

.status-closed { color: #ff4444; }
.status-neutral { color: #aaaaaa; }

.etea-server-time {
    color: #555;
    font-size: 0.9em;
}

/* --- Grille Principale --- */
.etea-footer-grid {
    display: grid;
    /* 4 colonnes : Branding (Large) | Nav | Legal | CTA (Moyen) */
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 40px;
    padding: 60px 5%;
    max-width: 1400px;
    margin: 0 auto;
}

/* --- Colonne 1: Branding --- */
.etea-footer-logo {
    color: #fff;
    font-size: 1.8em;
    font-weight: 900;
    margin: 0 0 20px 0;
    letter-spacing: -1px;
    text-transform: uppercase;
}

.etea-footer-logo .highlight {
    color: #39ff14;
}

.etea-footer-desc {
    color: #888;
    font-size: 0.95em;
    margin-bottom: 25px;
    max-width: 300px;
}

.etea-social-links {
    display: flex;
    gap: 15px;
}

.etea-social-links a {
    color: #fff;
    font-size: 1.2em;
    text-decoration: none;
    transition: all 0.3s ease;
    opacity: 0.7;
}

.etea-social-links a:hover {
    color: #39ff14;
    opacity: 1;
    transform: translateY(-3px);
}

/* --- Colonnes 2 & 3: Navigation --- */
.etea-footer-heading {
    color: #fff;
    font-size: 1.1em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    margin-top: 0;
    border-left: 3px solid #39ff14; /* Petit accent vert */
    padding-left: 10px;
}

.etea-footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.etea-footer-column ul li {
    margin-bottom: 12px;
}

.etea-footer-column ul li a {
    color: #b0b0b0;
    text-decoration: none;
    font-size: 0.95em;
    transition: all 0.2s ease;
    display: inline-block;
}

.etea-footer-column ul li a:hover {
    color: #39ff14;
    padding-left: 5px; /* Effet de glissement */
}

/* --- Colonne 4: Call to Action (CTA) --- */
.etea-col-cta {
    background: rgba(255, 255, 255, 0.05); /* Légèrement plus clair pour contraste */
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #333;
    /* Assure que le contenu reste dedans */
    box-sizing: border-box; 
    overflow: hidden;
}

.etea-col-cta .etea-footer-heading {
    border-left: none;
    padding-left: 0;
    color: #39ff14;
    margin-bottom: 15px;
}

.etea-cta-text {
    font-size: 0.9em;
    margin-bottom: 20px;
    color: #ccc;
    line-height: 1.5;
}

/* Bouton Néon (Correction dépassement) */
.etea-footer-btn.button {
    display: block;
    width: 100%;
    /* CRITIQUE : Empêche le padding d'ajouter à la largeur totale */
    box-sizing: border-box; 
    max-width: 100%;
    
    text-align: center;
    background-color: #39ff14 !important;
    color: #000000 !important;
    
    /* Ajustement police pour texte long */
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.85em; /* Un peu plus petit pour que "Upgrade to Full Member" tienne */
    letter-spacing: 0.5px;
    
    padding: 15px 10px; /* Padding ajusté */
    border: none;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 0 15px rgba(57, 255, 20, 0.2);
    transition: all 0.3s ease;
    text-decoration: none;
    white-space: normal; /* Permet le retour à la ligne si vraiment trop petit */
    line-height: 1.2;
}

.etea-footer-btn.button:hover {
    background-color: #32cd11 !important;
    box-shadow: 0 0 25px rgba(57, 255, 20, 0.5);
    transform: translateY(-2px);
    color: #000 !important;
}

/* --- Copyright (Bas) --- */
.etea-footer-bottom {
    background-color: #000000;
    border-top: 1px solid #1f1f1f;
    padding: 25px 5%;
    text-align: center;
    font-size: 0.8em;
    color: #555;
}

/* --- Animation --- */
@keyframes etea-pulse-green {
    0% { opacity: 1; text-shadow: 0 0 5px #39ff14; }
    50% { opacity: 0.5; text-shadow: none; }
    100% { opacity: 1; text-shadow: 0 0 5px #39ff14; }
}

/* --- BARRE DE STATUT MARCHÉS --- */
.etea-footer-status-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 15px;
}

.etea-markets-list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.etea-market-indicator {
    font-size: 0.85em;
    font-family: monospace; /* Look Terminal */
    display: inline-flex;
    align-items: center;
    font-weight: 500;
}

.etea-market-indicator .dot {
    font-size: 1.4em;
    margin-right: 6px;
    line-height: 0.8;
}

/* État OUVERT : Vert */
.status-open {
    color: var(--stock404-neon-green, #00ff00);
}
.status-open .dot {
    color: var(--stock404-neon-green, #00ff00);
    text-shadow: 0 0 5px rgba(0, 255, 0, 0.6);
    animation: etea-pulse 2s infinite;
}

/* État FERMÉ : Rouge (Comme demandé) */
.status-closed {
    color: var(--stock404-neon-red, #ff4444); /* Texte Rouge */
    opacity: 0.8;
}
.status-closed .dot {
    color: var(--stock404-neon-red, #ff4444);
}

.etea-server-time {
    font-size: 0.8em;
    color: var(--stock404-text-subtle, #666);
    font-family: monospace;
}

@keyframes etea-pulse {
    0% { opacity: 0.5; }
    50% { opacity: 1; }
    100% { opacity: 0.5; }
}


/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */

/* Tablette (Passage à 2 colonnes) */
@media (max-width: 992px) {
    .etea-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    
    .etea-col-brand { grid-column: span 2; text-align: center; }
    .etea-col-brand .etea-footer-desc { margin: 0 auto 20px auto; }
    .etea-social-links { justify-content: center; }
    .etea-col-cta { grid-column: span 2; margin-top: 20px; }
}

/* Mobile (Passage à 1 colonne) */
@media (max-width: 600px) {
    .etea-footer-grid {
        grid-template-columns: 1fr;
        padding: 40px 5%;
        text-align: center;
        gap: 40px;
    }

    .etea-footer-heading {
        border-left: none; /* Enlève la barre verte sur mobile */
        padding-left: 0;
    }

    .etea-footer-status-bar {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }

    .etea-col-brand, .etea-col-nav, .etea-col-legal, .etea-col-cta {
        grid-column: span 1;
    }
	
    .etea-markets-list {
        gap: 10px;
        font-size: 0.9em;
    }
}

/* ==========================================================================
   STYLES DU SHORTCODE DE RECHERCHE GLOBALE (HEADER)
   ========================================================================== */

.etea-global-search-form {
    display: flex;
    align-items: center;
    gap: 0;    
    /* Couleurs inspirées de votre image */
    background-color: var(--etea-search-bg); 
    border: 1px solid var(--etea-search-border); 
    border-radius: 4px;
    padding: 0; 
    height: 40px; 
    overflow: hidden; 
    width: 300px; 
}

.etea-global-search-input {
    flex-grow: 1;
    border: none;
    background: transparent;
    color: var(--etea-search-text); 
    padding: 8px 12px;
    outline: none; 
    height: 100%;
    box-sizing: border-box;
}

.etea-global-search-input::placeholder {
    color: #aaaaaa;
}

.etea-global-search-button {
    /* Bouton vert néon */
    background-color: var(--stock404-neon-green);
    color: var(--stock404-dark-grey); /* Texte sombre sur néon */
    border: none;
    padding: 0 15px;
    height: 100%;
    font-weight: bold;
    font-size: 14px;
    cursor: pointer;
    flex-shrink: 0; 
    text-transform: uppercase;
}

/* NOUVEAU: Style spécifique pour le titre dynamique du search premium */

.etea-dynamic-title {
    color: var(--stock404-neon-green); 
    border-bottom: 2px solid var(--stock404-neon-green); 
    padding-bottom: 12px;
    margin-bottom: 25px;
    font-size: 2.2em; 
    font-weight: 700; 
    text-shadow: var(--neon-glow-small);
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    z-index: 1;
    /* Transition pour le changement de titre */
    transition: opacity 0.5s ease-in-out; 
}

.etea-analysis-container h3 {
    color: var(--stock404-neon-green); /* Sous-titres en Néon Vert */
    margin-top: 35px;
    margin-bottom: 18px;
    font-size: 1.8em;
    font-weight: 600;
    text-shadow: 0 0 4px rgba(187, 255, 0, 0.6); /* Lueur plus forte */
    position: relative;
    z-index: 1;
}

.etea-analysis-container h4 {
    color: var(--stock404-white); /* Petits titres en blanc pour le contraste */
    margin-top: 25px;
    margin-bottom: 12px;
    font-size: 1.4em;
    font-weight: 500;
    border-left: 3px solid var(--stock404-light-grey);
    padding-left: 10px;
    position: relative;
    z-index: 1;
}

.etea-analysis-container p {
    color: var(--stock404-white);
    font-size: 1em; /* Légèrement plus grand */
    margin-bottom: 12px;
    position: relative;
    z-index: 1;
}

/* Individual analysis cards */
.etea-card {
    background-color: var(--stock404-medium-grey); /* Slightly lighter dark grey */
    border: 1px solid var(--stock404-border-grey); 
    border-radius: 8px; /* Plus arrondi */
    padding: 20px;
    margin-bottom: 18px;
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.6); /* Ombre interne */
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.etea-card:hover {
    transform: translateY(-4px); /* Mouvement plus prononcé */
    box-shadow: var(--neon-glow-small); /* Lueur subtile néon sur la carte */
    border-color: var(--stock404-neon-green); 
}

.etea-card p {
    margin: 8px 0;
    font-size: 0.95em;
    color: var(--stock404-white);
}

.etea-card strong {
    color: var(--stock404-neon-green); /* Make strong text stand out */
}


/* Grouped performance charts */

.etea-group-performance-section {
    padding: 20px;	
    border: 1px solid var(--stock404-neon-green);
    background-color: var(--stock404-medium-grey);
    margin-top: 20px;
    border-radius: 8px;
}

.etea-title-main {
    color: #00ff00; /* Vert néon pour le titre principal */
    border-bottom: 2px solid #333;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.etea-group-performance-chart {
    margin-top: 20px;
    padding: 10px 0;
    border-top: 1px solid #444;
}


.etea-group-performance-chart h4 {
    border-bottom: 1px dashed var(--stock404-light-grey);
    padding-bottom: 8px;
    margin-bottom: 15px;
    color: var(--stock404-neon-green);
    text-shadow: 0 0 3px rgba(187, 255, 0, 0.3);
    font-size: 1.2em;	
}

.etea-group-performance-chart .etea-hidden-row {
    display: none !important;
}

.etea-group-bar-container {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    font-size: 14px;
}

.etea-group-bar-label {
    flex-basis: 30%; /* Donner plus d'espace aux noms des industries */
    padding-right: 15px;
    color: #fff;
    font-weight: normal;
    font-size: 13px;
    min-width: 120px;
}

.etea-group-bar-wrapper {
    flex-basis: 70%;
    position: relative;
    height: 16px;
    background-color: #2b2b2b; /* Fond du conteneur de barre (gris foncé) */
    border: 1px solid #444;
    border-radius: 4px;
    overflow: visible; /* La valeur en % peut dépasser */
    cursor: pointer; 
}

/* Valeur du Pourcentage au-dessus de la barre (positionnement) */
.etea-group-bar-value {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    font-weight: bold;
    font-size: 12px;
    padding: 0 5px;
	white-space: nowrap; /* Empêche la valeur de s'enrouler */
}

.etea-hidden-row {
    display: none;
}

.etea-show-more-button {
    display: block;
    margin: 20px auto;
    cursor: pointer;
}

.etea-group-bar {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 3;
    transition: width 0.3s ease, background-color 0.3s ease;
    border-radius: 4px; /* Coins arrondis */
}

.etea-group-bar.positive {
    background-color: var(--color-bullish);
}

.etea-group-bar.negative {
    background-color: var(--color-bearish);
}

/* Ligne centrale Zéro */
.etea-group-bar-zero-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background-color: #666; 
    z-index: 5;
    transform: translateX(-50%);
}

/* Positionnement du texte de la valeur */
.etea-group-bar-value.positive {
    color: #00ff00;
	right: 50%;
}

.etea-group-bar-value.negative {
    color: #ff3333;
    left: 50%;
}

/* --- Styles des Boutons Show/Hide All --- */
.etea-show-all-button {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    cursor: pointer;
    background-color: #00ff00;
    color: #000;
    font-weight: bold;
    border: none;
    border-radius: 4px;
    transition: background-color 0.3s, transform 0.1s;
}

.etea-show-all-button:hover {
    background-color: #99ff99;
    transform: translateY(-1px);
}

.etea-hidden-row {
    display: none;
}

/* --- Styles pour la Modale de Groupe --- */
/* Réutiliser le style .etea-heatmap-modal / .etea-modal-content */
.etea-group-gap-positive { color: #00ff00; font-weight: bold; }
.etea-group-gap-negative { color: #ff6666; font-weight: bold; }

.etea-modal-content strong {
    color: #00ff00;
}

/* --------------------------------------------------------------------------
   STYLES DU SHORTCODE DE HEATMAP (CONFORME À LA GRILLE DYNAMIQUE PHP)
   -------------------------------------------------------------------------- */

.etea-heatmap-grid {
    /* Grille principale : auto (Label) + repeat(N, 1fr) (Jours) */
    display: grid;
    /* Le PHP injecte l'attribut style="grid-template-columns: auto repeat(N, 1fr);" */
    gap: 1px; 
    margin-top: 20px;
    background-color: var(--stock404-dark-grey); 
    border: 1px solid var(--stock404-border-grey);
    border-radius: 6px;
    padding: 0; 
    overflow-x: auto; 
    width: 100%;
}


/* --------------------------------------------------------------------------
   STYLES DES CELLULES DE BASE
   -------------------------------------------------------------------------- */

.etea-heatmap-cell {
    padding: 6px;
    border-radius: 0; 
    text-align: center;
    font-weight: bold;
    color: var(--stock404-white);
    background-color: var(--stock404-dark-grey);
    border: 1px solid var(--stock404-border-grey); 
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 35px;
    font-size: 0.8em;
    cursor: pointer; /* Indiquer l'interactivité */
}

/* Style des Labels de direction (Bullish/Bearish - Première colonne) */
.etea-heatmap-label {
    background-color: var(--stock404-medium-grey); /* Fond des labels */
    color: var(--stock404-neon-green);
    text-align: left;
    font-size: 0.85em;
    justify-content: flex-start;
    padding-left: 10px;
    font-weight: 600;
    border: 1px solid var(--stock404-border-grey);
    border-top: none;
    cursor: default;
}


/* --------------------------------------------------------------------------
   STYLES DES EN-TÊTES (ALIGNEÉS SUR LA GRILLE)
   -------------------------------------------------------------------------- */

/* Les lignes d'en-tête de jour et de semaine doivent s'étendre sur la grille entière */
.etea-heatmap-header-row {
    display: contents; /* Les enfants participent directement à la grille de 1+N colonnes */
}

/* En-tête de Semaine (ROW 1 - Prend N colonnes) */
.etea-heatmap-week-header {
    background-color: var(--stock404-medium-grey);
    color: var(--stock404-neon-green);
    padding: 5px;
    font-size: 0.75em;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border: 1px solid var(--stock404-border-grey);
    border-radius: 0;
    text-align: center;
    /* grid-column-end: span N; est injecté par PHP */
    grid-column-start: 2; /* Démarrer après la colonne du Label "Week" */
}

/* En-tête de Jour (ROW 2) */
.etea-heatmap-day-header {
    background-color: var(--stock404-dark-grey);
    color: var(--stock404-white);
    font-size: 0.75em;
    padding: 6px;
    border: 1px solid var(--stock404-border-grey);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --------------------------------------------------------------------------
   STYLES SPÉCIFIQUES AUX LABELS IRREGULIERS
   -------------------------------------------------------------------------- */

/* Le label "Week" de la première cellule (ROW 1, COL 1) doit s'étendre sur 2 colonnes (Label + 1 jour) */
.etea-heatmap-grid > .etea-heatmap-label-week {
    grid-column: span 2; 
    text-align: center;
}

/* La cellule vide (ROW 2, COL 1) */
.etea-heatmap-grid > .etea-label-day {
    grid-column: 1 / 2; /* S'assurer qu'elle ne prend qu'une colonne */
    border-top: none;
}


/* --------------------------------------------------------------------------
   STYLES DE LA MODALE ET DU TOOLTIP (Nettoyés)
   -------------------------------------------------------------------------- */

.etea-heatmap-modal {
    position: fixed; 
    z-index: 10000; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: rgba(0,0,0,0.7); 
    padding-top: 50px; 
}

.etea-modal-content {
    background-color: #212121; 
    color: #fff;
    margin: 5% auto; 
    padding: 20px;
    border: 1px solid #444;
    width: 80%; 
    max-width: 600px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5);
}

.etea-modal-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.etea-modal-content strong,
.etea-group-gap-positive,
.etea-multi-match-list a:hover {
    color: var(--stock404-neon-green);
}

.etea-group-gap-negative { 
    color: var(--stock404-neon-red); 
}

/* ==========================================================================
   CORRECTION COULEURS MODALE (Liste Tickers)
   ========================================================================== */

/* Force la couleur Rouge pour les perdants dans la liste de la modale */
.etea-modal-content .etea-modal-table strong.etea-val-neg {
    color: var(--stock404-neon-red, #ff0000) !important;
}

/* Force la couleur Verte pour les gagnants dans la liste de la modale */
.etea-modal-content .etea-modal-table strong.etea-val-pos {
    color: var(--stock404-neon-green, #00ff00) !important;
}

/* Assure que les badges gardent leur couleur spécifique et ne soient pas écrasés */
.etea-modal-content .etea-perf-badge {
    color: #000 !important; /* Le texte des badges (or/argent) doit rester noir */
}

/* Style de la liste des Tickers */
.etea-multi-match-list {
    list-style-type: none;
    padding: 0;
}

.etea-multi-match-list li {
    padding: 10px 0;
    border-bottom: 1px solid #333;
}

.etea-multi-match-list a {
    display: block;
    color: #fff;
    text-decoration: none;
}

.etea-multi-match-list a:hover {
    color: #00ff00; /* Couleur néon/vert clair au survol */
}

.etea-details-confidence {
    font-style: italic;
    margin-left: 10px;
}

/* Heatmap intensity classes for Bullish */
.ete-heatmap-cell-bullish-1 {
    background-color: rgba(0, 204, 0, 0.2);
    border-color: var(--color-bullish);
}

.ete-heatmap-cell-bullish-2 {
    background-color: rgba(0, 204, 0, 0.4);
    border-color: var(--color-bullish);
}

.ete-heatmap-cell-bullish-3 {
    background-color: rgba(0, 204, 0, 0.6);
    border-color: var(--color-bullish);
}

.ete-heatmap-cell-bullish-4 {
    background-color: rgba(0, 204, 0, 0.8);
    border-color: var(--color-bullish);
}

/* Heatmap intensity classes for Bearish */
.ete-heatmap-cell-bearish-1 {
    background-color: rgba(255, 51, 51, 0.2);
    border-color: var(--color-bearish);
}

.ete-heatmap-cell-bearish-2 {
    background-color: rgba(255, 51, 51, 0.4);
    border-color: var(--color-bearish);
}

.ete-heatmap-cell-bearish-3 {
    background-color: rgba(255, 51, 51, 0.6);
    border-color: var(--color-bearish);
}

.ete-heatmap-cell-bearish-4 {
    background-color: rgba(255, 51, 51, 0.8);
    border-color: var(--color-bearish);
}

/* --- CLASSES POUR LA RECHERCHE ET LE CALENDRIER ÉPHÉMÈRE --- */

/* NOUVEAUTÉ: Style de la barre de recherche Premium */
.etea-search-premium-section .etea-premium-search-form {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    border: 1px solid var(--stock404-neon-green); /* Bordure Néon */
    border-radius: 6px;
    padding: 8px;
    background-color: var(--stock404-medium-grey);
    box-shadow: var(--neon-glow-small);
}

.etea-premium-search-form input[type="text"] {
    flex-grow: 1;
    background-color: var(--stock404-dark-grey);
    border: 1px solid var(--stock404-light-grey);
    color: var(--stock404-neon-green);
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 1.1em;
    font-family: 'Share Tech Mono', monospace;
    box-shadow: inset 0 0 5px rgba(187, 255, 0, 0.2); /* Lueur interne */
    transition: all 0.2s ease-in-out;
}

.etea-premium-search-form input[type="text"]:focus {
    border-color: var(--stock404-neon-green);
    box-shadow: inset 0 0 8px rgba(187, 255, 0, 0.4);
    outline: none;
}

.etea-premium-search-form .button-primary {
    /* Style du bouton Néon de base (similaire au premium) */
    background-color: var(--stock404-neon-green);
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-dark-grey);
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 0 8px rgba(187, 255, 0, 0.6); /* Lueur */
    text-transform: uppercase;
}

/* Conteneur de la carte de résultat de recherche gratuite/premium */
.etea-card.ete-search-result-card {
    /* Style spécifique pour différencier la carte de recherche des autres cartes */
    border: 2px solid var(--color-info); /* Bordure info pour attirer l'attention */
    background-color: var(--stock404-medium-grey);
    padding: 25px;
}

/* ---------------------------------------------------------------------- */
/* MISE À JOUR : Style du Calendrier Éphémère (Passage au style "Event Card") */
/* ---------------------------------------------------------------------- */


/* Conteneur pour le scroll horizontal */
.etea-calendar-scroll-container {
    position: relative;
    padding: 0 30px; /* Espace pour les flèches */
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5); /* Ombre pour souligner le défilement */
    border-radius: 8px;
}

/* Le conteneur qui affichera les cartes d'événement (simule une liste / carrousel) */
.etea-calendar-event-cards {
    display: flex;
    overflow-x: auto; /* Permet le défilement horizontal */
    gap: 15px;
    padding: 10px 0;
    -webkit-overflow-scrolling: touch; /* Améliore le défilement sur iOS */
    overflow-x: auto; /* Permet le défilement */
    padding-bottom: 10px; /* Pour un peu de confort */
}
/* --- NOUVEAUTÉ : Personnalisation de la barre de défilement Néon --- */

/* 1. Firefox (Standard CSS) */
.etea-calendar-event-cards {
    
    /* Assurez-vous que les autres propriétés de scroll sont là: */
    overflow-x: auto; 
    padding-bottom: 10px; /* Espace pour la barre */
}

/* 2. Webkit (Chrome, Safari) - Utilisation des pseudo-éléments */

/* La piste (la zone où se déplace le bouton) */
.etea-calendar-event-cards::-webkit-scrollbar {
    width: 10px; /* Épaisseur de la barre */
    height: 10px; /* Hauteur pour la barre horizontale */
    background-color: var(--stock404-dark-grey); /* Couleur de la piste (fond) */
}

/* Le bouton (la glissière) */
.etea-calendar-event-cards::-webkit-scrollbar-thumb {
    background-color: var(--stock404-neon-green); /* Couleur du bouton (Néon Vert) */
    border-radius: 5px; /* Arrondi */
    border: 1px solid var(--stock404-light-grey); /* Bordure légère */
    box-shadow: 0 0 5px rgba(187, 255, 0, 0.6); /* Lueur subtile */
}

/* État survolé (optionnel, pour accentuer la lueur) */
.etea-calendar-event-cards::-webkit-scrollbar-thumb:hover {
    background-color: var(--color-bullish); /* Vert plus vif */
    box-shadow: 0 0 8px rgba(0, 255, 0, 0.8); /* Lueur plus forte */
}

/* L'angle de coin (là où les barres verticale et horizontale se rejoignent) */
.etea-calendar-event-cards::-webkit-scrollbar-corner {
    background: var(--stock404-dark-grey);
}

/* --- NOUVEAUTÉ : Mise en évidence des Cartes d'Événement --- */

/* Rendre le lien à l'intérieur de la carte plus grand */
.etea-select-event {
    text-decoration: none;
    color: inherit;
    display: block; /* Rendre le lien en bloc pour englober la zone de clic */
    padding-top: 5px; /* Marge interne */
}

/* Mise en évidence de l'élément sélectionné */
.etea-event-card.etea-card-selected {
    border: 2px solid var(--color-info); /* Bordure bleue/info pour la sélection */
    box-shadow: 0 0 10px var(--color-info);
}

/* Flash de l'élément déplacé (pour attirer l'attention) */
.etea-analysis-carticle.etea-highlight-flash {
    background-color: rgba(187, 255, 0, 0.2); /* Fond semi-transparent néon */
    border: 2px solid var(--stock404-neon-green);
    box-shadow: 0 0 15px rgba(187, 255, 0, 0.8);
    animation: flash-highlight 1s ease-out;
}

@keyframes flash-highlight {
    0% {
        opacity: 0.5;
        transform: scaleY(0.95);
    }
    50% {
        opacity: 1;
        transform: scaleY(1.01);
    }
    100% {
        opacity: 1;
        transform: scaleY(1);
        background-color: var(--stock404-medium-grey); /* Revenir à la couleur normale */
        box-shadow: 0 0 15px rgba(0, 0, 0, 0.6);
        border: 1px solid var(--stock404-border-grey);
    }
}

/* Style pour chaque carte d'événement individuel */
.etea-event-card {
    flex: 0 0 280px; /* Largeur fixe pour chaque carte */
    background-color: var(--stock404-dark-grey);
    border: 1px solid var(--stock404-light-grey);
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
    position: relative;
    overflow: hidden;
    min-height: 200px;
}

.etea-event-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--neon-glow-small);
}

.etea-event-card.past {
    opacity: 0.8;
}

.etea-event-card.future {
    border-color: var(--color-info); /* Bleu clair pour le futur */
}

/* En-tête de la carte (Date/Ticker) */
.etea-event-header {
    border-bottom: 2px solid var(--stock404-neon-green);
    padding-bottom: 8px;
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.etea-event-header .date {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--stock404-white);
}

.etea-event-header .timing {
    font-size: 0.9em;
    color: var(--stock404-neon-green);
}

.etea-event-details p {
    margin: 5px 0;
    font-size: 0.9em;
}

/* Indicateur visuel de direction (flèche) */
.etea-direction-indicator {
    font-size: 1.5em;
    font-weight: 900;
    position: absolute;
    bottom: 15px;
    right: 15px;
    line-height: 1;
}

.etea-direction-indicator.bullish {
    color: var(--color-bullish);
    text-shadow: 0 0 5px rgba(0, 255, 0, 0.8);
}

.etea-direction-indicator.bearish {
    color: var(--color-bearish);
    text-shadow: 0 0 5px rgba(255, 68, 68, 0.8);
}

.etea-direction-indicator.neutral {
    color: var(--color-neutral);
    text-shadow: 0 0 5px rgba(255, 255, 0, 0.6);
}

/* --- Navigation / Carrousel (Simulé par CSS/HTML) --- */
.etea-calendar-nav-buttons {
    display: none; /* Masquer les boutons si nous n'utilisons pas de JS carrousel */
}

/* ---------------------------------------------------------------------- */
/* NOUVEAUTÉ : Style pour la Liste d'Analyse Détaillée (Carticles)      */
/* ---------------------------------------------------------------------- */
.etea-detailed-analysis-list {
    margin-top: 30px;
    display: grid;
    gap: 30px;
}

.etea-detailed-analysis-list h4 {
    color: var(--stock404-white); /* Petits titres en blanc pour le contraste */
    margin-top: 25px;
    margin-bottom: 12px;
    font-size: 1.4em;
    font-weight: 500;
    border-left: 3px solid var(--stock404-light-grey);
    padding-left: 10px;
    position: relative;
    z-index: 1;
}
.etea-analysis-carticle {
    background-color: var(--stock404-medium-grey);
    border: 1px solid var(--stock404-border-grey);
    border-radius: 10px;
    padding: 25px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.6);
    transition: all 0.3s ease-in-out;
}

.etea-analysis-carticle:hover {
    box-shadow: var(--neon-glow-small);
    border-color: var(--stock404-neon-green);
}

.etea-carticle-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--stock404-light-grey);
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.etea-carticle-header .main-info {
    font-size: 1.5em;
    font-weight: 700;
    color: var(--stock404-neon-green);
}

.etea-carticle-header .main-info span {
    color: var(--stock404-white);
    font-size: 0.8em;
    font-weight: normal;
    margin-left: 10px;
}

.etea-carticle-section {
    margin-bottom: 25px;
    padding-left: 10px;
    border-left: 3px solid var(--color-info);
}

.etea-carticle-section h5 {
    color: var(--color-info);
    font-size: 1.1em;
    margin-top: 0;
    margin-bottom: 10px;
    font-weight: 600;
}

.etea-carticle-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.etea-carticle-value-box {
    padding: 10px;
    border-radius: 6px;
    background-color: var(--stock404-dark-grey);
    border: 1px solid var(--stock404-light-grey);
}

.etea-carticle-value-box .label {
    font-size: 0.8em;
    color: var(--stock404-light-grey);
    text-transform: uppercase;
    margin-bottom: 3px;
    display: block;
}

.etea-carticle-value-box .value {
    font-size: 1.1em;
    font-weight: bold;
}

/* ==========================================================================
   STYLES DU CALENDRIER GRATUIT (FREE CALENDAR TEASER)
   ========================================================================== */

.etea-earnings-calendar-free-section {
    /* Conteneur principal */
    max-width: 1200px;
    margin: 20px auto;
}

.etea-calendar-free-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); 
    gap: 10px;
}

/* Styles pour les événements Teaser */
.etea-calendar-event.etea-teaser-event {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px;
    background-color: #333; /* Fond gris */
    border-radius: 3px;
    text-decoration: none;
    color: var(--stock404-white);
    transition: background-color 0.2s, transform 0.2s;
}

.etea-calendar-event.etea-teaser-event:hover {
    background-color: var(--stock404-neon-red); /* Surlignage rouge pour le CTA */
    color: var(--stock404-dark-grey);
    transform: scale(1.02);
}

.etea-teaser-event .ticker {
    font-weight: bold;
    margin-right: 5px;
}

.etea-teaser-event .timing-teaser {
    font-size: 0.8em;
    color: #ccc;
}

/* ---------------------------------------------------------------------- */
/* CLASSES DE CALENDRIER ET DE DIRECTION (Pour le calendrier éphémère)   */
/* ---------------------------------------------------------------------- */


/* Nouveau conteneur pour améliorer la structure sur mobile */
.etea-calendar-month-container {
    margin-bottom: 20px;
}

.etea-calendar-month-header {
    background-color: var(--stock404-light-grey);
    color: var(--stock404-neon-green);
    padding: 10px;
    text-align: center;
    font-size: 1.2em;
    font-weight: 600;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    margin-bottom: 5px;
}

.etea-calendar-month-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr); /* 7 jours par semaine */
    gap: 2px;
}

.etea-calendar-day {
    padding: 8px 5px;
    text-align: center;
    font-size: 0.9em;
    font-weight: bold;
    border-radius: 4px;
    border: 1px solid transparent;
    cursor: default;
    min-height: 40px;
    position: relative;
}

/* Jours de la semaine */
.etea-calendar-month-grid .etea-calendar-day:nth-child(7n+1), /* Dimanche */
.etea-calendar-month-grid .etea-calendar-day:nth-child(7n) {   /* Samedi */
    /* background-color: rgba(255, 255, 255, 0.05); */
    color: var(--stock404-border-grey);
}

/* Prédit Bullish */
.ete-calendar-bullish {
    background-color: rgba(0, 255, 0, 0.3); /* Base de vert transparent */
    border-color: var(--color-bullish);
}

/* Prédit Bearish */
.ete-calendar-bearish {
    background-color: rgba(255, 68, 68, 0.3); /* Base de rouge transparent */
    border-color: var(--color-bearish);
}

/* Gap Réel Bullish (Passé) */
.ete-calendar-actual-bullish {
    background-color: rgba(0, 255, 0, 0.5); /* Vert plus foncé pour le réel */
    border-color: var(--color-bullish);
    box-shadow: 0 0 5px var(--color-bullish);
}

/* Gap Réel Bearish (Passé) */
.ete-calendar-actual-bearish {
    background-color: rgba(255, 68, 68, 0.5); /* Rouge plus foncé pour le réel */
    border-color: var(--color-bearish);
    box-shadow: 0 0 5px var(--color-bearish);
}

/* Neutre / N/A */
.ete-calendar-neutral {
    background-color: rgba(255, 255, 0, 0.1);
    border-color: var(--color-neutral);
}

/* Indicateurs de statut (✅/❌) */
.direction-status-logo {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.1em;
    line-height: 1;
    padding: 2px 4px;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
}
.ete-calendar-actual-bullish .direction-status-logo { color: var(--color-bullish); }
.ete-calendar-actual-bearish .direction-status-logo { color: var(--color-bearish); }

/* Direction indicators (Bullish/Bearish/Neutral) */
.etea-direction-bullish,
.etea-trend-trend-continuation-bullish,
.etea-trend-rebound-bullish,
.etea-status-correct {
    color: var(--color-bullish); /* Bright green */
    font-weight: bold;
    text-shadow: 0 0 4px rgba(0, 255, 0, 0.7); /* Green Glow */
}

.etea-direction-bearish,
.etea-trend-trend-continuation-bearish,
.etea-trend-correction-bearish,
.etea-status-incorrect {
    color: var(--color-bearish); /* Bright red */
    font-weight: bold;
    text-shadow: 0 0 4px rgba(255, 68, 68, 0.7); /* Red Glow */
}

/* Alignment for N/A, Neutral, and Stable/Mixed using simple dashes/underscores */
.etea-direction-neutral,
.etea-direction-n-a,
.etea-trend-stable-mixed,
.etea-direction-undetermined,
.etea-trend-mixed-neutral, /* Post-gap model neutral */
.etea-no-data {
    color: var(--color-neutral); /* Yellow/Orange */
    font-weight: bold;
    text-shadow: 0 0 3px rgba(255, 255, 0, 0.6);
}

/* NOUVEAU: Classes de Recommandation Finale (Rec.) */
/* Classes pour ACHAT FORT/MODÉRÉ et VENTE FORT/MODÉRÉE */
.etea-reco-moderate_buy_alignment {
    color: var(--color-bullish); 
    font-weight: bold;
    background-color: rgba(0, 255, 0, 0.08); 
    padding: 2px 4px;
    border-radius: 3px;
}

.etea-reco-strong_sell_continuation,
.etea-reco-moderate_sell_alignment {
    color: var(--color-bearish); 
    font-weight: bold;
    background-color: rgba(255, 68, 68, 0.08);
    padding: 2px 4px;
    border-radius: 3px;
}

/* Cautious/Correction (Utilise la couleur d'info/bleu) */
.etea-reco-cautious_buy_consolidation,
.etea-reco-cautious_sell_consolidation,
.etea-reco-moderate_sell_anticipated_rebound,
.etea-reco-observe_very_cautious_buy,
.etea-reco-observe_very_cautious_sell {
    color: var(--color-info); 
    font-weight: bold;
    text-shadow: 0 0 3px rgba(0, 191, 255, 0.5); 
}

.etea-reco-moderate_buy_anticipated_correction {
	color: #88ff88; 
}

.etea-reco-strong_buy_continuation {
    color: #00ff00; 
    font-weight: bold;
}

/* Observe (Neutral/Faible Confiance) */
.etea-reco-observe_neutral,
.etea-reco-observe_prepare_post_gap {
    color: var(--color-neutral); 
    font-weight: normal;
}

/* Rétrospective */
.etea-reco-evaluation_retrospective {
    color: var(--stock404-white);
    font-weight: normal;
    font-style: italic;
}


/* Commentary toggle */
.etea-commentary-toggle {
    margin-top: 20px;
    border-top: 1px dashed var(--stock404-border-grey); /* Dash plus léger */
    padding-top: 20px;
}

.etea-commentary-toggle .etea-toggle-button {
    background-color: var(--stock404-medium-grey); 
    color: var(--stock404-neon-green); 
    border: 1px solid var(--stock404-neon-green); 
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    font-weight: bold;
    transition: all 0.2s ease-in-out;
    box-shadow: var(--neon-glow-small); /* Lueur sur le bouton */
    text-transform: uppercase;
}

.etea-commentary-toggle .etea-toggle-button:hover {
    background-color: var(--stock404-neon-green); 
    color: var(--stock404-dark-grey);
    box-shadow: var(--neon-glow-medium);
    transform: scale(1.02);
}

.etea-commentary-content {
    background-color: var(--stock404-dark-grey); 
    border-left: 4px solid var(--stock404-neon-green); /* Barre plus épaisse */
    padding: 20px 25px;
    margin-top: 20px;
    border-radius: 8px;
    font-size: 0.9em;
    color: var(--stock404-white);
    display: none; 
    box-shadow: inset 0 0 8px rgba(187, 255, 0, 0.15); /* Lueur interne plus visible */
}

/* NOUVEAUTÉ: Améliorer l'affichage du commentaire dans le tableau */
.etea-commentary-cell {
    max-height: 150px; /* Limiter la hauteur */
    overflow-y: auto; /* Permettre le défilement */
    font-size: 0.85em;
    line-height: 1.4;
    padding: 5px;
    border-radius: 4px;
    background-color: var(--stock404-dark-grey);
    border: 1px solid var(--stock404-light-grey);
}
.etea-commentary-cell p {
    margin: 0;
    color: var(--stock404-white);
}

/* NOUVEAUTÉ: Style pour le résumé d'activité */
.etea-business-summary {
    background-color: var(--stock404-medium-grey);
    border: 1px solid var(--color-info); /* Couleur info/bleu */
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 25px;
    box-shadow: 0 0 8px rgba(0, 191, 255, 0.4);
}

.etea-business-summary h4 {
    color: var(--color-info);
    border-left: 3px solid var(--color-info);
}

/* Premium content block */
.etea-premium-block {
    background-color: var(--stock404-medium-grey);
    border: 2px solid var(--stock404-neon-green); /* Bordure plus épaisse */
    color: var(--stock404-white);
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    margin-top: 40px;
    box-shadow: var(--neon-glow-large); /* Glow très intense */
    animation: fade-in 0.8s ease-out;
}

@keyframes fade-in {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.etea-premium-block h2 {
    color: var(--stock404-neon-green);
    border-bottom: none;
    font-size: 1.8em;
    margin-bottom: 20px;
    text-shadow: var(--neon-glow-large);
}

.etea-premium-block .button-primary {
    background-color: var(--stock404-neon-green);
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-dark-grey);
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 0 10px rgba(187, 255, 0, 0.8); /* Lueur plus forte sur le bouton */
    text-transform: uppercase;
}

.etea-premium-block .button-primary:hover {
    background-color: var(--stock404-white);
    box-shadow: 0 0 15px rgba(187, 255, 0, 1);
    transform: scale(1.05);
}


/* Styles pour la version MINI du Group Performance Chart */
.etea-group-performance-mini-wrapper {
    /* Conteneur principal */
    padding: 10px 0;
    width: 100%;
}

.etea-group-performance-chart.etea-mini-chart {
    padding: 10px 0;
}

.etea-group-performance-chart.etea-mini-chart h4 {
    font-size: 1.2em; /* Titre */
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px dashed var(--stock404-border-grey);
}

.etea-mini-bar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.etea-mini-bar-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px; /* Plus d'espace vertical entre les lignes */
    font-size: 0.9em;
}

.etea-mini-bar-label {
    flex-basis: 35%; /* Allouer 35% de la largeur au libellé */
    text-align: left; /* Aligner à gauche */
    padding-right: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* Troncation du texte pour éviter le débordement */
    color: var(--stock404-white); 
    flex-shrink: 0; /* Empêche le libellé de se rétrécir */
}

.etea-mini-bar-data-wrapper {
    display: flex;
    align-items: center;
    flex-grow: 1; /* Prend l'espace restant pour la barre et la valeur */
}

.etea-mini-bar-wrapper {
    flex-grow: 1;
    height: 10px; /* Hauteur de la barre */
    position: relative;
    background-color: var(--stock404-medium-grey); /* Fond de la barre inactive */
    border-radius: 2px;
}

.etea-mini-bar {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 2px;
}

/* Couleurs des barres */
.etea-mini-bar.positive {
    background-color: var(--stock404-neon-green);
}

.etea-mini-bar.negative {
    background-color: var(--stock404-neon-red);
}

/* Petit carré de couleur (pour l'effet de l'image) */
.etea-mini-color-box {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
    border-radius: 2px;
    margin-right: 5px;
}
.etea-mini-color-box.positive {
    background-color: var(--stock404-neon-green);
}
.etea-mini-color-box.negative {
    background-color: var(--stock404-neon-red);
}

.etea-mini-bar-value {
    font-weight: bold;
    font-size: 1em;
    padding-left: 5px; /* Espacement entre la barre et le texte */
    flex-shrink: 0; /* Empêcher la valeur de se rétrécir */
    white-space: nowrap;
}

.etea-mini-bar-value.positive {
    color: var(--stock404-neon-green);
}
.etea-mini-bar-value.negative {
    color: var(--stock404-neon-red);
}


/* Mini premium block for search results */
.etea-mini-premium-block {
    padding: 20px;
    margin-top: 25px;
    border-radius: 8px;
    background-color: var(--stock404-dark-grey);
    border: 1px dashed var(--stock404-neon-green);
    box-shadow: inset 0 0 5px rgba(187, 255, 0, 0.1);
    text-align: left;
}

.etea-mini-premium-block p {
    font-size: 0.9em;
    margin-bottom: 15px;
}


/* Full Analysis Table and Screener Table */
.etea-full-analysis-table table,
.etea-screener-table table,
.etea-top-performers-section table,
.etea-news-section table,
.etea-calendar-overview-table,
.etea-search-premium-section table {
    width: 100%;
    border-collapse: collapse; 
    margin-top: 30px;
    background-color: var(--stock404-medium-grey);
    border-radius: 8px;
    overflow: hidden; 
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.6);
}


.etea-full-analysis-table th,
.etea-full-analysis-table td,
.etea-screener-table th,
.etea-screener-table td,
.etea-top-performers-section th,
.etea-top-performers-section td,
.etea-news-section th,
.etea-news-section td,
.etea-calendar-overview-table th,
.etea-calendar-overview-table td,
.etea-search-premium-section th,
.etea-search-premium-section td {
    border: 1px solid var(--stock404-light-grey);
    padding: 12px 15px;
    text-align: left;
    vertical-align: middle; /* Centrer verticalement */
    font-size: 0.85em;
    color: var(--stock404-white);
}

.etea-full-analysis-table th,
.etea-screener-table th,
.etea-top-performers-section th,
.etea-news-section th,
.etea-calendar-overview-table th,
.etea-search-premium-section th {
    background-color: var(--stock404-dark-grey); 
    font-weight: 700;
    color: var(--stock404-neon-green);
    text-transform: uppercase;
    position: sticky;
    top: 0; 
    z-index: 10;
    border-bottom: 3px solid var(--stock404-neon-green); /* Soulignement plus fort */
    text-shadow: 0 0 3px rgba(187, 255, 0, 0.4);
	white-space: nowrap; /* Ajouté pour les en-têtes de screener */
}

.etea-full-analysis-table tbody tr:nth-child(even),
.etea-screener-table tbody tr:nth-child(even),
.etea-top-performers-section tbody tr:nth-child(even),
.etea-news-section tbody tr:nth-child(even),
.etea-calendar-overview-table tbody tr:nth-child(even) {
    background-color: var(--stock404-light-grey); 
}

.etea-full-analysis-table tbody tr:hover,
.etea-screener-table tbody tr:hover,
.etea-top-performers-section tbody tr:hover,
.etea-news-section tbody tr:hover,
.etea-calendar-overview-table tbody tr:hover,
.etea-search-premium-section tbody tr:hover {
    background-color: rgba(187, 255, 0, 0.15); /* Highlight plus visible */
    transform: scale(1.005);
    transition: background-color 0.1s, transform 0.1s;
}


/* Stats cards for historical performance */
.etea-stats-card {
    background-color: var(--stock404-medium-grey);
    border: 1px solid var(--stock404-neon-green);
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: var(--neon-glow-small); /* Glow sur les cartes de stats */
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.etea-stats-card:hover {
    box-shadow: var(--neon-glow-medium);
}

.etea-stats-card h3 {
    color: var(--stock404-neon-green);
    border-bottom: 1px dashed var(--stock404-neon-green); /* Ligne néon */
    padding-bottom: 12px;
    margin-bottom: 18px;
    text-shadow: 0 0 5px rgba(187, 255, 0, 0.8);
}

.etea-stats-card .etea-stat-percentage {
    font-family: 'Share Tech Mono', monospace; /* Police mono pour les chiffres clés */
    font-size: 2.8em; /* Très grand */
    font-weight: bold;
    color: var(--stock404-white);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.9); /* Lueur blanche intense */
    animation: text-glow 2s infinite alternate;
}

/* Specific style for smaller percentage text in tables, e.g., top performers */
.etea-stats-card .etea-stat-percentage-small,
.etea-top-performers-section .etea-stat-percentage-small,
.etea-screener-table .etea-stat-percentage-small {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--stock404-neon-green);
    text-shadow: 0 0 5px rgba(187, 255, 0, 0.6);
}

/* Utility classes */
.etea-message {
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    font-size: 1.1em;
}

.etea-message.etea-error {
    background-color: #4a1c22; 
    border: 2px solid var(--color-bearish);
    color: #ffcccc;
    box-shadow: 0 0 10px rgba(255, 51, 51, 0.8);
}

.etea-no-data {
    color: var(--color-neutral);
    font-style: italic;
    text-align: center;
    margin-top: 25px;
    padding: 15px;
    background-color: var(--stock404-medium-grey);
    border-radius: 8px;
    border: 2px dashed var(--color-neutral);
    box-shadow: 0 0 8px rgba(204, 204, 0, 0.6);
}

/* Styles pour la liste d'ambiguïté (Multi-Match) */
.etea-multi-match-list {
    list-style: none;
    padding: 0;
    margin-top: 20px;
    border: 1px solid var(--stock404-border-grey);
    border-radius: 6px;
    background-color: var(--stock404-medium-grey);
}

.etea-multi-match-list li {
    padding: 12px 15px;
    border-bottom: 1px solid var(--stock404-dark-grey);
}

.etea-multi-match-list li:last-child {
    border-bottom: none;
}

.etea-multi-match-list li a {
    text-decoration: none;
    color: var(--stock404-white);
    display: block;
    transition: color 0.2s ease-in-out, background-color 0.2s;
}

.etea-multi-match-list li a:hover {
    color: var(--stock404-neon-green);
    background-color: var(--stock404-light-grey);
}

.etea-multi-match-list li a strong {
    color: var(--color-info); /* Ticker en bleu clair pour attirer l'attention */
    font-size: 1.1em;
}

.etea-multi-match-list li a span {
    font-size: 0.9em;
    margin-left: 10px;
}

/* NOUVEAUTÉ: Style de la barre de recherche Free (Pour la cohérence visuelle) */
.etea-search-free-section .etea-free-search-form {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    border: 1px solid var(--stock404-neon-green); /* Bordure Néon */
    border-radius: 6px;
    padding: 8px;
    background-color: var(--stock404-medium-grey);
    box-shadow: var(--neon-glow-small);
}

.etea-search-free-section .etea-free-search-form input[type="text"] {
    flex-grow: 1;
    background-color: var(--stock404-dark-grey);
    border: 1px solid var(--stock404-light-grey);
    color: var(--stock404-neon-green);
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 1.1em;
    font-family: 'Share Tech Mono', monospace;
    box-shadow: inset 0 0 5px rgba(187, 255, 0, 0.2); /* Lueur interne */
    transition: all 0.2s ease-in-out;
}

.etea-search-free-section .etea-free-search-form .button-primary {
    /* Style du bouton Néon de base (similaire au premium) */
    background-color: var(--stock404-neon-green);
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-dark-grey);
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 0 8px rgba(187, 255, 0, 0.6); /* Lueur */
    text-transform: uppercase;
}

.etea-search-free-section .etea-free-search-form .button-primary:hover {
    background-color: var(--stock404-white);
    box-shadow: 0 0 12px rgba(187, 255, 0, 0.9);
    transform: scale(1.02);
}

/* News and Blog Section */
.etea-news-section {
    grid-template-columns: 1fr; 
    gap: 30px;
}

@media (min-width: 768px) {
    .etea-news-section {
        grid-template-columns: 1fr 1fr;
    }
}

.etea-news-list,
.etea-blog-list {
    background-color: var(--stock404-medium-grey);
    border: 1px solid var(--stock404-border-grey);
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.etea-news-list h3,
.etea-blog-list h3 {
    color: var(--stock404-neon-green);
    border-bottom: 1px dashed var(--stock404-light-grey);
    padding-bottom: 10px;
    margin-bottom: 15px;
    text-shadow: 0 0 4px rgba(187, 255, 0, 0.4);
    font-size: 1.4em;
}

.etea-news-item,
.etea-blog-item {
    padding: 10px 0;
    border-bottom: 1px solid var(--stock404-light-grey);
    font-size: 0.9em;
    display: flex;
    align-items: flex-start;
}

.etea-news-item:last-child,
.etea-blog-item:last-child {
    border-bottom: none;
}

.etea-news-item .icon,
.etea-blog-item .icon {
    font-size: 1.2em;
    margin-right: 10px;
    color: var(--stock404-neon-green);
    flex-shrink: 0;
}

.etea-news-item .timestamp,
.etea-blog-item .timestamp {
    font-size: 0.75em;
    color: var(--stock404-light-grey);
    display: block;
    margin-top: 3px;
}

.etea-news-item a,
.etea-blog-item a {
    color: var(--stock404-white);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.etea-news-item a:hover,
.etea-blog-item a:hover {
    color: var(--stock404-neon-green);
}

/* Screener Section */
.etea-screener-filters {
    background: var(--stock404-mid-dark-bg, #222);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid var(--stock404-border-grey, #444);
    margin-bottom: 30px;
}

.etea-screener-filters > div {
    display: flex;
    flex-direction: column;
}

.etea-screener-filters select,
.etea-screener-filters input[type="text"],
.etea-screener-filters input[type="number"],
.etea-screener-filters input[type="date"] {
    background-color: var(--stock404-dark-grey);
    border: 1px solid var(--stock404-light-grey);
    color: var(--stock404-white);
    padding: 8px 10px;
    border-radius: 4px;
    font-size: 0.9em;
    flex-grow: 1;
    min-width: 120px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23bbff00%22%20d%3D%22M287%2C197.35L150.3%2C58.65c-4.4-4.4-11.8-4.4-16.2,0L5.4,197.35c-4.4,4.4-4.4,11.8,0,16.2L134.1,346.5c4.4,4.4,11.8,4.4,16.2,0L287,213.55C291.4,209.15,291.4,201.75,287,197.35z%22%2F%3E%3C%2Fsvg%3E'); 
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 10px;
}

.etea-screener-filters label {
    display: block;
    font-size: 0.8em;
    color: #aaa;
    margin-bottom: 5px;
}

.etea-screener-filters .button-primary {
    align-self: flex-end;
    margin-left: auto;
}

.etea-screener-filters button[type="submit"] {
    align-self: flex-end; /* Aligner le bouton en bas de sa colonne */
    width: 100%;
    /* Utilisation des styles de bouton existants pour la cohérence */
    background-color: var(--stock404-neon-green);
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-dark-grey);
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: bold;
    text-transform: uppercase;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 0 8px rgba(var(--rgb-neon-green), 0.6);
    cursor: pointer;
}

.etea-screener-filters button[type="submit"]:hover {
    background-color: var(--stock404-white);
    box-shadow: 0 0 12px rgba(var(--rgb-neon-green), 0.9);
    transform: scale(1.02);
}

.etea-screener-filters input, .etea-screener-filters select {
    background: #111;
    border: 1px solid #444;
    color: #fff;
    padding: 8px;
    border-radius: 4px;
    min-width: 140px;
}

.etea-filter-actions {
    display: flex;
    gap: 10px;
    border-top: 1px solid #333;
    padding-top: 15px;
}

/* Cellule Ticker avec Badges */
.etea-ticker-cell {
    display: flex;
    flex-direction: column;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
}

.etea-badges-wrapper {
    display: flex;
    gap: 3px;
    margin-top: 4px;
}

.etea-mini-badge {
    font-size: 0.8em;
    cursor: help;
}

/* Colonne Stats Financières */
.etea-screener-stats {
    display: flex;
    flex-direction: column;
    font-size: 0.9em;
}

.etea-screener-stats .roi {
    font-size: 0.8em;
    color: #888;
}

/* Screener Table Specifics */
.etea-screener-table td {
    white-space: nowrap; 
}

.etea-screener-table .market-cap-bullish {
    color: var(--color-bullish);
}

.etea-screener-table .market-cap-bearish {
    color: var(--color-bearish);
}

.etea-screener-table .pe-ratio-value {
    color: var(--color-info);
} 

.etea-filter-group-main, .etea-filter-group-perf {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
}

.etea-filter-group-perf {
    background: rgba(0, 0, 0, 0.2);
    padding: 15px;
    border-radius: 6px;
    border-left: 3px solid var(--stock404-neon-green);
}

.etea-filter-title {
    width: 100%;
    color: var(--stock404-neon-green);
    font-weight: bold;
    font-size: 0.9em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.etea-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
}


/* Map & Bubble Map Sections */
.etea-map-container,
.etea-bubble-map-container {
    padding: 15px; /* Espace interne */
    border: 1px solid var(--stock404-neon-green);
    border-radius: 8px;
    background-color: var(--stock404-medium-grey);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.etea-map-grid {
    display: grid;
    gap: 2px;
    margin-top: 15px;
}

.etea-map-cell {
    padding: 5px;
    border-radius: 3px;
    text-align: center;
    font-weight: bold;
    color: var(--stock404-white);
    background-color: var(--stock404-dark-grey);
    border: 1px solid var(--stock404-light-grey);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 40px;
    cursor: help; 
    transition: background-color 0.2s ease-in-out;
}

.etea-map-cell.bullish-gap {
    background-color: rgba(0, 204, 0, 0.7);
}

.etea-map-cell.bearish-gap {
    background-color: rgba(255, 51, 51, 0.7);
}

.etea-map-cell .ticker {
    font-weight: bold;
    font-size: 1.1em;
    color: var(--stock404-white);
}

.etea-map-cell .gap-percent {
    font-size: 0.9em;
}

/* Styles pour le Bubble Map */
.etea-bubble-map-container {
    border: 1px solid var(--stock404-neon-green);
    box-shadow: var(--neon-glow-small);
}

.etea-bubble-cell:hover {
    transform: scale(1.07); 
    box-shadow: var(--neon-glow-medium); 
    border-color: var(--stock404-neon-green);
}

.etea-bubble-cell .ticker {
    font-family: 'Share Tech Mono', monospace;
    font-size: 1.2em;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.5); 
}

.etea-bubble-cell .gap-percent {
    color: var(--stock404-neon-green);
    font-weight: 700;
}

/* Specific colors for bubbles based on direction */
.etea-bubble-cell.etea-direction-bullish {
    background-color: rgba(0, 255, 0, 0.25);
    border-color: var(--color-bullish);
}

.etea-bubble-cell.etea-direction-bearish {
    background-color: rgba(255, 68, 68, 0.25);
    border-color: var(--color-bearish);
}

/* Style pour les bulles neutres/mixtes (celles avec un faible impact) */
.etea-bubble-cell.etea-direction-neutral,
.etea-bubble-cell.etea-direction-mixed_neutral {
    background-color: #ffc107; /* Jaune/Ambre pour Neutre */
    border: 1px solid #ff9800;
    color: #333; /* Texte foncé pour le jaune */
}

/* Earnings Calendar Specific Styles */
.etea-earnings-calendar-section {
    max-width: 1200px; /* Limite la largeur pour un affichage propre */
    margin: 0 auto;
}

.etea-calendar-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    border-bottom: 1px solid var(--stock404-border-grey);
    padding-bottom: 15px;
}

.etea-calendar-navigation h3 {
    margin: 0;
    color: var(--stock404-white);
    font-size: 1.5em;
    font-weight: 600;
    text-shadow: none;
    flex-grow: 1;
    text-align: center;
}


.etea-calendar-navigation .button {
    background-color: var(--stock404-medium-grey);
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-neon-green);
    padding: 8px 15px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.9em;
    transition: all 0.2s ease-in-out;
}

.etea-calendar-navigation .button:hover {
    background-color: var(--stock404-neon-green);
    color: var(--stock404-dark-grey);
    box-shadow: 0 0 8px rgba(187, 255, 0, 0.4);
}

.etea-full-calendar-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); 
    gap: 10px;
}

.etea-calendar-day-header-row {
    display: contents; 
}

.etea-calendar-day-label {
    background-color: var(--stock404-dark-grey);
    color: var(--stock404-neon-green);
    padding: 10px;
    text-align: center;
    font-weight: bold;
    border: 1px solid var(--stock404-border-grey);
    border-radius: 4px;
    font-size: 0.9em;
}
.etea-calendar-day-label:last-child { border-right: none; }

.etea-full-calendar-grid > .etea-calendar-day-label:nth-child(5) {
    border-right: none;
}

/* --- Ligne de Timing (Soleil/Lune) --- */
.etea-calendar-timing-row {
    display: contents; /* Les symboles vont directement dans les 5 colonnes */
}

.etea-calendar-timing-header-group {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Divise chaque colonne de jour en 2 (BO/AC) */
    text-align: center;
    border-right: 1px solid #333;
}
.etea-calendar-timing-header-group:last-child { border-right: none; }

.etea-calendar-timing-label {
    background-color: #444;
    color: #ffd700; /* Or pour les symboles */
    font-size: 1.2em;
    padding: 5px;
    border-bottom: 1px solid #333;
}
.etea-calendar-timing-label:first-child { border-right: 1px solid #333; }


/* --- Contenu des Jours (Cellules d'Événements) --- */

.etea-calendar-days-row {
    display: contents; 
}

/* Conteneur pour le jour entier (Lundi, Mardi, ...) */
.etea-calendar-day-group {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Divise l'espace en BO / AC */
    grid-column: span 1; /* Chaque groupe occupe une colonne de la grille principale */
    border-right: 1px solid #333;
    min-height: 150px;
    padding: 0; /* Pas de padding ici */
}
.etea-calendar-day-group:last-child { border-right: none; }

.etea-calendar-day-group:nth-child(5) {
    border-right: none;
}

/* Cellule spécifique BO ou AC */
.etea-calendar-timing-cell {
    padding: 10px 5px;
    text-align: center;
    border-top: 1px solid #333;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.etea-calendar-day-group > .etea-calendar-timing-cell:nth-child(even) {
    border-left: 1px solid #333; /* Séparateur entre BO et AC */
}

.etea-calendar-day-cell {
    background-color: var(--stock404-medium-grey);
    border: 1px solid var(--stock404-light-grey);
    border-radius: 6px;
    padding: 10px;
    min-height: 150px; 
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
}

.etea-calendar-day-cell.etea-calendar-today {
    border: 2px solid var(--stock404-neon-green);
    box-shadow: 0 0 10px rgba(187, 255, 0, 0.5);
}

.etea-calendar-date {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--stock404-white);
    margin-bottom: 10px;
    text-align: center;
    border-bottom: 1px dashed var(--stock404-border-grey);
    padding-bottom: 5px;
}

.etea-calendar-event {
    background-color: var(--stock404-dark-grey);
    border-radius: 3px;
    padding: 5px 8px;
    font-size: 0.8em;
    color: var(--stock404-white);
    text-decoration: none;
    display: block;
    overflow: hidden;
    /* white-space: nowrap; (Retiré ici, géré par le conteneur flex) */
    text-overflow: ellipsis;
    border: 1px solid transparent; 
    transition: all 0.2s ease-in-out;
    position: relative; 
}

.etea-calendar-event:hover {
    transform: translateX(3px);
    box-shadow: 0 0 5px rgba(187, 255, 0, 0.3);
}

/* --- CORRECTION CHEVAUCHEMENT Ticker/Statut --- */
.etea-calendar-event .etea-ticker-content {
    display: flex; 
    align-items: center; 
    justify-content: center; 
    line-height: 1;
}

.etea-calendar-event .ticker {
    margin-right: 3px; 
    white-space: nowrap;
}

/* Emplacement et style du logo de correction/incorrection */
.etea-calendar-event .direction-status-logo {
    /* Règle par défaut pour le logo lorsqu'il n'est pas "inline" */
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.1em;
    line-height: 1;
    padding: 2px 4px;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
    transform: none; /* Reset */
}

.etea-calendar-event .direction-status-logo.etea-status-inline {
    /* Règle spécifique pour le nouveau conteneur flex */
    position: static; /* Retire le positionnement absolu pour le flux flexbox */
    transform: none; 
    display: inline-block;
    font-size: 0.9em; 
    font-weight: bold;
    padding: 0 1px;
}
/* FIN CORRECTION CHEVAUCHEMENT Ticker/Statut */

.etea-calendar-day-cell .no-events-timing {
    color: #888;
    font-size: 0.9em;
    font-style: italic;
    margin: 5px 0;
}

/* Couleurs des événements par direction */

.etea-calendar-event-bullish {
    background-color: rgba(0, 255, 0, 0.2);
    border-color: var(--color-bullish);
}

.etea-calendar-event-bearish {
    background-color: rgba(255, 68, 68, 0.2);
    border-color: var(--color-bearish);
}

.etea-calendar-event-neutral,
.etea-calendar-event-n-a {
    background-color: rgba(255, 255, 0, 0.1);
    border-color: var(--color-neutral);
}

/* Correction: Ajout de l'indicateur visuel de correction/incorrection */
.etea-calendar-event.etea-status-correct {
    border-right: 4px solid var(--color-bullish); 
    background-color: rgba(0, 255, 0, 0.15);
}

.etea-calendar-event.etea-status-correct .ticker {
    color: var(--color-bullish);
}

.etea-calendar-event.etea-status-incorrect {
    border-right: 4px solid var(--color-bearish); 
    background-color: rgba(255, 68, 68, 0.15);
}

.etea-calendar-event.etea-status-incorrect .ticker {
    color: var(--color-bearish);
}


.etea-calendar-event-bullish .direction-status-logo,
.etea-calendar-event-bearish .direction-status-logo {
    color: var(--stock404-white); 
    text-shadow: none;
}

.etea-calendar-event.etea-status-correct .direction-status-logo.etea-status-inline {
    color: var(--color-bullish); 
    text-shadow: 0 0 6px var(--color-bullish);
}

.etea-calendar-event.etea-status-incorrect .direction-status-logo.etea-status-inline {
    color: var(--color-bearish); 
    text-shadow: 0 0 6px var(--color-bearish);
}

.etea-calendar-event .ticker {
    font-weight: bold;
    color: var(--stock404-white);
}

.etea-calendar-event .direction {
    font-size: 0.9em;
}

.no-events {
    font-style: italic;
    color: var(--stock404-light-grey);
    text-align: center;
    font-size: 0.85em;
    padding-top: 10px;
}

/* --- 1. LAYOUT & GRID --- */

.etea-dashboard-section {
    padding: 25px;
    max-width: 1200px;
    margin: 0 auto;
}

.etea-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 20px;
    margin-top: 20px;
}

/* Utilitaires de grille */
.etea-span-2 {
    grid-column: span 2;
}

/* --- 2. CARDS DESIGN --- */

.etea-dashboard-card {
    background-color: var(--stock404-medium-grey, #2b2b2b);
    border: 1px solid var(--stock404-border-grey, #444);
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Alignement haut par défaut */
}

.etea-dashboard-card h3 {
    color: var(--stock404-neon-green);
    border-bottom: 1px dashed var(--stock404-light-grey);
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.3em;
    text-shadow: 0 0 3px rgba(187, 255, 0, 0.3);
    width: 100%; 
}

/* --- 3. TYPOGRAPHY & TEXT UTILS --- */

.etea-dashboard-card p {
    margin: 5px 0;
    font-size: 0.9em;
    color: var(--stock404-white, #fff);
}

.etea-info-text {
    font-style: italic;
    font-size: 0.8em;
    color: var(--stock404-light-grey);
    margin-bottom: 10px;
}

.etea-no-data-mini {
    color: var(--stock404-light-grey);
    font-style: italic;
    font-size: 0.85em;
    text-align: center;
    width: 100%;
    padding: 10px 0;
}

.etea-stat-percentage-small {
    font-size: 1.4em;
    font-weight: bold;
    margin: 0;
}

/* Couleurs sémantiques */
.etea-text-bullish { color: var(--etea-bullish) !important; }
.etea-text-bearish { color: var(--etea-bearish) !important; }
.etea-text-neutral { color: var(--etea-neutral); }
.etea-text-success { color: var(--etea-bullish) !important; }

/* Helpers Flexbox */
.etea-flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/* --- 4. LISTS (Champions / Top Performers / Upcoming) --- */

.etea-list-compact {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

.etea-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dotted var(--stock404-light-grey);
}

.etea-list-item:last-child {
    border-bottom: none;
}

/* Liens dans les listes */
.etea-list-item a, 
.etea-event-link {
    text-decoration: none;
    color: var(--stock404-white, #fff);
    transition: color 0.2s ease-in-out;
}

.etea-list-item a:hover, 
.etea-event-link:hover {
    color: var(--stock404-neon-green);
}

.etea-item-date {
    display: block;
    font-size: 0.75em;
    color: var(--stock404-light-grey);
    margin-top: 2px;
}

.etea-view-more {
    width: 100%;
    text-align: right;
    margin-top: 15px;
    font-size: 0.8em;
}

.etea-view-more a {
    color: var(--stock404-neon-green);
    text-decoration: none;
}

/* --- 5. BADGES --- */

.etea-badge {
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.75em;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.etea-bg-bullish { 
    background-color: var(--etea-bullish-bg); 
    color: var(--etea-bullish); 
    border: 1px solid var(--etea-bullish);
}

.etea-bg-bearish { 
    background-color: var(--etea-bearish-bg); 
    color: var(--etea-bearish); 
    border: 1px solid var(--etea-bearish);
}

.etea-bg-neutral { 
    background-color: var(--etea-neutral-bg); 
    color: var(--etea-neutral); 
    border: 1px solid var(--etea-neutral);
}

/* =========================================
   BADGES CHAMPIONS (Dashboard)
   ========================================= */

.etea-champ-badge { 
    font-size: 0.65em; 
    padding: 2px 5px; 
    border-radius: 3px; 
    font-weight: bold; 
    border: 1px solid transparent; 
}

/* Accuracy (Blue) */
.etea-badge-acc { 
    background: rgba(0, 212, 255, 0.15); 
    color: #00d4ff; 
    border-color: #00d4ff; 
}

/* Gap Profit (Green) */
.etea-badge-fin-gap { 
    background: rgba(57, 255, 20, 0.15); 
    color: #39ff14; 
    border-color: #39ff14; 
}

/* Post Profit (Yellow/Orange) */
.etea-badge-fin-post { 
    background: rgba(255, 193, 7, 0.15); 
    color: #ffc107; 
    border-color: #ffc107; 
}

/* Gap Growth (Pink/Magenta) */
.etea-badge-gro-gap { 
    background: rgba(255, 0, 221, 0.15); 
    color: #ff00dd; 
    border-color: #ff00dd; 
}


/* --- 6. SEARCH BAR (Style Néon Compact) --- */

.etea-search-form {
    display: flex; 
    gap: 10px; 
    align-items: center;
    width: 100%; 
    margin: 10px 0 0 0; 
    
    /* Néon Style */
    background: var(--stock404-dark-grey, #1a1a1a);
    border: 1px solid var(--stock404-neon-green);
    border-radius: 5px; 
    padding: 8px; 
    box-shadow: 0 0 8px rgba(57, 255, 20, 0.2);
    color: var(--stock404-white, #fff);
}

.etea-search-form input[type="text"] {
    flex-grow: 1; 
    border: none; 
    background: transparent; 
    color: inherit; 
    padding: 5px; 
    font-size: 1em; 
    outline: none;
}

.etea-search-form button.button-primary {
    background: var(--stock404-neon-green);
    color: var(--stock404-dark-grey, #000);
    border: none;
    padding: 6px 15px; 
    border-radius: 3px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s;
}

.etea-search-form button.button-primary:hover {
    box-shadow: 0 0 10px var(--stock404-neon-green);
    color: #000;
}

/* --- 7. BUTTONS (Standard & Full Width) --- */

.button.button-secondary {
    background-color: transparent;
    border: 1px solid var(--stock404-neon-green);
    color: var(--stock404-neon-green);
    padding: 8px 12px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.9em;
    display: inline-block;
    transition: all 0.2s ease-in-out;
    text-align: center;
}

.button.button-secondary:hover {
    background-color: var(--stock404-neon-green);
    color: var(--stock404-dark-grey, #000);
    box-shadow: 0 0 8px rgba(57, 255, 20, 0.4);
}

.etea-btn-full {
    width: 100%;
    margin-top: 15px;
    box-sizing: border-box;
}

/* =========================================
   FREE DASHBOARD TEASER STYLES
   ========================================= */

/* Effet de flou pour le texte caché */
.etea-blur-text {
    filter: blur(5px);
    opacity: 0.6;
    user-select: none;
    cursor: default;
    color: var(--stock404-light-grey);
}

/* Conteneur globalement flouté */
.etea-blur-container {
    opacity: 0.7;
    pointer-events: none; /* Empêche le clic sur les liens floutés */
}

/* Conteneur verrouillé (Cadenas) */
.etea-locked-content {
    text-align: center;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 150px;
}

.etea-lock-icon {
    font-size: 3em;
    margin: 15px 0;
    opacity: 0.5;
    color: var(--stock404-light-grey);
}

/* Bouton pleine largeur pour l'upsell */
.etea-btn-full {
    width: 100%;
    display: block;
    text-align: center;
    margin-top: 15px;
    box-sizing: border-box;
}

/* Espacement spécifique */
.etea-mt-10 { margin-top: 10px; }


/* --- CORRECTION TOOLTIP --- */
.etea-custom-tooltip {
    /* Cache par défaut */
    display: none;
    position: absolute;
    /* Styles visuels */
    background-color: #333;
    color: #fff;
    border: 1px solid #00ff00; /* Bordure néon */
    padding: 10px;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    z-index: 10000; /* Plus haut que tout */
    /* Texte */
    font-size: 13px;
    line-height: 1.5;
    pointer-events: none; /* Ne doit pas bloquer les clics sous la souris */
    max-width: 300px;
    text-align: left;
}

/* Style de chaque ligne pour le calendrier (correction) */
.etea-custom-tooltip .etea-tooltip-line {
    display: block; /* Force chaque span à prendre une nouvelle ligne */
    line-height: 1.3;
    white-space: nowrap; 
}

/* Style de la CLÉ du champ (le mot en gras) */
.etea-custom-tooltip .etea-tooltip-line strong {
    color: #99ff99; /* Vert néon pour les clés (Ticker:, Sector:, etc.) */
    font-weight: bold;
    display: inline-block; 
    margin-right: 5px;
}
/* --- FIN CORRECTION TOOLTIP --- */

/* --- Styles des Bulles de la Carte --- */
.etea-bubble-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 5px; /* Petit espace entre les bulles */
    align-items: flex-start;
    padding: 10px 0;
}

.etea-bubble-cell {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    color: #000; /* Texte noir par défaut */
    font-weight: bold;
    font-size: 11px;
    padding: 2px;
    transition: transform 0.2s, box-shadow 0.2s;
    cursor: pointer;
}

.etea-bubble-cell:hover {
    transform: scale(1.05);
    box-shadow: 0 0 10px rgba(0, 255, 0, 0.7); /* Effet néon au survol */
    z-index: 50; /* S'assurer qu'il est au-dessus des voisins */
}

/* Couleurs des Bulles (Utilisation de l'exemple de la capture d'écran) */
.etea-bubble-cell.etea-direction-bullish {
    background-color: #388e3c; /* Vert foncé */
    border: 1px solid #66bb6a;
    color: #ffffff;
}

.etea-bubble-cell.etea-direction-bearish {
    background-color: #d32f2f; /* Rouge foncé */
    border: 1px solid #ef5350;
    color: #ffffff;
}

/* Indicateur de chargement AJAX */
.etea-loading-overlay {
    position: relative;
    min-height: 100px; /* Minimum height pour l'overlay */
}

.etea-loading-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(34, 34, 34, 0.8); /* Semi-transparent overlay */
    z-index: 10;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.etea-loader {
    border: 4px solid var(--stock404-light-grey);
    border-top: 4px solid var(--stock404-neon-green);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 1s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -15px; /* Centrer */
    margin-left: -15px; /* Centrer */
    z-index: 11;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Styles pour les en-têtes de tableau collants (sticky headers) */
.etea-table-responsive {
    overflow: auto; /* Permet le défilement */
    max-height: 600px; /* Hauteur maximale pour le défilement */
    border-radius: 6px;
    border: 1px solid var(--stock404-border-grey); /* Bordure pour le conteneur */
    /* RÈGLES STANDARDS POUR FIREFOX (moins d'impact mais bonnes pratiques) */
    scrollbar-width: thin;
    scrollbar-color: var(--stock404-neon-green) var(--stock404-dark-grey);
}

/* --- DÉBUT : Personnalisation de la barre de défilement Webkit (Chrome, Edge, Safari) --- */

/* La piste (la zone où se déplace le bouton) */
.etea-table-responsive::-webkit-scrollbar {
    width: 8px; /* Épaisseur de la barre verticale */
    height: 8px; /* Hauteur de la barre horizontale */
    background-color: var(--stock404-dark-grey); /* Couleur de la piste (fond) */
}

/* Le bouton (la glissière) */
.etea-table-responsive::-webkit-scrollbar-thumb {
    background-color: var(--stock404-neon-green); /* Couleur du bouton (Néon Vert) */
    border-radius: 4px; /* Arrondi */
    /* Petite lueur verte pour qu'il soit toujours visible */
    box-shadow: 0 0 3px rgba(var(--rgb-neon-green), 0.8); 
}

/* État survolé/actif (pour l'accentuation) */
.etea-table-responsive::-webkit-scrollbar-thumb:hover {
    background-color: var(--color-bullish); 
}

/* Coin (là où les barres verticale et horizontale se rejoignent) */
.etea-table-responsive::-webkit-scrollbar-corner {
    background: var(--stock404-dark-grey);
}

/* --- FIN : Personnalisation de la barre de défilement Webkit --- */

.etea-table-responsive table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0; /* Important pour sticky header */
}

.etea-table-responsive thead {
    position: sticky; /* Rends le thead collant */
    top: 0; /* Colle en haut du conteneur parent qui défile */
    z-index: 10; /* Assure qu'il est au-dessus du contenu */
    background-color: var(--stock404-dark-grey); /* Garde le fond pour éviter la transparence */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Ombre pour le distinguer */
}

.etea-table-responsive th {
    white-space: nowrap;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .etea-analysis-container h2 {
        font-size: 1.8em;
    }
    .etea-finviz-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .etea-footer-grid {
        grid-template-columns: 1fr 1fr; /* 2 colonnes sur tablette */
    }
}

@media (max-width: 600px) {
    .etea-footer-grid {
        grid-template-columns: 1fr; /* 1 colonne sur mobile */
        gap: 30px;
        text-align: center;
    }
    .etea-footer-status-bar { flex-direction: column; text-align: center; gap: 5px; }
}

@media (max-width: 768px) {
    .etea-dashboard-grid {
        grid-template-columns: 1fr; /* Une seule colonne sur mobile */
    }
    
    .etea-span-2 {
        grid-column: span 1 !important;
    }

    .etea-search-form {
        flex-direction: column;
        align-items: stretch;
    }
    
    .etea-search-form button {
        width: 100%;
        margin-top: 5px;
    }
}

@media (max-width: 768px) {
    .etea-dashboard-grid {
        grid-template-columns: 1fr; /* Stack dashboard columns on smaller screens */
    }

    .etea-full-calendar-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur les petites tablettes */
    }

    .etea-calendar-day-header-row {
        grid-column: span 2; /* Les headers s'étendent sur 2 colonnes */
    }

    .etea-calendar-day-label {
        width: 50%; /* Chaque label prend la moitié */
        display: inline-block;
    }

    .etea-calendar-navigation h3 {
        font-size: 1.2em;
    }

    .etea-calendar-navigation .button {
        padding: 6px 10px;
        font-size: 0.8em;
    }

    .etea-calendar-day-cell {
        min-height: 120px;
    }

    .etea-calendar-date {
        font-size: 1.1em;
    }

    .etea-calendar-event {
        font-size: 0.75em;
        padding: 4px 6px;
    }

    .etea-bubble-grid {
        gap: 5px;
    }

    .etea-bubble-cell {
        min-width: 80px; /* Smaller min width */
        min-height: 60px; /* Smaller min height */
        padding: 5px;
        font-size: 0.9em;
    }

    .etea-bubble-cell .ticker {
        font-size: 1em;
    }

    .etea-bubble-cell .gap-percent {
        font-size: 0.8em;
    }
}

/* --------------------------------------------------------------------------
   MEDIA QUERY: MOBILE (Activer le hamburger et masquer la liste)
   -------------------------------------------------------------------------- */


@media (max-width: 768px) {
    
    /* ACTIVER LE BOUTON HAMBURGER ET LE PLACER À DROITE */
    .etea-menu-toggle {
        display: block; /* Rendre le bouton visible sur mobile */
        order: 2; /* S'assurer qu'il est après le Log In/Out (s'il était là) */
    }
    
    /* Le NAV doit prendre toute la largeur du conteneur */
    .etea-header-nav {
        width: 100%;
        justify-content: space-between;
        margin-left: 0;
        position: relative; /* Nécessaire pour le déroulement de la liste UL */
    }
    
    /* Conteneur d'actions (seulement le hamburger) */
    .etea-header-actions {
        margin-left: auto;
        order: 2; 
    }
    
    /* Masquer la liste de navigation par défaut */
    .etea-header-nav-list {
        display: none; /* Masquer par défaut */
        position: absolute; 
        top: 100%; 
        left: 0;
        width: 100%;
        background-color: var(--stock404-mid-dark-bg); 
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
        padding: 10px 20px;
        z-index: 999;
        flex-direction: column; 
        align-items: flex-start;
        gap: 5px;
    }
    
    /* Afficher la liste lorsque la classe 'active' est présente */
    .etea-header-nav-list.active {
        display: flex;
    }

    /* Les liens de la liste prennent toute la largeur sur mobile */
    .etea-header-nav-list li.etea-nav-item {
        width: 100%;
        text-align: left;
    }
    /* Le sous-menu doit s'afficher en colonne et prendre toute la largeur du parent déroulé */
    .etea-header-nav-list .etea-submenu {
        display: none; /* Doit être géré par le JS du Hamburger */
    }
    
    /* Masquer la flèche sur le mobile (pas nécessaire pour le menu déroulant vertical) */
    .etea-header-nav-list .dropdown-arrow {
        display: none; 
    }

    /* Le lien parent doit être un bloc normal */
    .etea-header-nav-list li.etea-nav-item {
        width: 100%;
    }

}

/* Media Query pour les petits écrans (empilement) */
@media (max-width: 768px) {
    .etea-calendar-day-header-row,
    .etea-calendar-days-row {
        grid-template-columns: 1fr; /* Empilement sur mobile */
    }
    .etea-calendar-day-label {
        border-bottom: none;
    }
    .etea-calendar-day-group {
        border-left: none;
        border-right: none;
    }
}

@media (max-width: 767px) {
    .etea-analysis-container {
        padding: 18px;
    }

    .etea-analysis-container h2 {
        font-size: 1.6em;
    }
    
    .etea-analysis-container h3 {
        font-size: 1.4em;
    }

    .etea-main-content-grid {
        grid-template-columns: 1fr;
    }
    
    .etea-full-analysis-table th,
    .etea-full-analysis-table td,
    .etea-screener-table th,
    .etea-screener-table td,
    .etea-top-performers-section th,
    .etea-top-performers-section td,
    .etea-news-section th,
    .etea-news-section td,
    .etea-calendar-overview-table th,
    .etea-calendar-overview-table td {
        padding: 8px;
        font-size: 0.75em;
    }

    .etea-full-analysis-table .etea-commentary-cell {
        max-height: 80px;
    }

    /* Heatmap adjustments for smaller screens */
    .etea-heatmap-grid {
        grid-template-columns: auto repeat(3, minmax(40px, 1fr)); 
    }

    .etea-heatmap-day-header,
    .etea-heatmap-cell {
        font-size: 0.7em;
        min-width: 40px; 
    }

    .etea-heatmap-week-header {
        font-size: 0.7em;
        padding: 3px;
    }

    /* Table responsive styling (mobile) */
    .etea-table-responsive {
        overflow-x: auto; 
        width: 100%;
    }

    .etea-table-responsive table {
        min-width: 600px; 
    }

    /* Screener filters stack */
    .etea-screener-filters {
        flex-direction: column;
    }

    .etea-screener-filters select,
    .etea-screener-filters input {
        min-width: 100%;
    }

    .etea-screener-filters .button-primary {
        margin-left: 0;
        width: 100%;
    }

    .etea-screener-filters label {
        text-align: left;
    }

    .etea-calendar-grid {
        grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); 
    }

    .etea-calendar-day-label {
        display: none; 
    }

    .etea-calendar-timing-row {
        grid-column: span 1;
        display: grid;
        grid-template-columns: 1fr;
    }
    .etea-calendar-timing-header-group {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .etea-calendar-day-group {
        grid-column: span 1;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

/* Media Query pour les petits écrans */
@media (max-width: 600px) {
    .etea-404-container {
        padding: 20px;
        margin: 5vh 10px;
    }
    .etea-404-title {
        font-size: 2em;
    }
}

@media (max-width: 480px) {
    .etea-analysis-container {
        padding: 15px;
    }

    .etea-analysis-container h2 {
        font-size: 1.6em;
    }

    .etea-analysis-container h3 {
        font-size: 1.3em;
    }

    .etea-card {
        padding: 15px;
    }

    .etea-commentary-toggle .etea-toggle-button {
        width: 100%;
        margin-bottom: 10px;
    }

    /* Specific adjustment if tables still too wide */
    .etea-table-responsive table {
        min-width: 600px; 
    }

    .etea-heatmap-grid {
        grid-template-columns: auto repeat(3, minmax(40px, 1fr)); 
    }
    
    .etea-full-calendar-grid {
        grid-template-columns: 1fr; /* 1 colonne sur les téléphones */
    }

    .etea-calendar-day-header-row {
        grid-column: span 1; /* Le header s'étend sur 1 colonne */
    }

    .etea-calendar-day-label {
        width: 100%; /* Chaque label prend la totalité */
    }

    .etea-calendar-navigation {
        flex-wrap: wrap;
        justify-content: center;
    }

    .etea-calendar-navigation h3 {
        width: 100%;
        margin-bottom: 15px;
    }

    .etea-calendar-navigation .button {
        width: 48%;
        text-align: center;
    }

    .etea-calendar-day-cell {
        min-height: 100px;
        padding: 8px;
    }

    .etea-bubble-grid {
        gap: 3px;
    }

    .etea-bubble-cell {
        min-width: 70px; /* Even smaller */
        min-height: 50px;
        padding: 3px;
        font-size: 0.8em;
    }

    .etea-bubble-cell .ticker {
        font-size: 0.9em;
    }

    .etea-bubble-cell .gap-percent {
        font-size: 0.7em;
    }
}
