/* --- BASE FLUIDE (15px équivalent) — densité App-First --- */
html { font-size: 0.875rem; }

/* --- RESET --- */
#avision-dashboard-root {
    width: 100%;
    max-width: min(100vw, 1440px);
    margin: 0 auto;
    padding: 0 0.75rem;
    position: relative;
    background-color: var(--bg-app);
    font-family: 'Inter', sans-serif;
    color: var(--text-main);
    line-height: 1.3;
    font-size: 0.75rem !important; /* Densification Master (base 12px) — 1200px Optimization */
    box-sizing: border-box;
    overflow-x: hidden;
    pointer-events: auto !important;
}
#avision-dashboard-root *, #avision-dashboard-root *::before, #avision-dashboard-root *::after { box-sizing: border-box; }

/* DESIGN SYSTEM — Version Élite (palette restreinte et luxueuse) */
:root {
    /* Fonds et Neutres (60%) */
    --bg-app: #f1f5f9;
    --bg-card: #ffffff;
    --border-color: #e2e8f0;
    --text-main: #0f172a;
    --text-muted: #64748b;
    /* Signature Autorité (30%) */
    --avi-navy: #0f172a;
    --avi-navy-light: #1e293b;
    --primary-blue: #2563eb;
    /* Accents de Conversion (10%) — RÉSERVÉ PREMIUM */
    --premium-gold: #d97706;
    --premium-bg: #fffbeb;
    /* États Fonctionnels (Discrets) */
    --success-soft: #059669;
    --danger-soft: #dc2626;
    /* Compatibilité références existantes */
    --border: var(--border-color);
    --primary: var(--primary-blue);
    --primary-dark: var(--primary-blue);
    --accent: var(--premium-gold);
    --success: var(--success-soft);
    --success-bg: #dcfce7;
    --danger: var(--danger-soft);
    --warning: var(--premium-gold);
    --warning-bg: var(--premium-bg);
    --warning-border: rgba(217, 119, 6, 0.35);
    --warning-text: #92400e;
    --info-bg: #eff6ff;
    --info-border: #93c5fd;
    --info-text: #1e40af;
    --bonus-purple: #9333ea;
    --bonus-bg: #f5f3ff;
    --bonus-text: #5b21b6;
    --emerald: var(--success-soft);
    --max-width: min(95vw, 1440px);
}

/* --- ANIMATIONS --- */
@keyframes pulse-blue { 0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7); } 70% { box-shadow: 0 0 0 15px rgba(59, 130, 246, 0); } 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); } }
@keyframes avi-shake { 0% { transform: rotate(0deg); } 25% { transform: rotate(10deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-10deg); } 100% { transform: rotate(0deg); } }

#avision-dashboard-root .pulse-button { animation: pulse-blue 2s infinite; border-color: var(--primary) !important; position: relative; z-index: 10; }
#avision-dashboard-root .avi-shaking { animation: avi-shake 0.5s ease-in-out; animation-iteration-count: 3; }

/* Spotlight */
#avision-dashboard-root .spotlight-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 99999; display: none !important; opacity: 0; transition: opacity 0.3s; pointer-events: none !important; }
#avision-dashboard-root .spotlight-overlay.active { display: block; opacity: 1; pointer-events: auto; }
#avision-dashboard-root .highlighted-element { position: relative; z-index: 100000 !important; box-shadow: 0 0 0 4px var(--primary), 0 0 50px rgba(0,0,0,0.5) !important; background: white; border-radius: 8px; transition: all 0.3s; }

/* Layout Components - Optimisé pour un affichage compact */
#avision-dashboard-root .top-nav { background: var(--bg-card); border-bottom: 1px solid var(--border-color); padding: 0 1.25rem; height: 3.75rem; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1000; }
#avision-dashboard-root .top-nav .logo { color: var(--text-main); }
#avision-dashboard-root .top-nav .notif-btn { color: var(--text-main); }
#avision-dashboard-root .top-nav .notif-btn:hover { background: rgba(0,0,0,0.06); }
#avision-dashboard-root .top-nav .notif-btn.active { color: var(--premium-gold); }
#avision-dashboard-root .top-nav .nav-link { color: var(--text-main); }
body.admin-bar #avision-dashboard-root .top-nav { top: 1.6rem; }

/* --- Agency (déplacé dans assets/css/agency-dashboard.css, chargé uniquement sur page-agency-dashboard.php) --- */

#avision-dashboard-root .nav-left, #avision-dashboard-root .nav-right { display: flex; align-items: center; gap: 1.25rem; }
#avision-dashboard-root .nav-right .header-flags { flex-shrink: 0; display: flex; gap: 0.3125rem; align-items: center; background: rgba(0,0,0,0.03); padding: 0.3125rem 0.625rem; border-radius: 20px; }
#avision-dashboard-root .nav-left { gap: 0.75rem; }
/* Badge Moteur Métier (secteur IA) */
#avision-dashboard-root .trade-engine-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.875rem;
    background: rgba(15, 23, 42, 0.85);
    border: 1px solid rgba(16, 185, 129, 0.5);
    border-radius: 8px;
    font-family: 'Consolas', 'Monaco', 'SF Mono', monospace;
    font-size: 0.8rem;
    color: #94a3b8;
    line-height: 1.3;
}
#avision-dashboard-root .trade-engine-badge .pulse-dot {
    display: inline-block;
    animation: trade-pulse 1.5s ease-in-out infinite;
}
@keyframes trade-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.7; transform: scale(1.1); }
}
#avision-dashboard-root .trade-engine-badge #user-sector-display {
    color: #34d399;
    font-weight: 700;
}
#avision-dashboard-root .trade-engine-badge.status-active .trade-engine-trailing-activé {
    display: none;
}
#avision-dashboard-root .trade-engine-badge.status-active {
    border-color: rgba(16, 185, 129, 0.7);
    background: rgba(15, 23, 42, 0.92);
}
#avision-dashboard-root .logo { font-size: 1.5rem; font-weight: 800; color: var(--text-main); display: flex; align-items: center; gap: 0.5rem; text-decoration: none; border: none; }
#avision-dashboard-root .logo .avision-header-logo-img { display: block; width: auto; height: auto; max-width: 2.5rem; max-height: 2.5rem; object-fit: contain; aspect-ratio: 1 / 1; }
#avision-dashboard-root .notif-btn { font-size: 1.4rem; cursor: pointer; position: relative; padding: 0.5rem; border-radius: 50%; transition: background 0.2s; user-select: none; }
#avision-dashboard-root .notif-btn:hover { background: #f1f5f9; }
#avision-dashboard-root .notif-btn.active { color: var(--accent); }
#avision-dashboard-root .notif-btn.active::after { content: '\2713'; position: absolute; top: 0; right: 0; background: var(--success); color: white; font-size: 0.7rem; width: 1rem; height: 1rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid white; }
@keyframes unlock-blink { 0%, 100% { background: var(--success); color: white; box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); transform: scale(1.1); } 50% { background: #34d399; color: white; box-shadow: 0 0 20px 4px rgba(16, 185, 129, 0.6); transform: scale(1.2); } }
#avision-dashboard-root .notif-btn.unlock-blink { animation: unlock-blink 1s ease-in-out infinite; border-radius: 50%; }
#avision-dashboard-root .header-flags { display: flex; gap: 0.3125rem; align-items: center; background: rgba(0,0,0,0.03); padding: 0.3125rem 0.625rem; border-radius: 20px; }
#avision-dashboard-root .header-flag { font-size: 1.4rem; cursor: pointer; opacity: 0.4; transition: all 0.2s; filter: grayscale(100%); line-height: 1; padding: 0.5rem; user-select: none; display: inline-block; }
#avision-dashboard-root .header-flag:hover, #avision-dashboard-root .header-flag.active { opacity: 1; filter: grayscale(0%); transform: scale(1.1); }

/* Point d'entrée Espace Membre (Ghost) — trigger + panneau (header blanc) */
#avision-dashboard-root .user-profile-trigger,
.user-profile-trigger {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.8rem; height: 1.8rem; min-width: 1.8rem; min-height: 1.8rem;
    border-radius: 50%; cursor: pointer; user-select: none;
    background: rgba(0,0,0,0.06); color: var(--text-main);
    font-size: 0.9rem; font-weight: 700; transition: background 0.2s, transform 0.2s;
}
#avision-dashboard-root .user-profile-trigger:hover,
.user-profile-trigger:hover { background: rgba(0,0,0,0.1); transform: scale(1.05); }
#avision-dashboard-root .user-profile-trigger .user-profile-trigger-initials,
.user-profile-trigger .user-profile-trigger-initials {
    line-height: 1; cursor: pointer; pointer-events: auto;
}
/* User Orbit Panel — hauteur adaptée à l'écran, footer (déconnexion) = enfant direct, toujours visible */
.user-orbit-panel {
    position: fixed; top: 0; right: 0; width: 21rem; max-width: 90vw;
    height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh;
    background: rgba(15, 23, 42, 0.72); color: #e2e8f0;
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    box-shadow: -4px 0 24px rgba(0,0,0,0.3); z-index: 9999;
    transform: translateX(100%); visibility: hidden;
    transition: transform 0.38s cubic-bezier(0.33, 1, 0.68, 1), visibility 0.38s cubic-bezier(0.33, 1, 0.68, 1);
    border-left: 1px solid rgba(255,255,255,0.05);
    overflow: hidden;
}
.user-orbit-panel.is-visible { transform: translateX(0); visibility: visible; }
/* Inner : hauteur = écran, footer en position absolue en bas pour être toujours visible */
.user-orbit-panel-inner {
    position: relative;
    display: flex; flex-direction: column;
    height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh;
    min-height: 0; overflow: hidden;
}
.user-orbit-panel-header {
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: space-between;
    padding: 3rem 1.25rem 1rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.05);
}
.user-orbit-panel-header-actions { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }
/* Déconnexion dans le header : toujours visible en haut du volet */
#user-orbit-panel .user-orbit-btn-logout-header {
    display: inline-block !important; padding: 0.4rem 0.75rem; font-size: 0.8rem; font-weight: 600;
    background: rgba(239, 68, 68, 0.2) !important; color: #ef4444 !important; border: 1px solid #ef4444 !important;
    border-radius: 6px; text-decoration: none !important; white-space: nowrap;
    visibility: visible !important; opacity: 1 !important;
}
#user-orbit-panel .user-orbit-btn-logout-header:hover { background: #ef4444 !important; color: #fff !important; }
.user-orbit-panel-title { font-size: 0.95rem; font-weight: 700; }
.user-orbit-panel-close {
    background: none; border: none; color: #94a3b8; font-size: 1.5rem; cursor: pointer;
    padding: 0.25rem; line-height: 1; transition: color 0.2s;
}
.user-orbit-panel-close:hover { color: #fff; }
.user-orbit-panel-body {
    flex: 1 1 auto; overflow: auto; padding: 1.25rem; padding-bottom: 5rem; min-height: 0; -webkit-overflow-scrolling: touch;
}
.user-orbit-section { margin-bottom: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.05); }
.user-orbit-section:first-child { border-top: none; padding-top: 0; margin-top: 0; }
.user-orbit-section-title { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #94a3b8; margin: 0 0 0.5rem 0; }
.user-orbit-email { font-size: 0.95rem; color: #e2e8f0; margin: 0; word-break: break-all; }
.user-orbit-password-form label { display: block; font-size: 0.8rem; color: #94a3b8; margin-bottom: 0.25rem; }
.user-orbit-password-form input[type="password"],
.user-orbit-panel input[type="text"],
.user-orbit-panel input[type="email"] {
    width: 90%; max-width: 100%; padding: 0.5rem 0.75rem; margin-bottom: 0.75rem;
    border: 1px solid rgba(255,255,255,0.15); border-radius: 6px;
    background: rgba(0,0,0,0.2); color: #e2e8f0; font-size: 0.9rem;
    box-sizing: border-box; display: block;
}
.user-orbit-password-form input:focus,
.user-orbit-panel input:focus { outline: none; border-color: rgba(245,158,11,0.5); }
.user-orbit-btn { display: inline-block; padding: 0.6rem 1rem; border-radius: 8px; font-size: 0.9rem; font-weight: 600; text-decoration: none; text-align: center; cursor: pointer; border: none; transition: opacity 0.2s, transform 0.02s; }
.user-orbit-btn-secondary { background: rgba(255,255,255,0.1); color: #e2e8f0; margin-top: 0.25rem; }
.user-orbit-btn-secondary:hover { opacity: 0.9; }
.user-orbit-btn-loading { pointer-events: none; position: relative; }
.user-orbit-btn-loading .user-orbit-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: user-orbit-spin 0.7s linear infinite;
    vertical-align: middle;
    margin-right: 6px;
}
@keyframes user-orbit-spin { to { transform: rotate(360deg); } }
/* Alerte succès/erreur : juste au-dessus du bouton, apparition en fondu */
.user-orbit-password-feedback {
    margin-bottom: 0.75rem; padding: 0.625rem 0.75rem; border-radius: 8px; font-size: 0.9rem;
}
.user-orbit-password-feedback.user-orbit-feedback-visible {
    animation: user-orbit-fadein 0.35s ease-out forwards;
}
@keyframes user-orbit-fadein { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.user-orbit-profiles-list { list-style: none; margin: 0; padding: 0; }
.user-orbit-profile-item { margin-bottom: 0.5rem; }
.user-orbit-profile-link { display: block; padding: 0.5rem 0.75rem; border-radius: 6px; color: #e2e8f0; text-decoration: none; font-size: 0.9rem; transition: background 0.2s; }
.user-orbit-profile-link:hover { background: rgba(255,255,255,0.08); }
.user-orbit-profile-item.active .user-orbit-profile-link { background: rgba(245,158,11,0.2); color: #fcd34d; }
/* Footer = enfant direct de #user-orbit-panel, collé en bas du panneau (toujours visible) */
#user-orbit-panel .user-orbit-panel-footer,
.user-orbit-panel-footer {
    position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    width: 100%; padding: 1rem 1.25rem; border-top: 1px solid rgba(255,255,255,0.05);
    background: rgba(0, 0, 0, 0.5) !important; z-index: 100;
    display: block !important; visibility: visible !important; opacity: 1 !important;
}
/* Bouton déconnexion : forcé visible, rouge */
#user-orbit-panel #user-orbit-btn-logout,
#user-orbit-panel .user-orbit-panel-footer .user-orbit-btn-logout,
#user-orbit-panel .user-orbit-btn-logout {
    display: block !important; width: 100% !important; padding: 0.65rem 1rem !important;
    background: rgba(239, 68, 68, 0.2) !important; color: #ef4444 !important; border: 2px solid #ef4444 !important;
    border-radius: 8px; font-size: 0.9rem; font-weight: 600; text-align: center;
    text-decoration: none !important; transition: background 0.2s, color 0.2s, border-color 0.2s;
    visibility: visible !important; opacity: 1 !important; box-sizing: border-box;
}
#user-orbit-panel .user-orbit-btn-logout:hover {
    background: #ef4444 !important; color: #fff !important; border-color: #ef4444 !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.35);
}
.user-orbit-message { font-size: 0.875rem; color: #94a3b8; margin: 0; }

/* Hero - Optimisé pour un affichage compact */
#avision-dashboard-root .saas-header { background: var(--avi-navy); color: white; padding: 2.4rem 0 3.2rem 0; margin-bottom: -2.1875rem; position: relative; overflow: hidden; z-index: 1; }
#avision-dashboard-root .saas-header::before { content: ''; position: absolute; top: -50%; right: -10%; width: 600px; height: 600px; background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, rgba(0,0,0,0) 70%); border-radius: 50%; pointer-events: none; }
#avision-dashboard-root .header-content { max-width: var(--max-width); margin: 0 auto; padding: 0 1.25rem; display: grid; grid-template-columns: 1.5fr 1fr; gap: 1.5rem; align-items: center; position: relative; z-index: 2; }
#avision-dashboard-root .business-info h1 { font-size: 1.2rem; font-weight: 800; margin: 0.875rem 0; letter-spacing: -0.5px; line-height: 1.2; color: white; }
#avision-dashboard-root .certif-badge { background: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.3); padding: 0.25rem 0.625rem; border-radius: 0.875rem; font-size: 0.75rem; font-weight: 600; display: inline-flex; align-items: center; gap: 0.25rem; margin-bottom: 0.75rem; }
#avision-dashboard-root .premium-badge { display: inline-block; background: linear-gradient(90deg, #fbbf24 0%, #d97706 100%); color: white; padding: 0.25rem 0.625rem; border-radius: 0.375rem; font-weight: 700; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.5px; box-shadow: 0 2px 8px rgba(251, 191, 36, 0.35); margin-top: 0.875rem; border: 1px solid rgba(255,255,255,0.3); }

/* Email Widget (compact) */
#avision-dashboard-root .email-widget-card { background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); padding: 0.9375rem; border-radius: 0.75rem; box-shadow: 0 8px 24px rgba(0,0,0,0.18); position: relative; z-index: 5; }
#avision-dashboard-root .widget-title { font-weight: 800; font-size: 0.95rem; margin-bottom: 0.3125rem; display: flex; align-items: center; gap: 0.375rem; color: white; }
/* Icône sauvegarde (évite le carré noir de l'emoji 💾) */
#avision-dashboard-root .widget-title-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z'/%3E%3Cpolyline points='17 21 17 13 7 13 7 21'/%3E%3Cpolyline points='7 3 7 8 15 8'/%3E%3C/svg%3E") center/contain no-repeat;
    flex-shrink: 0;
}
#avision-dashboard-root .widget-desc { font-size: 0.8rem; opacity: 0.9; margin-bottom: 0.625rem; line-height: 1.3; color: #e2e8f0; }
#avision-dashboard-root .email-widget-card #userEmailDisplay { font-size: 0.85rem; }
#avision-dashboard-root .email-row { display: flex; gap: 0.5rem; }
#avision-dashboard-root .email-input { flex: 1; background: rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); color: white; padding: 0.5rem 0.75rem; border-radius: 0.5rem; outline: none; font-size: 0.9rem; min-width: 0; }
#avision-dashboard-root .email-btn { background: var(--avi-navy); color: white; border: none; padding: 0.5rem 0.75rem; border-radius: 0.5rem; font-weight: 700; cursor: pointer; transition: background 0.2s; white-space: nowrap; font-size: 0.9rem; }
#avision-dashboard-root .email-btn:hover { background: var(--avi-navy-light); }
#avision-dashboard-root .secured-account { display: none; background: rgba(16, 185, 129, 0.2); border: 1px solid rgba(16, 185, 129, 0.4); padding: 0.5rem 0.625rem; border-radius: 0.5rem; color: #d1fae5; font-weight: 600; align-items: center; gap: 0.375rem; font-size: 0.8rem; }
/* Icône check connecté (évite le carré noir de l'emoji ✅) */
#avision-dashboard-root .secured-check-icon {
    display: inline-block;
    width: 0.85em;
    height: 0.85em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
    flex-shrink: 0;
}

/* Main Container - Gabarit 1200px, compact et pro. [cite: 2026-02-06] */
#avision-dashboard-root .container { width: 100%; max-width: var(--max-width); margin: 0 auto 1.25rem auto; padding: 0 0.5rem; position: relative; z-index: 10; }

/* Score & Stats — Centre d'Autorité : Card-Equalizer (hauteur alignée, bouton score = bas ligne 2 KPIs) */
#avision-dashboard-root .score-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0.75rem;
    margin-top: 1.25rem;
    margin-bottom: 0.875rem;
    align-items: start;
}
#avision-dashboard-root .score-grid .score-card-visibility {
    min-width: 0;
    align-self: start;
    grid-column: span 1;
    display: flex;
    flex-direction: column;
    height: auto;
}
#avision-dashboard-root .score-grid .avi-kpi-grid {
    min-width: 0;
    min-height: 0;
    align-self: start;
}
#avision-dashboard-root .score-card { background: #ffffff; border-radius: 14px; padding: 0.625rem; border: 1px solid #e2e8f0; box-shadow: 0 1px 3px rgba(0,0,0,0.06); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; font-family: 'Inter', sans-serif; }
#avision-dashboard-root .score-card-visibility #score-active-level-wrap {
    margin-top: 0.75rem;
}
#avision-dashboard-root .score-card h4 { color: var(--text-muted); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0; padding-bottom: 0.5rem; border-bottom: 1px solid #f1f5f9; }
#avision-dashboard-root .score-card-visibility .circular-chart { max-width: 180px; max-height: 180px; margin: 0 auto; }

/* Jauge Speedometer VIP (demi-lune + chevron) */
#avision-dashboard-root .avi-gauge-wrapper {
    position: relative;
    width: 100%;
    max-width: 180px;
    height: 11.25rem;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    box-sizing: border-box;
}
#avision-dashboard-root .score-card-visibility .avi-gauge-wrapper {
    flex-shrink: 0;
    max-width: 180px;
    margin: 0 auto;
}
#avision-dashboard-root .avi-gauge-wrapper canvas {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 100% !important;
    max-width: 100%;
    height: 180px !important;
    max-height: 11.25rem;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.08));
    box-sizing: border-box;
}
#avision-dashboard-root .gauge-center-content {
    position: absolute;
    left: 50%;
    top: 62%;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none;
    z-index: 1;
}
#avision-dashboard-root .gauge-center-content #gaugeScoreValue {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 2.1rem;
    font-weight: 900;
    color: #1e293b;
    line-height: 1.1;
    letter-spacing: -0.03em;
}
#avision-dashboard-root .gauge-center-content .gauge-label {
    margin-top: 2px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
}
#avision-dashboard-root .score-active-level-wrap { margin-top: 12px; width: 100%; font-size: 0.8125rem; line-height: 1.4; }
#avision-dashboard-root .score-active-level-label { display: block; color: var(--text-muted); font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 0.25rem; }
#avision-dashboard-root .score-active-level-title { font-weight: 700; color: var(--text-main); font-size: 0.8125rem; display: block; margin-bottom: 0.625rem; }
#avision-dashboard-root .score-access-step-btn { display: block; width: 100%; padding: 0.625rem 0.875rem; font-size: 0.8125rem; font-weight: 700; color: #fff; background: var(--avi-navy); border: none; border-radius: 8px; cursor: pointer; transition: background 0.2s, opacity 0.2s; }
#avision-dashboard-root .score-access-step-btn:hover { background: var(--avi-navy-light); }
#avision-dashboard-root .score-access-step-btn:active { opacity: 0.9; }
#avision-dashboard-root .circular-chart { display: block; max-width: 180px; margin: 0 auto; }
#avision-dashboard-root .circle-bg { fill: none; stroke: #eee; stroke-width: 3.8; }
#avision-dashboard-root .circle { fill: none; stroke-width: 2.8; stroke-linecap: round; transition: stroke-dasharray 1s ease, stroke 0.5s ease; }
#avision-dashboard-root .percentage { fill: #475569; font-family: sans-serif; font-weight: 800; font-size: 0.35em; text-anchor: middle; transition: all 0.5s ease; }
#avision-dashboard-root .circle.initial { stroke: #ef4444; stroke-dasharray: 42, 100; }
#avision-dashboard-root .circle.progress { stroke: #f59e0b; stroke-dasharray: 55, 100; }
#avision-dashboard-root .stat-row { display: flex; justify-content: space-between; width: 100%; margin-bottom: 0.625rem; border-bottom: 1px solid #f1f5f9; padding-bottom: 0.3125rem; }
#avision-dashboard-root .stat-label { color: var(--text-muted); font-size: 1.15rem; font-weight: 500; }
#avision-dashboard-root .stat-value { font-weight: 800; color: var(--text-main); font-size: 1.25rem; text-align: right; }
#avision-dashboard-root .stat-value.bad { color: var(--danger); }
#avision-dashboard-root .stat-value.good { color: var(--success); }
#avision-dashboard-root #user-rating-display,
#avision-dashboard-root #leader-rating-display { font-size: 1.35rem !important; }
#avision-dashboard-root #user-rating-display span,
#avision-dashboard-root #leader-rating-display span { font-size: 1.1rem !important; }

/* UPDATED: Motivation Grid (3 Columns) */
#avision-dashboard-root .motivation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; width: 100%; margin-top: 0.875rem; }
#avision-dashboard-root .motivation-box { background: #f0fdf4; border: 1px solid #bbf7d0; padding: 1rem; border-radius: 10px; text-align: center; }
#avision-dashboard-root .motivation-val { font-size: 1.3rem; font-weight: 900; color: #166534; display: block; margin-bottom: 0.3125rem; }
#avision-dashboard-root .motivation-lbl { font-size: 0.9rem; color: #15803d; font-weight: 700; text-transform: uppercase; }

/* Phase 1 Card - Optimisé pour un affichage compact */
#avision-dashboard-root .card { background: var(--bg-card); border-radius: 12px; padding: 0.75rem; box-shadow: var(--shadow-premium); border: 1px solid var(--border-color); margin-bottom: 1.25rem; }
#avision-dashboard-root .phase-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--border-color); padding-bottom: 1rem; }
#avision-dashboard-root .phase1-success-accordion .phase1-success-header { margin-bottom: 0; border-bottom: none; padding-bottom: 0; cursor: pointer; transition: background 0.2s; border-radius: 10px; padding: 0.9375rem 1rem; }
#avision-dashboard-root .phase1-success-accordion .phase1-success-header:hover { background: rgba(16, 185, 129, 0.06); }
#avision-dashboard-root .phase1-success-accordion .phase1-chevron { font-size: 1.5rem; color: var(--success); transition: transform 0.3s ease; margin-left: auto; display: inline-block; }
#avision-dashboard-root .phase1-success-accordion .phase1-success-header[aria-expanded="true"] .phase1-chevron { transform: rotate(90deg); }
#avision-dashboard-root .phase1-accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; opacity: 0; }
#avision-dashboard-root .phase1-success-accordion .phase1-accordion-content.open { max-height: 800px; opacity: 1; transition: max-height 0.5s ease-in, opacity 0.3s ease; }
#avision-dashboard-root .phase1-success-accordion .phase1-accordion-content.open .ai-analysis-box { margin-top: 1.25rem; padding-top: 20px; border-top: 1px solid var(--border-color); }
#avision-dashboard-root .unlock-icon { font-size: 3rem; }
#avision-dashboard-root .phase-title { color: var(--danger); font-weight: 900; font-size: 1rem !important; text-transform: uppercase; letter-spacing: -0.01em; margin-bottom: 0.25rem; }
#avision-dashboard-root .phase-subtitle { font-size: 1.05rem; color: var(--text-muted); margin-top: 5px; }
#avision-dashboard-root .ai-analysis-box { background: #f8fafc; border-left: 6px solid var(--primary-dark); padding: 1.125rem; border-radius: 0 10px 10px 0; margin-bottom: 1.25rem; font-size: 1.05rem; line-height: 1.6; }
#avision-dashboard-root .tag { display: inline-block; background: white; border: 1px solid var(--border); padding: 0.3125rem 0.625rem; border-radius: 8px; font-weight: 700; color: var(--text-main); margin: 0.5rem 0.375rem 0 0; font-size: 0.95rem; }
#avision-dashboard-root .action-required { background: #ecfdf5; color: #065f46; padding: 1.125rem; border-radius: 10px; font-weight: 700; display: flex; align-items: center; gap: 0.875rem; border: 1px solid #a7f3d0; font-size: 1rem; flex-wrap: wrap; }

/* Strategy Box - Optimisé pour un affichage compact */
#avision-dashboard-root .strategy-box { background: var(--info-bg); border: 1px solid var(--info-border); color: var(--info-text); padding: 1.25rem; border-radius: 0.625rem; margin-bottom: 1.25rem; position: relative; overflow: hidden; }
#avision-dashboard-root .strategy-box h4 { font-size: 0.75rem; margin-bottom: 0.5rem; font-weight: 700; }
#avision-dashboard-root .strategy-box p { font-size: 1rem; margin-bottom: 0.75rem; }
#avision-dashboard-root .strategy-box ul { margin-top: 0.9375rem; padding-left: 1.25rem; font-size: 1.15rem; line-height: 1.8; }
#avision-dashboard-root .strategy-box::before { content: '📈'; position: absolute; right: -10px; bottom: -10px; font-size: 6rem; opacity: 0.1; }
#avision-dashboard-root .roadmap-warning { background: var(--warning-bg); border: 1px solid var(--warning-border); color: var(--warning-text); border-radius: 10px; margin-bottom: 2.1875rem; font-size: 1.15rem; line-height: 1.7; overflow: hidden; }
#avision-dashboard-root .roadmap-warning strong { font-weight: 800; }
/* Bandeau Sécurité VIP : design Navy, au-dessus de la grille des niveaux */
#avision-dashboard-root .roadmap-warning-vip {
    background: var(--avi-navy);
    border: 1px solid rgba(255,255,255,0.1);
    border-left: 4px solid var(--primary-blue);
    color: #ffffff;
    border-radius: 8px;
    margin-bottom: 1.25rem;
    font-size: 1rem;
    line-height: 1.7;
    overflow: hidden;
}
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-header {
    display: flex;
    align-items: center;
    gap: 0.9375rem;
    padding: 1rem;
    cursor: pointer;
    transition: background 0.2s;
}
#avision-dashboard-root .roadmap-warning-icon {
    font-size: 1.25rem;
    line-height: 1;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    padding: 0.25em 0.4em;
}
#avision-dashboard-root .roadmap-warning-icon.avi-icon-accent--orange {
    background: rgba(217, 119, 6, 0.35);
}
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-header:hover {
    background: rgba(255,255,255,0.06);
}
#avision-dashboard-root .roadmap-warning-vip .warning-icon.warning-icon-shield,
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-title .warning-icon-shield {
    font-size: 1.5rem;
    flex-shrink: 0;
    display: inline-block;
    animation: roadmap-shield-pulse 2s ease-in-out infinite;
}
@keyframes roadmap-shield-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.85; transform: scale(1.08); }
}
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-title {
    flex: 1;
    font-size: 0.95rem;
    font-weight: 800;
    text-transform: none !important; /* Casse exacte : "Séquençage de Sécurité : Votre Bouclier Anti-Spam" — jamais en majuscules */
    letter-spacing: 0.5px;
    color: #ffffff;
}
#avision-dashboard-root .roadmap-warning-title {
    text-transform: none !important; /* Sentence case : "Séquençage de Sécurité : Votre Bouclier Anti-Spam" — jamais en majuscules */
}
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-chevron {
    font-size: 1.5rem;
    transition: transform 0.3s ease;
    display: inline-block;
    color: rgba(255,255,255,0.8);
}
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-header[aria-expanded="true"] .roadmap-warning-chevron { transform: rotate(90deg); }
#avision-dashboard-root .roadmap-warning-learn-row {
    margin: 0;
    padding: 0 1rem 0.75rem 1rem;
    border-top: 1px solid rgba(255,255,255,0.08);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}
#avision-dashboard-root .roadmap-warning-learn-row .avi-learn-link--under-title {
    color: rgba(255,255,255,0.85);
    font-size: 0.8rem;
}
#avision-dashboard-root .roadmap-warning-learn-row .avi-learn-link--under-title:hover {
    color: #fde68a;
}
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-content.open .roadmap-warning-body {
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,0.1);
}
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-body {
    padding: 0 1.25rem 1.25rem 1.25rem;
}
#avision-dashboard-root .roadmap-warning-vip .avi-security-alert,
#avision-dashboard-root .roadmap-warning-vip .avi-security-alert p {
    color: rgba(255,255,255,0.95);
}
#avision-dashboard-root .roadmap-warning-vip .avi-security-alert strong {
    color: #ffffff;
    font-weight: 800;
}
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-header { display: flex; align-items: center; gap: 0.9375rem; padding: 1rem; cursor: pointer; transition: background 0.2s; }
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-header:hover { background: rgba(245, 158, 11, 0.08); }
#avision-dashboard-root .roadmap-warning-accordion .warning-icon { font-size: 1.5rem; flex-shrink: 0; }
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-title { flex: 1; }
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-chevron { font-size: 1.5rem; transition: transform 0.3s ease; display: inline-block; }
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-header[aria-expanded="true"] .roadmap-warning-chevron { transform: rotate(90deg); }
#avision-dashboard-root .roadmap-warning-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; }
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-content.open { max-height: 600px; transition: max-height 0.5s ease-in; }
#avision-dashboard-root .roadmap-warning-body { padding: 0 1.25rem 1.25rem 1.25rem; }
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-content.open .roadmap-warning-body { padding-top: 20px; border-top: 1px solid var(--warning-border); }
#avision-dashboard-root .warning-icon { font-size: 2rem; flex-shrink: 0; margin-top: 5px; }

/* Titres de section — Densification Master (h2/h3 → 0.9rem) */
#avision-dashboard-root h2,
#avision-dashboard-root h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.25rem;
}
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-title {
    color: #fde68a !important;
    font-weight: 800 !important;
    display: inline !important;
}

/* Titre Bouclier : casse respectée (SaaS Elite — Prompt 2) */
#avision-dashboard-root .roadmap-warning-title,
#avision-dashboard-root h1.roadmap-warning-title,
#avision-dashboard-root h2.roadmap-warning-title,
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-title,
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-title {
    text-transform: none !important; /* Titre Bouclier : Sentence case uniquement */
}
/* Phase, Programme (+90 Jours), Radar — titres cartes KPI/Radar → 0.75rem */
#avision-dashboard-root .phase-title,
#avision-dashboard-root h3#roadmap,
#avision-dashboard-root .keyword-radar-card-title {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    line-height: 1.25;
    letter-spacing: -0.01em;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
#avision-dashboard-root .roadmap-warning-title,
#avision-dashboard-root h1.roadmap-warning-title,
#avision-dashboard-root h2.roadmap-warning-title,
#avision-dashboard-root .roadmap-warning-accordion .roadmap-warning-title,
#avision-dashboard-root .roadmap-warning-vip .roadmap-warning-title {
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1.25;
    letter-spacing: -0.01em;
    margin-bottom: 0.25rem;
}

/* --- LAYOUT GRID & SIDE PANEL (Dashboard 2.0 - hauteur, titre, alignement) --- */
/* Safari/iOS : 100dvh évite le décalage de la barre d’adresse */
#avision-dashboard-root .dashboard-layout { display: flex; position: relative; width: 100%; min-height: 100vh; }
#avision-dashboard-root .dashboard-main { flex: 1; min-width: 0; width: 100%; }

/* GRILLE PRINCIPALE — 3 colonnes fixes (L1–L2–L3 = même largeur que L6–L7–L8), gap uniforme (Prompt 2 alignement) */
#avision-dashboard-root .levels-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.875rem;
    margin-top: 16px;
    margin-bottom: 1.25rem;
    width: 100%;
    max-width: 100%;
}
@media (max-width: 1024px) {
    #avision-dashboard-root .levels-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
}
@media (max-width: 640px) {
    #avision-dashboard-root .levels-grid { grid-template-columns: 1fr; gap: 0.75rem; margin: 0.75rem 0; }
}
#avision-dashboard-root #dynamic-roadmap-container { display: contents !important; }

/* CARTES NIVEAUX — remplissent la colonne grille, pas de max-width (Prompt 2) */
#avision-dashboard-root .level-card {
    background: #ffffff;
    pointer-events: auto !important;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.6rem 0.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    overflow: hidden;
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
}
/* Niveau 4 (Mode Gardien) : permettre aux infobulles de la grille des boucliers de dépasser la bordure */
#avision-dashboard-root #level4.level-card {
    overflow: visible;
    position: relative;
    z-index: 1;
}
#avision-dashboard-root #level4 .accordion-wrapper.open {
    overflow: visible;
}
#avision-dashboard-root .level-card:hover {
    border-color: rgba(37, 99, 235, 0.4);
    box-shadow: 0 4px 20px rgba(37, 99, 235, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px);
    transition: all 0.25s ease;
}
/* Edge : l'icône (::after) ne doit jamais intercepter le clic */
#avision-dashboard-root .level-card::after {
    pointer-events: none !important;
}
/* Structure interne des cartes : titre réduit pour garder +x% aligné à droite */
#avision-dashboard-root .card-left { display: flex; align-items: center; gap: 0.625rem; flex: 1; min-width: 0; }
/* Header avec card-left (L1–L3, L6–L10) : titre à gauche (annule .level-header qui met space-between) */
#avision-dashboard-root .level-header.card-left {
    justify-content: flex-start !important;
    text-align: left !important;
}
#avision-dashboard-root .lvl-tag { font-size: 0.75rem; font-weight: 800; color: var(--text-muted); opacity: 0.8; flex-shrink: 0; }
#avision-dashboard-root .lvl-title { font-size: 0.75rem; font-weight: 600; color: var(--text-main); margin: 0; line-height: 1.3; }
#avision-dashboard-root .level-card .level-header .level-title,
#avision-dashboard-root .level-card .level-card-top-row .level-title { 
    font-size: 0.75rem !important; 
    font-weight: 600; 
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
#avision-dashboard-root .lvl-pct { font-size: 0.75rem; font-weight: 800; color: var(--primary-blue); flex-shrink: 0; }
/* Compte à rebours sous le titre de la fiche, centré */
#avision-dashboard-root .level-card.level-card-has-timer { flex-wrap: wrap; }
#avision-dashboard-root .level-card-timer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    width: 100%;
    flex-basis: 100%;
    padding: 0.625rem 1rem;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    font-size: 0.95rem;
    margin-top: 0.5rem;
    box-sizing: border-box;
}
#avision-dashboard-root .level-card-timer-label { font-weight: 700; color: var(--text-muted); }
/* Timer sur cartes : indicateur "Sécurité Active" (teinte rassurante) */
#avision-dashboard-root .level-card.level-card-has-timer .level-card-timer {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border-radius: 8px;
    border: 1px solid rgba(5, 150, 105, 0.4);
    padding: 0.5rem 0.75rem;
    margin: 0 0.75rem 0.625rem;
}
#avision-dashboard-root .level-card.level-card-has-timer .level-card-timer-label { color: #047857; }
#avision-dashboard-root .level-card.level-card-has-timer .level-card-timer-value { color: #065f46; }
/* Compte à rebours XX:XX:XX sur cartes verrouillées (Sprint ou infusion) */
#avision-dashboard-root .level-card-timer-value {
    font-family: monospace;
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--primary-dark);
    letter-spacing: 0.02em;
}
/* Bloc droit (pourcentage + chevron) : chevron à droite du volet pour L4/L5 */
#avision-dashboard-root .lvl-right {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}
#avision-dashboard-root .lvl-right .chevron { flex-shrink: 0; }

/* L4/L5 : design ancien (level-header + level-number + level-status + chevron) */
#avision-dashboard-root .level-card-l4-l5 {
    display: block;
    min-height: auto;
}
#avision-dashboard-root .level-card-l4-l5 .level-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    transition: all 0.25s ease;
    width: 100%;
    box-sizing: border-box;
    border-radius: 10px 10px 0 0;
}
#avision-dashboard-root .level-card-l4-l5#level4 .level-header:hover {
    background: linear-gradient(90deg, rgba(217, 119, 6, 0.08) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--premium-gold), inset 0 0 0 1px rgba(217, 119, 6, 0.1);
}
#avision-dashboard-root .level-card-l4-l5#level5 .level-header:hover {
    background: linear-gradient(90deg, rgba(139, 92, 246, 0.06) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--bonus-purple), inset 0 0 0 1px rgba(139, 92, 246, 0.08);
}
#avision-dashboard-root .level-card-l4-l5 .level-number {
    display: flex;
    align-items: center;
    gap: 0.9375rem;
}
#avision-dashboard-root .level-card-l4-l5 .level-badge {
    background: var(--text-main);
    color: white;
    padding: 0.375rem 0.875rem;
    border-radius: 6px;
    font-weight: 800;
    font-size: 1rem;
    flex-shrink: 0;
}
#avision-dashboard-root .level-card-l4-l5#level4 .level-badge { background: var(--premium-gold); color: white; }
#avision-dashboard-root .level-card-l4-l5#level5 .level-badge { background: var(--bonus-purple); color: white; }
#avision-dashboard-root .level-card-l4-l5 .level-title {
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--text-main);
    margin: 0;
}
#avision-dashboard-root .level-card-l4-l5#level4 .level-title { color: #92400e; }
#avision-dashboard-root .level-card-l4-l5#level5 .level-title { color: var(--bonus-text); }
#avision-dashboard-root .level-card-l4-l5 .level-status {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-muted);
}
#avision-dashboard-root .level-card-l4-l5#level4 .level-status { color: var(--premium-gold); }
#avision-dashboard-root .level-card-l4-l5#level5 .level-status { color: var(--bonus-purple); }
#avision-dashboard-root .level-card-l4-l5 .level-header .chevron {
    font-size: 1.5rem;
    color: var(--text-muted);
    transition: transform 0.3s ease;
    margin-left: 15px;
}
#avision-dashboard-root .level-card-l4-l5#level4 .level-header .chevron { color: var(--premium-gold); }
#avision-dashboard-root .level-card-l4-l5#level5 .level-header .chevron { color: var(--bonus-purple); }
#avision-dashboard-root .level-card-l4-l5 .level-header .chevron.rotate { transform: rotate(180deg); }
/* L4/L5 : +x% et chevron regroupés à droite du volet accordéon */
#avision-dashboard-root .level-card-l4-l5 .level-header-right {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    margin-left: auto;
}
#avision-dashboard-root .level-card-l4-l5 .level-header-right .level-status { margin: 0; }
#avision-dashboard-root .level-card-l4-l5 .level-header-right .chevron { margin-left: 0; }
/* Vitrine Level 4 : icône 🔒 → loupe au survol (dans le header) */
#avision-dashboard-root #level4 .level4-teaser-icon { font-size: 1.15rem; line-height: 1; transition: opacity 0.2s; position: relative; z-index: 5; }
#avision-dashboard-root #level4 .level4-teaser-icon-loupe { display: none; }
#avision-dashboard-root #level4:hover .level4-teaser-icon-lock { display: none; }
#avision-dashboard-root #level4:hover .level4-teaser-icon-loupe { display: inline-block; }
/* Harmonisation icônes KPI/Roadmap : L4 = 🛡️ avec accent Orange (identique carte Mode Gardien) */
#avision-dashboard-root .level-header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
    border-radius: 6px;
    padding: 0.2em 0.35em;
}
#avision-dashboard-root .level-header-icon--orange {
    background: rgba(217, 119, 6, 0.15);
    color: var(--premium-gold);
}
#avision-dashboard-root #level4 .level-header-icon--orange {
    background: rgba(217, 119, 6, 0.2);
}
/* Level 4 verrouillé = cliquable (vitrine) : priorité absolue, cursor pointer pour Edge */
#avision-dashboard-root .level-card[data-level="4"],
#avision-dashboard-root #level4,
#avision-dashboard-root #level4.locked { cursor: pointer !important; opacity: 1 !important; filter: none !important; position: relative; }
/* Level 4 : pas d'icône ::after (cadenas déjà à gauche de "Premium") */
#avision-dashboard-root .level-card[data-level="4"]::after,
#avision-dashboard-root #level4::after {
    content: none !important;
    display: none !important;
}
/* États spéciaux */
/* Accent gauche par état : active=bleu, validée=vert, mode gardien=or, validée manuel=émeraude, bonus=violet */
#avision-dashboard-root .level-card.active { border-left: 4px solid var(--primary-blue); }
#avision-dashboard-root .level-card.done { border-left: 4px solid var(--emerald); }
#avision-dashboard-root .level-card.done.level-card-recurrent-done { border-left: 4px solid var(--success-green); }
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold { border-left: 4px solid var(--premium-gold) !important; }
#avision-dashboard-root .level-card.level-card-auto-pilot-gold:not(#level4) { border-left: 4px solid var(--avi-navy) !important; }
#avision-dashboard-root .level-card.bonus { border-left: 4px solid var(--bonus-purple); }
#avision-dashboard-root .level-card.success-state { border-color: var(--success-green); background: #f0fdf4; }
/* Level 5 validé (J'ai envoyé l'email) : même style vert que les autres niveaux */
#avision-dashboard-root #level5.done.success-state {
    border: 1px solid var(--success-green) !important;
    background: #f0fdf4 !important;
}
#avision-dashboard-root #level5.done.success-state .level-badge { background: #10b981 !important; color: #fff !important; }
#avision-dashboard-root #level5.done.success-state .level-title { color: #065f46 !important; }
#avision-dashboard-root #level5.done.success-state .level-status { color: #065f46 !important; }
#avision-dashboard-root #level5.done.success-state .level-header .chevron { color: #10b981 !important; }
#avision-dashboard-root #level5.done.success-state .level-header { background: rgba(16, 185, 129, 0.08) !important; }
#avision-dashboard-root #level5.done.success-state .level-header:hover {
    background: linear-gradient(90deg, rgba(16, 185, 129, 0.1) 0%, transparent 100%) !important;
    box-shadow: inset 3px 0 0 var(--success-green), inset 0 0 0 1px rgba(16, 185, 129, 0.12) !important;
}
/* Cartes récurrentes (L3, L12, L15, L16, L18, L20) après 1ère validation : Gris Ardoise Satiné + bordure Vert Émeraude 1px — plus discrètes que les actives */
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done {
    background: linear-gradient(145deg, #475569 0%, #52616d 50%, #4a5568 100%) !important;
    border: 1px solid #10b981 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done .level-title { color: #e2e8f0 !important; }
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done .level-badge { background: #10b981 !important; color: #fff !important; }
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done .lvl-pct { color: #10b981 !important; }
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done .level-header { background: rgba(0,0,0,0.08) !important; }
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done .level-header:hover {
    background: linear-gradient(90deg, rgba(0,0,0,0.06) 0%, transparent 100%) !important;
    box-shadow: inset 3px 0 0 var(--success-green), inset 0 0 0 1px rgba(16, 185, 129, 0.1) !important;
}
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done .level-card-timer-label { color: #cbd5e1 !important; }
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done .level-card-timer-value { color: #10b981 !important; }
#avision-dashboard-root .level-card.locked { opacity: 0.6; filter: grayscale(1); cursor: not-allowed; }
/* MVP 3.12 — Niveaux Fondation validés : pas d'ouverture du volet, curseur default */
#avision-dashboard-root .level-card.level-card-foundation-done { cursor: default !important; }
/* Mode Préparation (niveau en infusion 72h) : cliquable, bordure orange, badge */
#avision-dashboard-root .level-card.is-preparing.locked {
    opacity: 1;
    filter: none;
    cursor: pointer;
    border-color: #f59e0b;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.25);
}
#avision-dashboard-root .level-card-preparation-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 0.125rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #92400e;
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 6px;
    vertical-align: middle;
}
/* Secousse (shake) au clic sur une carte verrouillée */
@keyframes level-card-shake {
    0%, 100% { transform: translateX(0); }
    15% { transform: translateX(-6px); }
    30% { transform: translateX(6px); }
    45% { transform: translateX(-4px); }
    60% { transform: translateX(4px); }
    75% { transform: translateX(-2px); }
    90% { transform: translateX(2px); }
}
#avision-dashboard-root .level-card.level-card-shake {
    animation: level-card-shake 0.5s ease-in-out;
}
/* Filtrage progressif (Progressive Reveal) : cartes masquées par mois */
#avision-dashboard-root .level-card.level-card-hidden {
    display: none !important;
}
#avision-dashboard-root .level-reveal-placeholder {
    grid-column: 1 / -1;
    text-align: center;
    font-style: italic;
    color: var(--text-muted);
    opacity: 0.85;
    padding: 1.25rem 1rem;
    font-size: 0.95rem;
}
/* Sections spéciales L4 et Bonus en largeur totale */
#avision-dashboard-root .level-card.special-row {
    grid-column: 1 / -1;
    margin-top: 10px;
}
#avision-dashboard-root #dynamic-roadmap-container .level-card { margin-bottom: 0 !important; }

/* Mode Gardien actif : ordre naturel conservé (L1, L2, L3, L4, L5, L6…L21). Pas de réordonnancement. */

/* Mode Gardien - Niveaux AUTO-PILOT (L3, L12, L15, L16, L18, L20) : pas de verrou timer, message "Géré par AVI" */
#avision-dashboard-root .level-card.level-card-auto-pilot .level-card-timer { display: none !important; }
#avision-dashboard-root #level3.level-card-auto-pilot .level-card-timer,
#avision-dashboard-root #level3.level-card-auto-pilot-gold .level-card-timer,
#avision-dashboard-root #level20.level-card-auto-pilot .level-card-timer,
#avision-dashboard-root #level20.level-card-auto-pilot-gold .level-card-timer { display: none !important; }
#avision-dashboard-root .level-card.level-card-auto-pilot .auto-pilot-veille-message { display: block; }
/* Mode Gardien inactif : niveaux auto-pilot (hors L4) en neutre Navy */
#avision-dashboard-root .level-card.level-card-auto-pilot-gold:not(#level4) {
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid var(--avi-navy) !important;
    background: #ffffff !important;
}
#avision-dashboard-root .level-card.level-card-auto-pilot-gold:not(#level4) .level-badge,
#avision-dashboard-root .level-card.level-card-auto-pilot-gold:not(#level4) .level-title,
#avision-dashboard-root .level-card.level-card-auto-pilot-gold:not(#level4) .lvl-pct { color: var(--text-main) !important; }
#avision-dashboard-root .level-card.level-card-auto-pilot-gold:not(#level4) .level-badge { background: var(--avi-navy) !important; color: white !important; }
#avision-dashboard-root .level-card.level-card-auto-pilot-gold:not(#level4) .auto-pilot-badge-fiche {
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    color: var(--text-muted) !important;
}
/* Mode Gardien actif : tous les niveaux AUTO_PILOT (L3, L12, L15, L16, L18, L20) en or comme L4 */
#avision-dashboard-root.mode-gardien-active .level-card.level-card-auto-pilot-gold:not(#level4) {
    border: 1px solid rgba(217, 119, 6, 0.35) !important;
    border-left: 4px solid var(--premium-gold) !important;
    background: #ffffff !important;
}
#avision-dashboard-root.mode-gardien-active .level-card.level-card-auto-pilot-gold:not(#level4) .level-badge,
#avision-dashboard-root.mode-gardien-active .level-card.level-card-auto-pilot-gold:not(#level4) .level-title,
#avision-dashboard-root.mode-gardien-active .level-card.level-card-auto-pilot-gold:not(#level4) .lvl-pct { color: #92400e !important; }
#avision-dashboard-root.mode-gardien-active .level-card.level-card-auto-pilot-gold:not(#level4) .level-badge { background: var(--premium-gold) !important; color: white !important; }
#avision-dashboard-root.mode-gardien-active .level-card.level-card-auto-pilot-gold:not(#level4) .auto-pilot-badge-fiche {
    background: #fef3c7 !important;
    border: 1px solid var(--premium-gold) !important;
    color: #92400e !important;
}
#avision-dashboard-root.mode-gardien-active .level-card.level-card-auto-pilot-gold:not(#level4) .level-header:hover,
#avision-dashboard-root.mode-gardien-active .level-card.level-card-auto-pilot-gold:not(#level4) .level-card-top-row:hover {
    background: rgba(217, 119, 6, 0.06) !important;
    box-shadow: inset 3px 0 0 var(--premium-gold), inset 0 0 0 1px rgba(217, 119, 6, 0.08) !important;
}
/* Style or UNIQUEMENT pour L4 (Mode Gardien) */
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold {
    border: 1px solid rgba(217, 119, 6, 0.35) !important;
    border-left: 4px solid var(--premium-gold) !important;
    background: #ffffff !important;
}
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold.done.success-state.level-card-recurrent-done {
    background: #ffffff !important;
    border: 1px solid rgba(217, 119, 6, 0.35) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
}
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold.done.success-state.level-card-recurrent-done .level-title { color: #92400e !important; }
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold.done.success-state.level-card-recurrent-done .level-badge { background: var(--premium-gold) !important; color: white !important; }
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold.done.success-state.level-card-recurrent-done .lvl-pct { color: #92400e !important; }
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold.done.success-state.level-card-recurrent-done .level-header { background: rgba(217, 119, 6, 0.06) !important; }
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold.done.success-state.level-card-recurrent-done .level-header:hover {
    background: rgba(217, 119, 6, 0.1) !important;
    box-shadow: inset 3px 0 0 var(--premium-gold), inset 0 0 0 1px rgba(217, 119, 6, 0.1) !important;
}
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold .level-badge { background: var(--premium-gold) !important; color: white !important; }
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold .level-title { color: #92400e !important; }
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold .level-card-top-row:hover,
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold .level-header:hover {
    background: rgba(217, 119, 6, 0.08);
    box-shadow: inset 3px 0 0 var(--premium-gold), inset 0 0 0 1px rgba(217, 119, 6, 0.08);
}
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold .lvl-pct { color: #92400e !important; }
#avision-dashboard-root .level-card#level4.level-card-auto-pilot-gold .auto-pilot-badge-fiche {
    background: rgba(217, 119, 6, 0.1) !important;
    border: 1px solid rgba(217, 119, 6, 0.25) !important;
    color: #92400e !important;
    font-size: 0.8rem !important;
    padding: 0.375rem 0.625rem !important;
    font-weight: 600 !important;
}
/* Badge visible sur la fiche (ligne dédiée entre titre/gain et accordéon) */
#avision-dashboard-root .level-card.level-card-auto-pilot {
    flex-wrap: wrap;
}
#avision-dashboard-root .level-card .auto-pilot-badge-row {
    flex-basis: 100%;
    width: 100%;
    order: 10;
    margin: 0.5rem 0 0 0;
    padding: 0;
    box-sizing: border-box;
}
#avision-dashboard-root .level-card .auto-pilot-badge-fiche {
    display: block !important;
    margin: 0;
    padding: 0.625rem 0.875rem;
    background: linear-gradient(135deg, #fffbeb, #fef3c7);
    border: 1px solid #d97706;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #92400e;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}
/* Fiche désactivée (Mode Gardien non activé) : badge "Géré par AVI - AI en veille" visible */
#avision-dashboard-root .level-card.level-card-auto-pilot-preview {
    flex-wrap: wrap;
}
#avision-dashboard-root .level-card.level-card-auto-pilot-preview .auto-pilot-badge-row {
    flex-basis: 100%;
    width: 100%;
    order: 10;
    margin: 0.5rem 0 0 0;
}

/* MVP 3.11 — Maintenance Manuelle (L6, L13, L19, L21) : même structure que Auto-Pilot, badge "Mode Manuel" sous le titre */
#avision-dashboard-root .level-card.level-card-manual-maintenance {
    flex-wrap: wrap !important;
}
#avision-dashboard-root .level-card.level-card-manual-maintenance .level-card-top-row {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    flex-basis: 100%;
}
#avision-dashboard-root .level-card.level-card-manual-maintenance .level-card-top-row .lvl-right .chevron {
    color: #64748b;
}
#avision-dashboard-root .level-card.level-card-manual-maintenance .manual-mode-badge-row {
    display: block !important;
    flex-basis: 100%;
    width: 100%;
    order: 10;
    margin: 0.5rem 0 0 0;
    padding: 0;
    box-sizing: border-box;
}
#avision-dashboard-root .level-card.level-card-manual-maintenance .manual-mode-badge-fiche {
    display: block !important;
    margin: 0;
    padding: 0.625rem 0.875rem;
    background: linear-gradient(135deg, #f1f5f9, #e2e8f0) !important;
    border: 1px solid #64748b !important;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #334155 !important;
    text-align: center !important;
    width: 100%;
    box-sizing: border-box;
}

/* L21 utilise .auto-pilot-badge-row / .auto-pilot-badge-fiche + .level-card-auto-pilot-preview (même style et emplacement que L3, L12…) */
/* Compte à rebours sur cartes récurrentes (dont L21) : même style que le timer des autres récurrents */
#avision-dashboard-root .level-card.done.success-state.level-card-recurrent-done .auto-pilot-badge-fiche {
    background: linear-gradient(135deg, #fef3c7, #fde68a) !important;
    border-color: #b45309 !important;
    color: #92400e !important;
}

/* SIDE PANEL (volet droit) – Hiérarchie verticale : zone croix sanctuarisée, puis contenu décalé */
#avision-dashboard-root #action-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 380px;
    max-width: 100%;
    height: 100vh;
    background: white;
    border-left: 1px solid var(--border-color);
    box-shadow: -15px 0 35px rgba(0,0,0,0.05);
    z-index: 2000;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    padding: 2.25rem 1.25rem 1.2rem 1.25rem;
    display: flex;
    flex-direction: column;
    text-align: left;
    overflow-y: auto;
    font-size: 0.875rem;
}
#avision-dashboard-root #action-panel.open { transform: translateX(0); }

/* Zone de respiration dédiée à la croix : aucun contenu ne doit empiéter */
#avision-dashboard-root .action-panel-close {
    position: absolute;
    top: 52px;
    right: 16px;
    cursor: pointer;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-muted);
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
    z-index: 2;
}
#avision-dashboard-root .action-panel-close:hover { color: var(--text-main); }

@media (max-width: 768px) {
    #avision-dashboard-root .action-panel-close {
        z-index: 2000000 !important;
        top: 15px;
        right: 15px;
        padding: 10px;
        font-size: 1.5rem;
    }
    #avision-dashboard-root #action-panel {
        padding-top: 65px;
    }
}

#avision-dashboard-root .action-panel-header { position: relative; margin-bottom: 8px; margin-top: 28px; }
#avision-dashboard-root #action-panel-title,
#avision-dashboard-root .action-panel-title {
    font-size: 0.95rem;
    font-weight: 800;
    margin-bottom: 8px;
    text-align: left;
    color: var(--text-main);
    margin: 0 0 0.5rem 0;
}
#avision-dashboard-root #action-panel-desc,
#avision-dashboard-root .action-panel-desc {
    font-size: 0.875rem;
    color: var(--text-muted);
    line-height: 1.55;
    margin-bottom: 18px;
    text-align: left;
}
#avision-dashboard-root .action-panel-body {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: left;
    min-height: 0;
}

/* Immersion Académie Élite — wrap Bento + bandeau Navy */
#avision-dashboard-root .avi-academy-immersion-wrap {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
}
/* Kiosque de Savoir — Académie VIP (Centre d'Intervention sidebar) */
#avision-dashboard-root .avi-sidebar-academy {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}
#avision-dashboard-root .avi-sidebar-academy-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 0 0 0.75rem 0;
}
#avision-dashboard-root .avi-nuggets-rotation {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
#avision-dashboard-root .avi-nugget-card {
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--text-main);
    background: #ffffff;
    border-left: 4px solid var(--primary-blue);
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    margin: 0 0 0.75rem 0;
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
}
#avision-dashboard-root .avi-nugget-card:last-child {
    margin-bottom: 0;
}
#avision-dashboard-root .avi-nugget-star {
    flex-shrink: 0;
    line-height: 1.45;
}
#avision-dashboard-root .avi-nugget-text {
    flex: 1;
    min-width: 0;
}
#avision-dashboard-root .avi-nugget-card .nugget-label-elite {
    color: var(--primary-blue);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.7rem;
    display: block;
    margin-bottom: 4px;
}
#avision-dashboard-root .avi-academy-refresh-note {
    font-size: 0.7rem;
    color: var(--text-muted);
    font-style: italic;
    text-align: center;
    margin-top: 15px;
    opacity: 0.8;
}
#avision-dashboard-root .avi-nugget-card .nugget-label-elite::before {
    display: inline-block;
    margin-right: 4px;
    font-size: 0.8rem;
    line-height: 1;
    vertical-align: -0.05em;
}
#avision-dashboard-root .avi-nugget-card .nugget-label-elite[data-nugget-tag="conseil"]::before { content: '💡'; }
#avision-dashboard-root .avi-nugget-card .nugget-label-elite[data-nugget-tag="secret-avi"]::before { content: '🤫'; }
#avision-dashboard-root .avi-nugget-card .nugget-label-elite[data-nugget-tag="photos"]::before { content: '📸'; }
#avision-dashboard-root .avi-nugget-card .nugget-label-elite[data-nugget-tag="alerte"]::before { content: '🛡️'; }
#avision-dashboard-root .avi-nugget-card .nugget-label-elite[data-nugget-tag="visibilite"]::before { content: '🎯'; }
#avision-dashboard-root .avi-nugget-card .nugget-label-elite[data-nugget-tag="avis"]::before { content: '⭐'; }
#avision-dashboard-root .avi-nugget-card .nugget-label-elite[data-nugget-tag="strategie"]::before { content: '♟️'; }
#avision-dashboard-root .avi-nugget-card .nugget-label-elite[data-nugget-tag="info"]::before { content: '💡'; }
#avision-dashboard-root .avi-nugget-card strong {
    font-weight: 700;
    color: var(--primary-dark, var(--primary-blue));
}

/* Vue complète (niveaux 4 et 5) : tout le contenu dans le volet */
#avision-dashboard-root .action-panel-full-content {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding-right: 8px;
}
#avision-dashboard-root .action-panel-full-content .level-actions {
    padding: 0;
}
#avision-dashboard-root .action-panel-full-content a[target="_blank"] {
    text-decoration: none;
}
#avision-dashboard-root .action-panel-howto {
    background: #f8fafc;
    border: 1px solid var(--border-color);
    padding: 0.875rem 1rem;
    border-radius: 12px;
    font-size: 0.875rem;
    color: var(--text-muted);
    line-height: 1.55;
    margin: 0;
    text-align: left;
}
/* Réinitialise le compteur pour que la liste "Comment faire" commence toujours à 1 dans le panneau */
#avision-dashboard-root #action-panel-howto-content { counter-reset: howto-step 0; }
/* Design "Comment faire" (cercles bleus, SANS point) dans le panneau latéral – L1–L21 */
#action-panel #action-panel-howto-content { counter-reset: howto-step 0; }
#action-panel .howto-steps { list-style: none !important; list-style-type: none !important; padding-left: 0; margin: 0 0 0.75rem; counter-reset: howto-step 0; }
#action-panel .howto-steps li,
#action-panel .howto-steps .howto-step { position: relative; padding-left: 2rem; margin-bottom: 0.75rem; min-height: 1.3em; list-style: none !important; list-style-type: none !important; font-size: 0.875rem; }
#action-panel .howto-steps li:last-child,
#action-panel .howto-steps .howto-step:last-child { margin-bottom: 0; }
#action-panel .howto-steps li::before,
#action-panel .howto-steps .howto-step::before { counter-increment: howto-step; content: counter(howto-step); position: absolute; left: 0; top: 0; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: #2563eb; color: #fff; font-size: 0.75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; line-height: 1.35rem; }
#action-panel .howto-steps li strong,
#action-panel .howto-steps .howto-step strong { font-weight: 700; color: inherit; }
@media (max-width: 640px) { #action-panel .howto-steps li, #action-panel .howto-steps .howto-step { margin-bottom: 1.25rem; } }
#avision-dashboard-root .action-panel-howto strong { color: var(--text-main); display: block; margin-bottom: 6px; font-size: 0.9rem; }
/* --- Timer : indicateur "Sécurité Active" (look positif, pas blocage) --- */
@keyframes pulse-green {
    0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5); }
    50% { opacity: 0.9; transform: scale(1.05); box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
}
#avision-dashboard-root .timer-security-pulse {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #059669;
    flex-shrink: 0;
    animation: pulse-green 1.8s ease-in-out infinite;
    margin-right: 8px;
    vertical-align: middle;
}
#avision-dashboard-root .action-panel-timer {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.625rem 0.875rem;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border-radius: 8px;
    border: 1px solid #059669;
    font-size: 0.875rem;
}
#avision-dashboard-root .action-panel-timer-title-line {
    display: flex;
    align-items: center;
    gap: 0;
    font-weight: 700;
    color: #065f46;
    font-size: 0.875rem;
}
#avision-dashboard-root .action-panel-timer-title { flex: 1; }
#avision-dashboard-root .action-panel-timer-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
#avision-dashboard-root .action-panel-timer-label { font-weight: 700; color: #047857; font-size: 0.8125rem; }
#avision-dashboard-root .action-panel-timer-value { font-family: monospace; font-weight: 800; font-size: 0.95rem; color: #065f46; }
/* Bloc timer dans le contenu niveau (même vocabulaire "Sécurité Active") */
#avision-dashboard-root .timer-security-block {
    padding: 0.75rem 0.875rem;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border-radius: 8px;
    border: 1px solid #059669;
}
#avision-dashboard-root .timer-security-block .timer-security-title-line {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
    font-weight: 700;
    color: #065f46;
    font-size: 0.875rem;
}
#avision-dashboard-root .timer-security-block .level-card-timer-value {
    background: rgba(5, 150, 105, 0.15);
    color: #065f46;
}

/* Notebook Stratégique : Zone de brouillon (Dark Mode / Premium) */
.action-panel-draft-container {
    display: none; /* activé par le JS en mode infusion */
}
/* Override cohérent cross-browser (Edge) : quand le JS ajoute .draft-visible, forcer l'affichage */
.action-panel-draft-container.draft-visible,
.action-panel-draft.draft-visible .action-panel-draft-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
#avision-dashboard-root .action-panel-draft,
.action-panel .action-panel-draft {
    margin-top: 16px;
    padding: 0.875rem 0 0;
    border-top: 1px solid var(--border-color);
}
#avision-dashboard-root .action-panel-draft-title {
    display: block;
    font-size: 0.875rem;
    color: var(--text-muted);
    margin-bottom: 8px;
}
/* Consigne mission : visible au-dessus du textarea (couleur sombre, fond clair, padding) - cohérence cross-browser */
#avision-dashboard-root .action-panel-draft-mission {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.625rem;
    padding: 10px 12px;
    background: var(--bg-card, #f1f5f9);
    border: 1px solid rgba(59, 130, 246, 0.2);
    border-radius: 10px;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--text-main, #1e293b);
}
#avision-dashboard-root .action-panel-draft-mission .draft-mission-icon {
    flex-shrink: 0;
    font-size: 1rem;
}
#avision-dashboard-root .action-panel-draft-mission .draft-mission-text {
    font-style: italic;
}
#avision-dashboard-root .action-panel-draft-textarea {
    width: 100%;
    min-height: 110px;
    padding: 0.75rem 0.875rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--text-main);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    resize: vertical;
    box-sizing: border-box;
    font-family: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#avision-dashboard-root .action-panel-draft-textarea::placeholder {
    color: var(--text-muted);
    opacity: 0.9;
}
#avision-dashboard-root .action-panel-draft-textarea:focus {
    outline: none;
    border-color: var(--primary-dark, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}
#avision-dashboard-root .action-panel-draft-btn {
    margin-top: 10px;
    padding: 0.5625rem 0.875rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-main);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
#avision-dashboard-root .action-panel-draft-btn:hover:not(:disabled) {
    background: var(--primary-dark, #2563eb);
    color: #fff;
    border-color: var(--primary-dark, #2563eb);
}
#avision-dashboard-root .action-panel-draft-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
#avision-dashboard-root .action-panel-draft-notice {
    display: inline-block;
    margin-left: 10px;
    font-size: 0.8rem;
    color: var(--success, #10b981);
    font-weight: 600;
}

/* Boutons dans le panel (panel-btn-group) - alignés à gauche */
#avision-dashboard-root .action-panel-buttons.panel-btn-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
    margin-top: 18px;
    width: 100%;
}
#avision-dashboard-root .action-panel-buttons .btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    align-items: flex-start;
    justify-content: flex-start;
}
#avision-dashboard-root .action-panel-buttons .btn-group .btn-outline,
#avision-dashboard-root .action-panel-buttons .btn-group .btn-primary,
#avision-dashboard-root .action-panel-buttons .btn-group .btn-verify,
#avision-dashboard-root .action-panel-buttons .btn-group .btn-verify-action {
    width: auto;
    min-width: 0;
    font-size: 0.8rem !important;
    padding: 0.5rem 0.875rem !important;
}
/* Bouton "Vérifier l'action" aligné à gauche dans le panneau (annule margin-left: auto global) */
#avision-dashboard-root .action-panel-buttons .btn-group .btn-verify,
#avision-dashboard-root .action-panel-buttons .btn-group .btn-verify-action,
#avision-dashboard-root .action-panel-buttons > .btn-verify {
    margin-left: 0;
}
#avision-dashboard-root .action-panel-buttons .btn-panel,
#avision-dashboard-root .action-panel-buttons .btn-panel-primary {
    width: auto;
    min-width: 0;
    padding: 0.5rem 0.8rem;
    border-radius: 10px;
    font-size: 0.8rem;
    font-weight: 700;
    text-align: left;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
#avision-dashboard-root .action-panel-buttons .btn-blue,
#avision-dashboard-root .action-panel-buttons .btn-panel-primary { background: var(--avi-navy); color: white; }
#avision-dashboard-root .action-panel-buttons .btn-green,
#avision-dashboard-root .action-panel-buttons .btn-panel-verify {
    background: var(--success-soft);
    color: white;
    width: auto;
    min-width: 0;
    padding: 0.5rem 0.875rem;
    border-radius: 10px;
    font-size: 0.8rem;
    border: none;
    font-weight: 800;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Infobulle AVI dans le panel — "Le Saviez-vous ?" : Zéro Résidu, paragraphe fluide */
#avision-dashboard-root .avi-tooltip-panel {
    background: #eff6ff;
    border: 1px solid #93c5fd;
    border-radius: 10px;
    padding: 0.75rem 0.875rem;
    margin-top: 1.25rem;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.625rem;
    text-align: left;
}
#avision-dashboard-root .avi-tooltip-panel .tip-icon-bulb { font-size: 1rem; flex-shrink: 0; }
#avision-dashboard-root .avi-tooltip-panel .tip-content {
    display: block !important;
    width: 100% !important;
    min-width: 280px !important;
    white-space: normal !important;
    word-spacing: normal !important;
}
#avision-dashboard-root .avi-tooltip-panel .tip-content p,
#avision-dashboard-root .avi-tooltip-panel .tip-content strong {
    display: inline !important;
    white-space: normal !important;
    word-spacing: normal !important;
}
#avision-dashboard-root .avi-tooltip-panel .tip-content strong {
    margin-right: 0.35em;
    font-weight: 800;
    color: var(--primary-blue);
    font-size: 0.75rem;
}
#avision-dashboard-root .avi-tooltip-panel .tip-content p {
    margin: 0;
    font-size: 0.75rem;
    color: var(--text-muted);
    line-height: 1.45;
}
#avision-dashboard-root .level-card.done { border-color: var(--success); background: var(--success-bg); box-shadow: none; }
#avision-dashboard-root .level-card.premium-locked { opacity: 1; background: linear-gradient(to bottom right, #fffbeb, #fff); border: 1px solid #fcd34d; }
#avision-dashboard-root .level-card.bonus { border-color: var(--bonus-purple); box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.1); transition: all 0.3s ease; }
#avision-dashboard-root .level-card.bonus .level-header:hover {
    background: linear-gradient(90deg, rgba(139, 92, 246, 0.06) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--bonus-purple), inset 0 0 0 1px rgba(139, 92, 246, 0.08);
}
#avision-dashboard-root .level-card.bonus .level-badge { background: var(--bonus-purple); }
#avision-dashboard-root .level-card.bonus .level-title { color: var(--bonus-text); }
#avision-dashboard-root .level-header {
    padding: 10px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e2e8f0;
    cursor: pointer;
    transition: all 0.2s ease;
    -webkit-border-radius: 6px 6px 0 0;
    border-radius: 6px 6px 0 0;
}
#avision-dashboard-root .level-card .level-header:only-of-type,
#avision-dashboard-root .level-card .level-header.card-left { border-radius: 10px; }
#avision-dashboard-root .level-header:hover {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.05) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--primary-blue), inset 0 0 0 1px rgba(37, 99, 235, 0.06);
}
/* Accent survol selon état de la fiche parente */
#avision-dashboard-root .level-card.active .level-header:hover {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.05) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--primary-blue), inset 0 0 0 1px rgba(37, 99, 235, 0.06);
}
#avision-dashboard-root .level-card.done:not(.level-card-auto-pilot-gold):not(.bonus):not(.level-card-recurrent-done) .level-header:hover {
    background: linear-gradient(90deg, rgba(5, 150, 105, 0.06) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--emerald), inset 0 0 0 1px rgba(5, 150, 105, 0.1);
}
#avision-dashboard-root .level-card.done.level-card-recurrent-done .level-header:hover {
    background: linear-gradient(90deg, rgba(16, 185, 129, 0.06) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--success-green), inset 0 0 0 1px rgba(16, 185, 129, 0.1);
}
#avision-dashboard-root .level-badge { background: var(--text-main); color: white; padding: 0.375rem 0.875rem; border-radius: 6px; font-weight: 800; font-size: 1rem; margin-right: 0.9375rem; flex-shrink: 0; }
#avision-dashboard-root .level-card.active .level-badge { background: var(--primary-dark); }
#avision-dashboard-root .level-card.done .level-badge { background: var(--success); }
#avision-dashboard-root .level-card.premium-locked .level-badge { background: var(--premium-gold); }
#avision-dashboard-root .level-card.premium-managed { border: 2px solid var(--premium-gold); background: linear-gradient(135deg, #fffbeb, #fef3c7); }
#avision-dashboard-root .level-card.premium-managed .level-badge { background: var(--premium-gold); color: white; }
#avision-dashboard-root .level-card.premium-managed .level-title { color: #92400e; }
#avision-dashboard-root .level-card.premium-managed .level-header:hover {
    background: linear-gradient(90deg, rgba(217, 119, 6, 0.08) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--premium-gold), inset 0 0 0 1px rgba(217, 119, 6, 0.1);
}
/* Cartes or : ligne 1 = titre + +x%, ligne 2 = badge "Géré par AVI" */
#avision-dashboard-root .level-card.premium-managed {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
#avision-dashboard-root .level-card.premium-managed .level-card-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    flex-shrink: 0;
    border-radius: 10px 10px 0 0;
    transition: all 0.25s ease;
}
#avision-dashboard-root .level-card.premium-managed .level-card-top-row:hover {
    background: linear-gradient(90deg, rgba(217, 119, 6, 0.08) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 var(--premium-gold), inset 0 0 0 1px rgba(217, 119, 6, 0.1);
}
/* Chevron à côté de +x% sur la 1re ligne (cartes or) */
#avision-dashboard-root .level-card.premium-managed .level-card-top-row .lvl-right .chevron {
    color: var(--premium-gold);
}
#avision-dashboard-root .level-card.premium-managed .level-card-top-row .lvl-right {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
#avision-dashboard-root .level-card.premium-managed .level-card-top-row .chevron {
    color: var(--premium-gold);
}
/* Header cartes or : badge + titre à gauche, layout premium (ligne 1 = titre + %, ligne 2 = badge) */
#avision-dashboard-root .level-card.premium-managed .level-header {
    flex: 1;
    min-width: 0;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center;
    gap: 0.625rem;
    border-bottom: none;
    padding: 0;
    text-align: left !important;
}
/* L7-L10 (structure avec div interne) : forcer alignement à gauche du titre */
#avision-dashboard-root .level-card.premium-managed .level-header > div:first-child {
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 0.625rem;
    text-align: left !important;
    flex: 1;
    min-width: 0;
}
#avision-dashboard-root .level-card.premium-managed .level-header .level-title,
#avision-dashboard-root .level-card.premium-managed .level-card-top-row .level-title {
    text-align: left !important;
    margin-right: 0 !important;
}
/* L6–L10 : titre à gauche (alignement identique pour toutes les cartes or) */
#avision-dashboard-root #level6 .level-title,
#avision-dashboard-root #level7 .level-title,
#avision-dashboard-root #level8 .level-title,
#avision-dashboard-root #level9 .level-title,
#avision-dashboard-root #level10 .level-title {
    text-align: left !important;
    margin-left: 0 !important;
}
#avision-dashboard-root .level-card.premium-managed .level-header-right {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 0.9375rem;
    width: 100%;
    flex-shrink: 0;
    padding-top: 6px;
}
#avision-dashboard-root .premium-badge-managed { color: var(--premium-gold); font-weight: 800; font-size: 0.95rem; background: #fef3c7; padding: 0.25rem 0.75rem; border-radius: 0.375rem; border: 1px solid var(--premium-gold); display: inline-block; }
#avision-dashboard-root .premium-managed-message { background: #fef3c7; border: 2px solid var(--premium-gold); border-radius: 0.75rem; padding: 1.25rem; text-align: center; margin-top: 1.25rem; }
#avision-dashboard-root .premium-managed-message p { color: #92400e; margin: 0; }
#avision-dashboard-root .premium-managed-content { padding: 1.25rem; }
#avision-dashboard-root .premium-managed-content .managed-desc { font-size: 1.05rem; color: #78350f; margin-bottom: 1.25rem; line-height: 1.6; }
#avision-dashboard-root .premium-managed-content p { font-size: 1.05rem; color: #78350f; margin-bottom: 1.25rem; line-height: 1.6; }

/* Transformation des boîtes en OR */
#avision-dashboard-root .premium-gold-transform {
    border-color: #d97706 !important; /* Ambre foncé */
    background-color: #fffbeb !important; /* Ambre très pâle */
    order: 3; /* Pour s'assurer qu'ils se placent sous le Level 3 via Flexbox si besoin */
}

/* Badge Vert "Géré par Avi" */
#avision-dashboard-root .badge-managed {
    background-color: #10b981; /* Vert Émeraude */
    color: white;
    font-weight: bold;
    font-size: 0.8rem;
    padding: 0.125rem 0.5rem;
    border-radius: 12px;
    margin-left: 10px;
    display: inline-block;
}

/* Footer "L'IA gère..." */
#avision-dashboard-root .managed-footer {
    margin-top: 1.25rem;
    padding: 0.9375rem 1.25rem;
    background: #fef3c7;
    border: 1px solid #fcd34d;
    border-radius: 8px;
    font-size: 0.95rem;
    color: #92400e;
    font-weight: 600;
    text-align: center;
}
#avision-dashboard-root .level-title { font-weight: 700; font-size: 0.75rem; color: var(--text-main); }
#avision-dashboard-root .level-actions { padding: 1.25rem; padding-bottom: 2.5rem; min-height: fit-content; }
#avision-dashboard-root #level3 .level-actions { padding-bottom: 70px; }
#avision-dashboard-root .level-actions p { font-size: 1.05rem; color: var(--text-muted); margin-bottom: 1.25rem; }
#avision-dashboard-root .level-card.premium-managed .level-actions p { color: #78350f; }
#avision-dashboard-root .accordion-wrapper { max-height: 0; overflow: hidden; transition: max-height 0.5s ease-out, opacity 0.4s ease; opacity: 0; }
#avision-dashboard-root .accordion-wrapper.open { max-height: 5000px; opacity: 1; overflow-y: auto; }
#avision-dashboard-root .accordion-wrapper.open::-webkit-scrollbar { width: 8px; }
#avision-dashboard-root .accordion-wrapper.open::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 4px; }
#avision-dashboard-root .accordion-wrapper.open::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
#avision-dashboard-root .accordion-wrapper.open::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
#avision-dashboard-root .chevron { font-size: 1.5rem; color: var(--text-muted); transition: transform 0.3s ease; margin-left: 15px; }
#avision-dashboard-root .chevron.rotate { transform: rotate(180deg); }
/* Masquer les chevrons sur les niveaux auto / récurrents (pas d'ouverture manuelle) — garder L1, L2, L4, L5 */
#avision-dashboard-root #level3 .chevron,
#avision-dashboard-root #level6 .chevron,
#avision-dashboard-root #level12 .chevron,
#avision-dashboard-root #level13 .chevron,
#avision-dashboard-root #level15 .chevron,
#avision-dashboard-root #level16 .chevron,
#avision-dashboard-root #level18 .chevron,
#avision-dashboard-root #level19 .chevron,
#avision-dashboard-root #level20 .chevron,
#avision-dashboard-root #level21 .chevron { display: none !important; }

#avision-dashboard-root .btn-group { display: flex; gap: 0.9375rem; margin-top: 25px; flex-wrap: wrap; }
#avision-dashboard-root .btn-outline, #avision-dashboard-root .btn-primary, #avision-dashboard-root .btn-verify { padding: 0.6rem 1.2rem; border-radius: 0.5rem; font-weight: 700; cursor: pointer; font-size: 1.1rem; border: none; display: flex; align-items: center; gap: 0.625rem; text-decoration: none; justify-content: center; }
/* Boutons secondaires : padding uniforme 0.5rem 0.8rem (Prompt 3) */
#avision-dashboard-root .btn-outline,
#avision-dashboard-root .pilot-seg-btn,
#avision-dashboard-root .action-panel-buttons .btn-group .btn-outline,
#avision-dashboard-root .action-panel-buttons .btn-panel {
    padding: 0.5rem 0.8rem !important;
}
#avision-dashboard-root .btn-outline { background: white; border: 2px solid var(--border); color: var(--text-muted); }
#avision-dashboard-root .btn-primary { background: var(--avi-navy); color: white; }
#avision-dashboard-root .btn-verify,
#avision-dashboard-root .level-card .btn-verify-action { background: var(--avi-navy); color: white; margin-left: auto; transition: transform 0.1s; }
#avision-dashboard-root .btn-verify:active,
#avision-dashboard-root .level-card .btn-verify-action:active { transform: scale(0.95); }
#avision-dashboard-root .spinner { border: 3px solid rgba(37, 99, 235, 0.2); border-radius: 50%; border-top: 3px solid var(--primary-dark); width: 24px; height: 24px; animation: spin 1s linear infinite; display: inline-block; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
#avision-dashboard-root .verification-feedback { margin-top: 1.25rem; font-size: 1.2rem; font-weight: 700; color: var(--primary-dark); text-align: center; display: none; width: 100%; padding: 0.625rem; background: #eff6ff; border-radius: 8px; }
#avision-dashboard-root .how-to-box { background: #fffbeb; border: 1px solid #fcd34d; padding: 1.25rem; border-radius: 0.5rem; margin-top: 1.25rem; display: none; color: #92400e; font-size: 1.1rem; line-height: 1.8; }
/* Comment faire : listes numérotées premium (cercle bleu, SANS point après le numéro – comme level 21) */
#avision-dashboard-root .howto-steps,
#avision-dashboard-root .how-to-box .howto-steps,
#avision-dashboard-root .level-actions .howto-steps,
.how-to-box .howto-steps,
ol.howto-steps {
    list-style: none !important;
    list-style-type: none !important;
    padding-left: 0;
    margin: 0 0 1rem;
    counter-reset: howto-step 0;
}
#avision-dashboard-root .howto-steps li,
#avision-dashboard-root .howto-steps .howto-step,
#avision-dashboard-root .how-to-box .howto-steps li,
#avision-dashboard-root .how-to-box .howto-steps .howto-step,
.how-to-box .howto-steps li,
.how-to-box .howto-steps .howto-step,
ol.howto-steps li {
    position: relative;
    padding-left: 2.25rem;
    margin-bottom: 0.875rem;
    min-height: 1.4em;
    list-style: none !important;
    list-style-type: none !important;
}
#avision-dashboard-root .howto-steps li:last-child,
#avision-dashboard-root .howto-steps .howto-step:last-child,
.how-to-box .howto-steps li:last-child,
.how-to-box .howto-steps .howto-step:last-child,
ol.howto-steps li:last-child { margin-bottom: 0; }
#avision-dashboard-root .howto-steps li::before,
#avision-dashboard-root .howto-steps .howto-step::before,
#avision-dashboard-root .how-to-box .howto-steps li::before,
#avision-dashboard-root .how-to-box .howto-steps .howto-step::before,
.how-to-box .howto-steps li::before,
.how-to-box .howto-steps .howto-step::before,
ol.howto-steps li::before {
    counter-increment: howto-step;
    content: counter(howto-step);
    position: absolute;
    left: 0;
    top: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--primary-dark, #2563eb);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5rem;
}
#avision-dashboard-root .howto-steps li strong,
#avision-dashboard-root .howto-steps .howto-step strong,
.how-to-box .howto-steps li strong,
.how-to-box .howto-steps .howto-step strong { font-weight: 700; color: inherit; }
#avision-dashboard-root .action-panel-howto .howto-steps li,
#avision-dashboard-root .action-panel-howto .howto-steps .howto-step { margin-bottom: 0.75rem; }
@media (max-width: 640px) {
    #avision-dashboard-root .howto-steps li,
    #avision-dashboard-root .howto-steps .howto-step,
    .how-to-box .howto-steps li,
    .how-to-box .howto-steps .howto-step { margin-bottom: 1.25rem; }
}
/* Box "Le saviez-vous ?" / Règle 2026 — centralisé pour tous les levels (L1–L21), titre 0.95rem, texte 0.9rem */
#avision-dashboard-root .didactic-tip {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    margin-top: 25px;
    border-radius: 12px;
    background: #eff6ff;
    border: 2px solid #93c5fd;
    color: #1e3a8a;
    font-size: 0.9rem;
    line-height: 1.6;
}
#avision-dashboard-root .didactic-tip .tip-icon {
    font-size: 1.3rem;
    flex-shrink: 0;
    line-height: 1;
    margin-top: 1px;
}
#avision-dashboard-root .didactic-tip .tip-content strong {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 800;
    font-size: 0.95rem;
    color: #1e40af;
}
#avision-dashboard-root .didactic-tip .tip-content p {
    margin: 0;
    font-size: 0.9rem;
    color: #1e3a8a;
    line-height: 1.5;
}
/* Forcer les mêmes tailles dans les cartes (L1–L20) : .level-actions p impose 1.05rem, on override explicitement */
#avision-dashboard-root .level-card .didactic-tip .tip-content strong,
#avision-dashboard-root .level-actions .didactic-tip .tip-content strong {
    font-size: 0.95rem !important;
}
#avision-dashboard-root .level-card .didactic-tip .tip-content p,
#avision-dashboard-root .level-actions .didactic-tip .tip-content p {
    font-size: 0.9rem !important;
}
#avision-dashboard-root #level5 .didactic-tip {
    background: #f3e8ff !important;
    border-color: #9333ea !important;
}
#avision-dashboard-root .premium-features { list-style: none; margin: 1.25rem 0; padding: 0; padding-bottom: 2.5rem; }
#avision-dashboard-root .premium-features li { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.9375rem; font-size: 1.1rem; color: #92400e; }
#avision-dashboard-root .premium-features li strong { color: #78350f; font-weight: 800; }
#avision-dashboard-root #level3 .premium-features { padding-bottom: 60px; }
#avision-dashboard-root .automation-settings { background: #fffbeb; border: 1px solid #fcd34d; padding: 1.25rem; border-radius: 0.625rem; margin-bottom: 1.25rem; }
#avision-dashboard-root .setting-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.9375rem; }
#avision-dashboard-root .setting-row:last-child { margin-bottom: 0; }
#avision-dashboard-root .setting-label { font-weight: 700; color: #92400e; font-size: 1.1rem; display: flex; align-items: center; gap: 0.5rem; }
#avision-dashboard-root .toggle-container { display: flex; background: #fde68a; border-radius: 20px; padding: 0.25rem; position: relative; cursor: pointer; }
#avision-dashboard-root .toggle-container.autopilot-toggle-disabled { opacity: 0.6; cursor: not-allowed; }
#avision-dashboard-root .toggle-option { padding: 0.375rem 0.75rem; border-radius: 1rem; font-size: 0.9rem; font-weight: 700; color: #92400e; transition: all 0.3s; z-index: 2; }
#avision-dashboard-root .toggle-option.active { background: #d97706; color: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
#avision-dashboard-root .webmaster-kit { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 0.5rem; padding: 1.25rem; margin-top: 1.25rem; }

/* ========== MODE GARDIEN — COCKPIT ÉLITE (Design Boîte Noire : fond gris aéré) ========== */
#avision-dashboard-root .guardian-cockpit-elite {
    display: block;
    padding: 1.5rem 1.25rem 2rem 1.25rem !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.75rem;
    line-height: 1.45;
    background: var(--bg-app);
    border: none;
    border-radius: 8px;
    color: var(--text-main);
    overflow: visible;
}
/* Mode Gardien : structure verticale VIP — marge 1.5rem entre chaque bloc majeur (Restauration verticalité) */
#avision-dashboard-root .guardian-cockpit-elite > .cockpit-sequencer,
#avision-dashboard-root .guardian-cockpit-elite > .cockpit-matrice,
#avision-dashboard-root .guardian-cockpit-elite > .cockpit-pilot-mode,
#avision-dashboard-root .guardian-cockpit-elite > .cockpit-net-worth,
#avision-dashboard-root .guardian-cockpit-elite > .cockpit-feed.cockpit-centre-intervention {
    width: 100%;
    margin-top: 1.5rem;
}
#avision-dashboard-root .guardian-cockpit-elite > *:first-child {
    margin-top: 0;
}
/* 1. SÉQUENCEUR : Titres | LEDs au-dessus de la ligne | Track */
#avision-dashboard-root .cockpit-sequencer {
    margin-bottom: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
#avision-dashboard-root .cockpit-sequencer-learn-wrap {
    margin-top: 0.75rem;
    margin-bottom: 1rem;
    text-align: left;
}
#avision-dashboard-root .cockpit-sequencer-learn-wrap .avi-learn-link--cockpit {
    margin-left: 0;
}
#avision-dashboard-root .cockpit-sequencer-titles {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.625rem;
    padding: 0 2px;
}
#avision-dashboard-root .cockpit-sequencer-title {
    font-size: 0.8125rem;
    font-weight: 800;
    color: var(--text-muted);
}
#avision-dashboard-root .cockpit-sequencer-track-wrap {
    position: relative;
    height: 32px;
    display: flex;
    flex-direction: column;
}
#avision-dashboard-root .cockpit-sequencer-leds {
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1;
    margin-bottom: 0.25rem;
}
#avision-dashboard-root .cockpit-sequencer-track {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: #94a3b8;
    border-radius: 3px;
}
#avision-dashboard-root .cockpit-sequencer-track-fill {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 5px;
    background: #f59e0b;
    border-radius: 3px;
    width: 0%;
    transition: width 0.35s ease-out, background 0.3s;
}
#avision-dashboard-root .cockpit-sequencer-track-fill.sequencer-inactive {
    background: #f59e0b;
}
#avision-dashboard-root .cockpit-sequencer-track-fill.sequencer-active {
    background: #10b981;
}
#avision-dashboard-root .cockpit-led {
    display: flex;
    align-items: center;
    justify-content: center;
}
#avision-dashboard-root .cockpit-led .led-circle {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #64748b;
    flex-shrink: 0;
    transition: box-shadow 0.3s, background 0.3s;
}
#avision-dashboard-root .cockpit-led .led-circle.led-orange {
    background: #f59e0b;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.6);
}
#avision-dashboard-root .cockpit-led .led-circle.led-emerald {
    background: #10b981;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.7);
}
#avision-dashboard-root .cockpit-led .led-circle.led-gold-pulse {
    background: var(--premium-gold);
    animation: cockpit-led-pulse 1.5s ease-in-out infinite;
    box-shadow: 0 0 10px rgba(217, 119, 6, 0.8);
}
@keyframes cockpit-led-pulse {
    0%, 100% { opacity: 1; box-shadow: 0 0 10px rgba(217, 119, 6, 0.8); }
    50% { opacity: 0.85; box-shadow: 0 0 14px rgba(217, 119, 6, 0.95); }
}
#avision-dashboard-root .cockpit-notice {
    margin-bottom: 1.25rem;
    padding: 0.75rem 1rem;
    background: #d1fae5;
    border: 1px solid #10b981;
    border-radius: 8px;
    font-size: 0.75rem;
    color: #065f46;
}
#avision-dashboard-root .onboarding-connected-notice {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
#avision-dashboard-root .onboarding-connected-notice .avi-kpi-label-i {
    flex-shrink: 0;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font-size: 0.8rem;
    color: #065f46;
}
#avision-dashboard-root .onboarding-connected-notice .avi-kpi-label-i:hover {
    color: #047857;
    text-decoration: underline;
}
/* Connexion bloc — Navy (seuls modules et titres en Navy) */
#avision-dashboard-root .guardian-cockpit-elite .cockpit-connection-block {
    margin-bottom: 1.25rem;
    padding: 1rem;
    background: #0f172a;
    border: 0.5px solid rgba(71, 85, 105, 0.5);
    border-radius: 8px;
}
#avision-dashboard-root .cockpit-status {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 16px;
    padding: 0.75rem;
    background: rgba(220, 38, 38, 0.1);
    border: 1px solid #f87171;
    border-radius: 6px;
    color: #fecaca;
}
#avision-dashboard-root .cockpit-status.connected {
    background: rgba(16, 185, 129, 0.1);
    border-color: #34d399;
    color: #6ee7b7;
}
#avision-dashboard-root .cockpit-connect-btn {
    width: 100%;
    padding: 0.875rem 1.25rem;
    background: #1e293b;
    border: 1px solid #475569;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    color: #e2e8f0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    transition: all 0.2s;
}
#avision-dashboard-root .cockpit-connect-btn:hover {
    background: #334155;
    border-color: #64748b;
}
#avision-dashboard-root .cockpit-connection-hint {
    font-size: 0.6875rem;
    color: #94a3b8;
    margin-top: 12px;
    text-align: center;
}
/* Master Switch — Style armement, dégradé Or/Ambre, icône bouclier */
#avision-dashboard-root .cockpit-master-switch { margin-bottom: 24px; }
#avision-dashboard-root .cockpit-master-btn.cockpit-bouclier-btn {
    width: 100%;
    padding: 1.25rem 1.75rem;
    background: #1e293b;
    border: 0.5px solid #475569;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #94a3b8;
    cursor: not-allowed;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}
#avision-dashboard-root .cockpit-master-btn.cockpit-bouclier-btn:not(:disabled) {
    background: linear-gradient(135deg, #d97706, #f59e0b);
    border-color: #f59e0b;
    color: white;
    cursor: pointer;
    box-shadow: 0 0 24px rgba(217, 119, 6, 0.5);
}
#avision-dashboard-root .cockpit-master-btn.cockpit-bouclier-btn:not(:disabled):hover {
    box-shadow: 0 0 32px rgba(217, 119, 6, 0.6);
}
#avision-dashboard-root .cockpit-master-btn.armed,
#avision-dashboard-root .cockpit-master-btn.cockpit-bouclier-btn.armed {
    background: #10b981 !important;
    border-color: #34d399 !important;
    color: white !important;
    cursor: default !important;
}
#avision-dashboard-root .cockpit-payment-note {
    font-size: 0.6875rem;
    color: var(--text-muted);
    text-align: center;
    margin-top: 0.5rem;
}
/* 2. GRILLE D'INSTRUMENTATION — 2x5 Boîtes Noires Navy */
#avision-dashboard-root .cockpit-matrice { margin-bottom: 24px; overflow: visible; }
#avision-dashboard-root .cockpit-matrice-grid { overflow: visible; }
#avision-dashboard-root .guardian-cockpit-elite .cockpit-module { overflow: visible; }
/* Titres de section SaaS Elite : 0.9rem pro + espace au-dessus (Restauration verticalité VIP) */
#avision-dashboard-root .guardian-cockpit-elite .cockpit-section-title,
#avision-dashboard-root .cockpit-section-title,
#avision-dashboard-root .cockpit-net-worth-title.cockpit-section-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.9rem !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #0f172a;
    margin-top: 0.75rem;
    margin-bottom: 0.5rem;
}
/* Alignement VIP : titres Gardien — lien 🎓 toujours sur la même ligne verticale gauche, 0.75rem du titre */
#avision-dashboard-root .cockpit-section-title-with-i {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    row-gap: 0.75rem;
}
#avision-dashboard-root .cockpit-section-title-with-i .avi-kpi-label-i {
    flex-shrink: 0;
}
#avision-dashboard-root .cockpit-section-title-with-i .avi-learn-link--cockpit {
    flex-basis: 100%;
    margin-left: 0.75rem;
    margin-top: 0;
}
/* Liens pédagogiques Gardien : même style que l'Antenne Radar, bordure gauche orange */
#avision-dashboard-root .avi-learn-link--cockpit {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: 0;
    padding: 0.4rem 0.5rem 0.4rem 0.6rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #ea580c;
    background: none;
    border: none;
    border-left: 3px solid #ea580c;
    border-radius: 0 6px 6px 0;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition: background 0.2s, color 0.2s;
}
#avision-dashboard-root .avi-learn-link--cockpit:hover {
    background: rgba(234, 88, 12, 0.08);
    color: #c2410c;
}
#avision-dashboard-root .avi-learn-link--cockpit .avi-learn-link-icon {
    font-size: 0.9rem;
    flex-shrink: 0;
}
#avision-dashboard-root .cockpit-matrice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
}
#avision-dashboard-root .cockpit-matrice-grid-10 {
    grid-template-rows: repeat(5, auto);
}
#avision-dashboard-root .cockpit-matrice-grid-9 {
    grid-template-rows: repeat(5, auto);
}
/* Grille des Boucliers Actifs : 1 colonne sur smartphone (empilés) */
@media (max-width: 768px) {
    #avision-dashboard-root .cockpit-boucliers-grid .cockpit-matrice-grid,
    #avision-dashboard-root .cockpit-boucliers-grid .cockpit-matrice-grid-10,
    #avision-dashboard-root .cockpit-boucliers-grid .cockpit-matrice-grid-9 {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }
}
#avision-dashboard-root .cockpit-module {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.6rem;
    background: #0f172a;
    border: 0.5px solid var(--premium-gold);
    border-radius: 6px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color: #e2e8f0;
}
#avision-dashboard-root .cockpit-module-epure {
    padding: 0.4rem 0.6rem;
}
#avision-dashboard-root .cockpit-module-epure .cockpit-module-icon {
    font-size: 1rem;
    flex-shrink: 0;
}
#avision-dashboard-root .cockpit-module-epure .cockpit-module-title {
    flex: 1;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    color: #f1f5f9;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#avision-dashboard-root .cockpit-module-badge {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#avision-dashboard-root .cockpit-module-badge.scelle {
    background: #475569;
    color: #94a3b8;
}
#avision-dashboard-root .cockpit-module-badge.inactif {
    background: rgba(245, 158, 11, 0.2);
    color: #d97706;
}
#avision-dashboard-root .cockpit-module-badge.actif {
    background: rgba(16, 185, 129, 0.2);
    color: #10b981;
}
#avision-dashboard-root .cockpit-module-icon {
    font-size: 1rem;
    flex-shrink: 0;
}
#avision-dashboard-root .cockpit-module-icon.is-active {
    filter: drop-shadow(0 0 4px rgba(16, 185, 129, 0.6));
    opacity: 1;
}
#avision-dashboard-root .cockpit-module strong {
    font-size: 0.75rem;
    color: #f1f5f9;
}
#avision-dashboard-root .cockpit-module-text,
#avision-dashboard-root .cockpit-module-sub,
#avision-dashboard-root .cockpit-module-intro {
    display: none;
}
#avision-dashboard-root .cockpit-module-i {
    color: var(--premium-gold);
    font-size: 0.6875rem;
    font-style: italic;
    flex-shrink: 0;
    cursor: help;
    padding: 0.125rem 0.25rem;
    border-radius: 2px;
}
#avision-dashboard-root .cockpit-module-i:hover {
    background: rgba(217, 119, 6, 0.15);
}
#avision-dashboard-root .cockpit-module-i[data-tooltip] {
    position: relative;
}
/* Info-bulle centrée pour modules : au-dessus du (i), lisible entièrement (échappe à la bordure du niveau) */
#avision-dashboard-root .cockpit-module-i[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(100% + 8px);
    padding: 0.75rem 1rem;
    background: #0f172a;
    border: 0.5px solid var(--premium-gold);
    border-radius: 6px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.75rem;
    color: #e2e8f0;
    z-index: 10002;
    width: max-content;
    max-width: min(320px, calc(100vw - 40px));
    white-space: normal;
    line-height: 1.5;
    text-align: left;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    pointer-events: none;
}
/* Colonne droite (grille 10) : aligner à droite pour éviter débordement bord droit */
#avision-dashboard-root .cockpit-matrice-grid-10 .cockpit-module:nth-child(even) .cockpit-module-i[data-tooltip]:hover::after {
    left: auto;
    right: 0;
    transform: none;
    z-index: 10002;
}

/* Tableaux de données (Web Data Accuracy, Competitor Cleanup, etc.) — densification (Prompt 3) */
#avision-dashboard-root table td,
#avision-dashboard-root table th {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

/* 3. SWITCH CENTER : 3 Cartes + Tiroir Hybride (Apple Cockpit) */
#avision-dashboard-root .cockpit-pilot-mode {
    margin-bottom: 24px;
}
/* Alignement à gauche du titre PILOTAGE DES FLUX avec les autres titres de section (sort du padding .automation-settings) */
#avision-dashboard-root .guardian-cockpit-elite .cockpit-pilot-mode.automation-settings .cockpit-section-title {
    margin-left: -1.25rem;
    padding-left: 1.25rem;
}
#avision-dashboard-root .pilot-mode-cards {
    display: flex;
    gap: 0.9375rem;
    flex-wrap: wrap;
}
#avision-dashboard-root .pilot-mode-cards-3 .pilot-mode-card {
    flex: 1;
    min-width: 100px;
}
@media (max-width: 640px) {
    #avision-dashboard-root .pilot-mode-cards {
        flex-direction: column;
    }
}
#avision-dashboard-root .pilot-mode-card {
    min-width: 0;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    padding: 1rem 0.875rem;
    background: #ffffff;
    border: 0.5px solid #e2e8f0;
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.25s ease, background 0.25s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}
#avision-dashboard-root .pilot-mode-card:hover {
    border-color: #cbd5e1;
}
#avision-dashboard-root .pilot-mode-card.is-active {
    border: 1.5px solid var(--premium-gold);
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}
#avision-dashboard-root .pilot-mode-card:active {
    transform: scale(0.98);
}
#avision-dashboard-root .cockpit-pilot-mode.pilot-mode-disabled .pilot-mode-card,
#avision-dashboard-root .cockpit-pilot-mode.pilot-mode-disabled .pilot-hybrid-drawer button {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}
#avision-dashboard-root .pilot-mode-icon {
    font-size: 1.5rem;
    line-height: 1;
}
#avision-dashboard-root .pilot-mode-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 0;
}
#avision-dashboard-root .pilot-mode-card.is-active .pilot-mode-title {
    color: #92400e;
}
#avision-dashboard-root .pilot-mode-desc {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    color: #94a3b8;
    line-height: 1.4;
    margin: 0;
    flex: 1;
}
#avision-dashboard-root .pilot-mode-card.is-active .pilot-mode-desc {
    color: #78716c;
}
/* Tiroir Hybride : réglages techniques Navy */
#avision-dashboard-root .pilot-hybrid-drawer {
    margin-top: 12px;
    padding: 0.875rem 1rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border: 0.5px solid #334155;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
#avision-dashboard-root .pilot-hybrid-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
#avision-dashboard-root .pilot-hybrid-label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    color: #e2e8f0;
}
#avision-dashboard-root .pilot-hybrid-segmented {
    display: inline-flex;
    border-radius: 8px;
    overflow: hidden;
    border: 0.5px solid #475569;
}
#avision-dashboard-root .pilot-seg-btn {
    padding: 0.5rem 0.8rem;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    border: none;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
#avision-dashboard-root .pilot-seg-btn:hover {
    background: rgba(71, 85, 105, 0.5);
    color: #e2e8f0;
}
#avision-dashboard-root .pilot-seg-btn.is-selected {
    background: rgba(217, 119, 6, 0.25);
    color: #fcd34d;
    border: 0.5px solid rgba(217, 119, 6, 0.5);
}
/* 4. JOURNAL DE BORD (Centre d'Intervention) : Lignes ultra-denses 35-40px, [Icône]|[Source]|[Extrait], actions au survol */
/* Net Worth (Valeur de Visibilité) — pleine largeur (Restauration verticalité VIP) */
#avision-dashboard-root .cockpit-net-worth {
    margin: 1.25rem 0;
}
#avision-dashboard-root .cockpit-net-worth-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    row-gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.8rem !important;
}
#avision-dashboard-root .cockpit-net-worth-title .avi-learn-link--cockpit {
    flex-basis: 100%;
    margin-left: 0.75rem;
    margin-top: 0;
}
#avision-dashboard-root .cockpit-net-worth-i {
    font-size: 0.85rem;
    color: var(--text-muted);
    cursor: help;
}
#avision-dashboard-root .cockpit-net-worth-boxes {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
#avision-dashboard-root .cockpit-net-worth-box {
    flex: 1;
    min-width: 140px;
    padding: 1rem 1.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
#avision-dashboard-root .cockpit-net-worth-box-total {
    box-shadow: 0 0 20px rgba(217, 119, 6, 0.12);
}
#avision-dashboard-root .cockpit-net-worth-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    text-transform: uppercase;
}
#avision-dashboard-root .cockpit-net-worth-value {
    font-family: 'SF Mono', 'Monaco', 'Consolas', 'Courier New', monospace;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--premium-gold);
}

/* Free Net Worth (Mode Manuel) — affiché si Mode Gardien inactif */
#avision-dashboard-root #free-net-worth-box,
#avision-dashboard-root .free-net-worth-box.net-worth-manual {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 24px;
    transition: opacity 0.25s ease, margin 0.25s ease;
}
#avision-dashboard-root .net-worth-manual .free-net-worth-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--avi-navy);
    margin: 0 0 0.5rem 0;
    letter-spacing: -0.01em;
}
#avision-dashboard-root .net-worth-manual .free-net-worth-value {
    font-family: 'SF Mono', 'Monaco', 'Consolas', 'Courier New', monospace;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin: 0 0 0.375rem 0;
    letter-spacing: -0.02em;
}
#avision-dashboard-root .net-worth-manual .free-net-worth-legend {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin: 0 0 0.875rem 0;
    line-height: 1.4;
}
#avision-dashboard-root .net-worth-manual .free-net-worth-cta {
    display: inline-block;
    font-size: 0.85rem;
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 500;
    margin-top: 10px;
    padding: 0.5rem 1rem;
    border: 1px solid var(--primary-blue);
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
#avision-dashboard-root .net-worth-manual .free-net-worth-cta:hover {
    color: var(--avi-navy);
    background: rgba(37, 99, 235, 0.08);
    border-color: var(--avi-navy);
}

#avision-dashboard-root .cockpit-centre-intervention { margin-bottom: 1.25rem; }

/* ——— Centre d'Intervention : Activity Feed VIP (fond blanc, bordure type Pilotage) ——— */
#avision-dashboard-root .guardian-activity-feed {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: visible;
    box-shadow: var(--shadow-premium, 0 1px 3px rgba(0, 0, 0, 0.06));
}
#avision-dashboard-root .guardian-activity-feed .guardian-log-stream,
#avision-dashboard-root .guardian-activity-feed .guardian-history-feed {
    overflow: auto;
}
#avision-dashboard-root .guardian-activity-header {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-color);
    position: relative;
    z-index: 999998;
}
/* Infobulle Centre d'intervention : au-dessus de Valeur nette (fev 2026) — overflow visible + z-index très élevé */
#avision-dashboard-root .guardian-activity-feed .guardian-activity-header .avi-kpi-label-i[data-tooltip]:hover::after,
#avision-dashboard-root .guardian-activity-feed .cockpit-section-title-with-i .avi-kpi-label-i[data-tooltip]:hover::after {
    z-index: 999999 !important;
}
#avision-dashboard-root .guardian-activity-feed .guardian-activity-header .avi-kpi-label-i[data-tooltip]:hover::before,
#avision-dashboard-root .guardian-activity-feed .cockpit-section-title-with-i .avi-kpi-label-i[data-tooltip]:hover::before {
    z-index: 1000000 !important;
}
#avision-dashboard-root .guardian-activity-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
#avision-dashboard-root .guardian-status-bar {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.35);
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #059669;
    text-transform: uppercase;
}
#avision-dashboard-root .guardian-status-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6);
    animation: guardian-status-pulse 1.8s ease-in-out infinite;
}
@keyframes guardian-status-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.55); }
    70%  { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}
/* Sentinel Heartbeat : Neon Glow pulse à chaque changement de pépite (2s) */
#avision-dashboard-root .guardian-status-pulse.guardian-status-pulse--thinking {
    animation: guardian-status-pulse 1.8s ease-in-out infinite, guardian-neon-glow-pulse 2s ease-out 1;
}
@keyframes guardian-neon-glow-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6), 0 0 12px 2px rgba(16, 185, 129, 0.8); }
    50%  { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.2), 0 0 20px 6px rgba(16, 185, 129, 0.9); }
    100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.55), 0 0 0 0 rgba(16, 185, 129, 0); }
}

/* Kiosque pépite Coach VIP (sidebar legacy) : fade in/out 0.8s */
#avision-dashboard-root .avi-kiosque-nugget {
    display: flex;
    align-items: center;
    margin: 0.5rem 0 0;
    min-height: 40px;
    padding: 10px 0.75rem 10px 10px;
    border-left: 2px solid var(--premium-gold);
    border-radius: 0 8px 8px 0;
    background: rgba(255, 255, 255, 0.5);
    font-size: 0.8125rem;
    line-height: 1.35;
    font-style: italic;
    color: var(--text-muted, #64748b);
    transition: opacity 0.8s ease;
}

/* Lévitation : flottaison douce 8px (amplitude 4px haut/bas), 4s, ease-in-out — scale(1) pour ne pas écraser le pop */
@keyframes avi-whisper-levitate {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-4px) scale(1); }
}

/* --- Bulle Whisper 2.0 : Effet Génie (lien organique bord AVI → bulle), z 1000005 --- */
#avi-heartbeat-whisper.avi-whisper-bubble {
    display: flex !important;
    visibility: visible !important;
    opacity: 0;
    position: fixed;
    bottom: 160px;
    right: 20px;
    z-index: 1000005 !important;
    min-width: 120px;
    min-height: 40px;
    max-width: 280px;
    padding: 10px 28px 26px 14px;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px 16px 16px 4px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.06);
    /* Pas de lévitation en bulle ouverte : confort de lecture. Lévitation uniquement sur .whisper-minimized (ampoule). */
    animation: avi-whisper-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards, avi-whisper-glow 1.2s ease-out 0.4s forwards;
    pointer-events: auto !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
#avi-heartbeat-whisper.avi-whisper-bubble::after {
    display: none;
}
/* Effet Génie 2.0 : 3 bulles du bord supérieur droit AVI vers la bulle — bordure dorée, fond blanc semi-transparent */
.avi-whisper-genie-dots {
    position: absolute;
    right: 24px;
    bottom: -52px;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 6px;
    pointer-events: none;
}
.avi-whisper-genie-dots i {
    display: block;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(212, 175, 55, 0.85);
    flex-shrink: 0;
}
.avi-whisper-genie-dots i:nth-child(1) { width: 5px; height: 5px; }
.avi-whisper-genie-dots i:nth-child(2) { width: 8px; height: 8px; }
.avi-whisper-genie-dots i:nth-child(3) { width: 12px; height: 12px; }
/* Bouton fermer : croix × en haut à droite */
.avi-whisper-bubble .whisper-close {
    position: absolute;
    top: 6px;
    right: 8px;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    background: transparent;
    color: #94a3b8;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, background 0.2s;
}
.avi-whisper-bubble .whisper-close:hover {
    color: #64748b;
    background: rgba(0, 0, 0, 0.06);
}
/* Texte : densité pro 0.75rem + Bold & Blue pour le préfixe (formatNugget) */
.avi-whisper-bubble .avi-kiosque-nugget {
    margin: 0;
    padding: 0;
    min-height: 0;
    border: none;
    border-radius: 0;
    background: none;
    font-size: 0.75rem;
    line-height: 1.4;
    font-style: italic;
    color: var(--avi-navy);
    transition: opacity 0.8s ease;
}
.avi-whisper-bubble .nugget-label-elite {
    color: var(--primary-blue);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.65rem;
    display: inline-block;
    margin: 0 5px 0 0;
}
.avi-whisper-bubble .nugget-label-elite::before {
    display: inline-block;
    margin-right: 4px;
    font-size: 0.8rem;
    line-height: 1;
    vertical-align: -0.05em;
}
.avi-whisper-bubble .nugget-label-elite[data-nugget-tag="conseil"]::before { content: '💡'; }
.avi-whisper-bubble .nugget-label-elite[data-nugget-tag="secret-avi"]::before { content: '🤫'; }
.avi-whisper-bubble .nugget-label-elite[data-nugget-tag="photos"]::before { content: '📸'; }
.avi-whisper-bubble .nugget-label-elite[data-nugget-tag="alerte"]::before { content: '🛡️'; }
.avi-whisper-bubble .nugget-label-elite[data-nugget-tag="visibilite"]::before { content: '🎯'; }
.avi-whisper-bubble .nugget-label-elite[data-nugget-tag="avis"]::before { content: '⭐'; }
.avi-whisper-bubble .nugget-label-elite[data-nugget-tag="strategie"]::before { content: '♟️'; }
.avi-whisper-bubble .nugget-label-elite[data-nugget-tag="info"]::before { content: '💡'; }
.avi-whisper-bubble .whisper-hint {
    position: absolute;
    bottom: 8px;
    right: 12px;
    display: block;
    text-align: right;
    font-size: 0.6rem;
    color: var(--primary-blue);
    font-weight: 700;
    opacity: 0.8;
    pointer-events: auto;
}

/* État réduit : ampoule "Idée Pure" — icône seule, non étirée, éclat doré, lévitation */
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized {
    min-width: 0;
    max-width: none;
    width: 32px;
    height: 32px;
    aspect-ratio: 1 / 1;
    padding: 0;
    bottom: 105px;
    right: 20px;
    border-radius: 50%;
    background: transparent;
    border: none;
    box-shadow: none;
    z-index: 1000005 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    animation: avi-whisper-levitate 4s ease-in-out infinite;
}
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized::after {
    display: none;
}
/* Mode réduit : 3 bulles de connexion (2px, 4px, 6px) entre sommet bouton AVI et ampoule 💡 */
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized .avi-whisper-genie-dots {
    display: flex !important;
    flex-direction: column-reverse;
    align-items: center;
    right: 50%;
    margin-right: -6px;
    bottom: -22px;
    gap: 5px;
    pointer-events: none;
}
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized .avi-whisper-genie-dots i:nth-child(1) {
    width: 2px;
    height: 2px;
}
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized .avi-whisper-genie-dots i:nth-child(2) {
    width: 4px;
    height: 4px;
}
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized .avi-whisper-genie-dots i:nth-child(3) {
    width: 6px;
    height: 6px;
    display: block;
}
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized .avi-kiosque-nugget {
    display: none;
}
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized .whisper-close {
    display: none;
}
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized .whisper-hint {
    display: none;
}
#avi-heartbeat-whisper.avi-whisper-bubble.whisper-minimized .whisper-minimized-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    font-size: 1.125rem;
    line-height: 1;
    filter: drop-shadow(0 0 10px #f59e0b);
    animation: whisper-bulb-flicker 4s ease-in-out infinite;
}
@keyframes whisper-badge-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.9; transform: scale(1.08); }
}
@keyframes whisper-bulb-flicker {
    0%, 92%, 100% { opacity: 1; filter: drop-shadow(0 0 10px #f59e0b); }
    93% { opacity: 0.75; filter: drop-shadow(0 0 4px #f59e0b); }
    94% { opacity: 1; filter: drop-shadow(0 0 12px #f59e0b); }
    96% { opacity: 0.85; filter: drop-shadow(0 0 6px #f59e0b); }
    98% { opacity: 1; filter: drop-shadow(0 0 10px #f59e0b); }
}
@keyframes avi-whisper-pop {
    0%   { opacity: 0; transform: scale(0.85); }
    70%  { transform: scale(1.02); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes avi-whisper-glow {
    0%   { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.06); }
    50%  { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.06), 0 0 24px 6px rgba(217, 119, 6, 0.12); }
    100% { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 12px 40px rgba(0, 0, 0, 0.06); }
}

/* Stats grid : 4 cartes compactes (fond blanc) */
#avision-dashboard-root .guardian-activity-feed .guardian-stats-counters {
    margin: 0;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border: none;
    border-bottom: 1px solid var(--border-color);
    border-radius: 0;
}
/* Titre "Tentative(s) d'usurpation neutralisée(s)" : taille réduite (priorité dans le feed) */
#avision-dashboard-root .guardian-activity-feed .guardian-stats-counters .guardian-stats-heading {
    font-size: 0.75rem !important;
    font-weight: 700;
}
#avision-dashboard-root .guardian-activity-feed .guardian-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
}
#avision-dashboard-root .guardian-activity-feed .guardian-stat-cell {
    padding: 0.5rem 0.4rem;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    text-align: center;
}
#avision-dashboard-root .guardian-activity-feed .guardian-stat-value {
    font-size: 1.25rem;
    font-weight: 800;
    color: #059669;
    font-variant-numeric: tabular-nums;
    display: block;
}
#avision-dashboard-root .guardian-activity-feed .guardian-stat-value--total {
    color: var(--premium-gold);
}
#avision-dashboard-root .guardian-activity-feed .guardian-stat-period {
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    margin-top: 2px;
}
@media (max-width: 480px) {
    #avision-dashboard-root .guardian-activity-feed .guardian-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Log stream : conteneur scroll (fond blanc) */
#avision-dashboard-root .guardian-log-stream {
    max-height: 240px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.5rem 1rem;
    background: #ffffff;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}
#avision-dashboard-root .guardian-log-stream::-webkit-scrollbar {
    width: 6px;
}
#avision-dashboard-root .guardian-log-stream::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 3px;
}
#avision-dashboard-root .guardian-log-stream::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
#avision-dashboard-root .guardian-log-stream::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
#avision-dashboard-root .guardian-log-stream.guardian-log-stream--history {
    max-height: 160px;
}

/* Titre "Intervention en cours" : même design et alignement que CENTRE D'INTERVENTION */
#avision-dashboard-root .guardian-activity-feed .guardian-feed-section-title.cockpit-section-title {
    margin-top: 0.75rem;
    margin-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
#avision-dashboard-root .guardian-activity-feed .guardian-feed-section-title .avi-kpi-label-i {
    flex-shrink: 0;
}
#avision-dashboard-root .guardian-log-stream .cockpit-feed-nominal {
    min-height: 52px;
    display: flex;
    align-items: center;
    padding: 0.75rem 0;
    font-size: 0.8125rem;
    color: var(--text-muted);
    font-style: italic;
    line-height: 1.4;
}

/* Cartes de log (fond blanc VIP) */
#avision-dashboard-root .guardian-log-card {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    margin-bottom: 0.5rem;
    background: #f8fafc;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    border-left-width: 3px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
    font-size: 0.8125rem;
}
#avision-dashboard-root .guardian-log-card:last-child { margin-bottom: 0; }
#avision-dashboard-root .guardian-log-card:hover {
    background: #f1f5f9;
}
#avision-dashboard-root .guardian-log-card--intervention {
    border-left-color: #f59e0b;
}
#avision-dashboard-root .guardian-log-card--surveillance {
    border-left-color: #3b82f6;
}
#avision-dashboard-root .guardian-log-card__icon {
    font-size: 1.125rem;
    line-height: 1;
    flex-shrink: 0;
}
#avision-dashboard-root .guardian-log-card__body {
    flex: 1;
    min-width: 0;
}
#avision-dashboard-root .guardian-log-card__badge {
    display: inline-block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    margin-bottom: 0.25rem;
}
#avision-dashboard-root .guardian-log-card--intervention .guardian-log-card__badge {
    background: rgba(245, 158, 11, 0.15);
    color: #b45309;
}
#avision-dashboard-root .guardian-log-card--surveillance .guardian-log-card__badge {
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
}
#avision-dashboard-root .guardian-log-card__message {
    color: var(--text-secondary, #475569);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.35;
}
#avision-dashboard-root .guardian-log-card__date {
    font-size: 0.6875rem;
    color: var(--text-muted);
    margin-top: 0.25rem;
}
#avision-dashboard-root .guardian-log-card--history {
    opacity: 0.9;
    pointer-events: none;
    cursor: default;
}
#avision-dashboard-root .guardian-log-card--history:hover {
    background: #f8fafc;
}
#avision-dashboard-root .guardian-log-card--system-line {
    background: #ecfdf5;
    border-left-color: #10b981;
}
#avision-dashboard-root .guardian-log-card--system-line .guardian-log-card__message {
    color: #047857;
    font-style: normal;
}
/* Timeline / Flux de détails — bordures selon status */
#avision-dashboard-root .guardian-log-card--timeline {
    border-left-width: 3px;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}
#avision-dashboard-root .guardian-log-card--status-blocked {
    border-left-color: #dc2626;
    background: rgba(220, 38, 38, 0.04);
}
#avision-dashboard-root .guardian-log-card--status-ok {
    border-left-color: #10b981;
    background: rgba(16, 185, 129, 0.05);
}
#avision-dashboard-root .guardian-log-card--status-alert {
    border-left-color: #f59e0b;
    background: rgba(245, 158, 11, 0.06);
}

#avision-dashboard-root .cockpit-history-details { margin-top: 0; padding: 0.5rem 1rem; border-top: 1px solid var(--border-color); background: #ffffff; }
#avision-dashboard-root .cockpit-history-summary { font-size: 0.875rem; font-weight: 700; color: var(--text-muted); cursor: pointer; padding: 0.5rem 0; list-style: none; display: flex; align-items: center; gap: 0.375rem; flex-wrap: wrap; }
#avision-dashboard-root .cockpit-history-summary::-webkit-details-marker { display: none; }
#avision-dashboard-root .cockpit-history-chevron { font-size: 0.7em; opacity: 0.8; transition: transform 0.2s; }
#avision-dashboard-root .cockpit-history-details[open] .cockpit-history-chevron { transform: rotate(-180deg); }
#avision-dashboard-root .cockpit-history-new-badge { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; color: #fff; background: #10b981; padding: 0.125rem 0.375rem; border-radius: 4px; margin-left: 0.25rem; }
#avision-dashboard-root .cockpit-history-feed { max-height: 120px; overflow-y: auto; }
#avision-dashboard-root .cockpit-history-row {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    align-items: center;
    min-height: 32px;
    gap: 0.625rem;
    padding: 0 0.75rem;
    font-size: 0.875rem;
    opacity: 0.6;
    pointer-events: none;
    border-bottom: 0.5px solid rgba(71,85,105,0.3);
}
#avision-dashboard-root .cockpit-history-row .cockpit-feed-col-type { width: 40px; min-width: 40px; font-size: 1rem; text-align: center; }
#avision-dashboard-root .cockpit-history-row .cockpit-feed-col-message { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; color: var(--text-muted); }
#avision-dashboard-root .cockpit-history-row .cockpit-feed-col-date { font-size: 0.6875rem; text-align: right; color: var(--text-muted); }
/* 4b. Compteurs Centre d'Intervention (Guardian Stats) */
#avision-dashboard-root .guardian-stats-counters {
    margin: 1.25rem 0;
    padding: 1rem 1.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
}
#avision-dashboard-root .guardian-stats-heading {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-primary, #0f172a);
    margin: 0 0 0.75rem 0;
    letter-spacing: 0.02em;
}
#avision-dashboard-root .guardian-stats-heading .avi-kpi-label-i {
    flex-shrink: 0;
}
#avision-dashboard-root .guardian-stats-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 0.875rem;
}
#avision-dashboard-root .guardian-pulse-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6);
    animation: guardian-pulse 1.8s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes guardian-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.55); }
    70%  { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}
#avision-dashboard-root .guardian-stats-label {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--text-primary, #e2e8f0);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#avision-dashboard-root .guardian-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
#avision-dashboard-root .guardian-stat-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.625rem 0.5rem;
    border-radius: 8px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
}
#avision-dashboard-root .guardian-stat-value {
    font-size: 1.5rem;
    font-weight: 800;
    color: #10b981;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}
#avision-dashboard-root .guardian-stat-value--total {
    color: var(--premium-gold, #d97706);
}
#avision-dashboard-root .guardian-stat-period {
    font-size: 0.6875rem;
    color: var(--text-muted, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-top: 2px;
}
@media (max-width: 480px) {
    #avision-dashboard-root .guardian-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 5. Galerie Intelligente (Drip-Feed) */
#avision-dashboard-root .cockpit-galerie-intro {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 0 0 0.75rem 0;
    line-height: 1.5;
}
#avision-dashboard-root .galerie-drip-strategy {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.6875rem;
    font-style: italic;
    color: var(--text-muted);
    margin: 0 0 0.75rem 0;
    line-height: 1.5;
}
#avision-dashboard-root .guardian-cockpit-elite .smart-media-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.9375rem 1.25rem;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
}
/* 6. PIED DE PAGE : [STATUS] Rapport Invisible — style console informatique */
#avision-dashboard-root .cockpit-rapport-footer {
    display: block;
    padding: 0.75rem 0 0.5rem 0;
    font-size: 0.6875rem;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    color: var(--text-muted);
    letter-spacing: 0.5px;
    border-top: 0.5px solid #475569;
    margin-top: 16px;
}
#avision-dashboard-root .cockpit-rapport-footer strong { color: var(--premium-gold); }
#avision-dashboard-root .cockpit-avi-system-footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    padding: 0.875rem 0 0.625rem 0;
    margin-top: 0.5rem;
    font-size: 0.6875rem;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    color: #64748b;
    letter-spacing: 0.5px;
    border-top: 0.5px solid #475569;
}
#avision-dashboard-root .cockpit-avi-system-led {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
}
#avision-dashboard-root .cockpit-avi-system-led.pulse-live {
    animation: cockpit-pulse-live 1.5s ease-in-out infinite;
}
@keyframes cockpit-pulse-live {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}
#avision-dashboard-root .cockpit-avi-system-footer .avi-system-usurp {
    color: #f59e0b;
    font-weight: 700;
}
#avision-dashboard-root .guardian-cockpit-elite .media-drop-container {
    padding-bottom: 80px;
}
#avision-dashboard-root .guardian-cockpit-elite .media-drop-container.media-drop-closing {
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.3s ease-out, opacity 0.15s ease-out, visibility 0.15s;
}
#avision-dashboard-root .guardian-cockpit-elite .media-drop-zone .drop-zone-content {
    margin-bottom: 32px;
}
#avision-dashboard-root .guardian-cockpit-elite .media-drop-zone {
    min-height: 180px;
}
#avision-dashboard-root .email-area { width: 100%; height: 13.75rem; padding: 1.25rem; border: 1px solid #cbd5e1; border-radius: 8px; font-family: 'Courier New', monospace; font-size: 1rem; line-height: 1.5; color: #1e293b; resize: none; background: white; margin-bottom: 0.9375rem; box-shadow: inset 0 2px 4px rgba(0,0,0,0.05); }

/* Footer Elite : liens centrés au-dessus du copyright */
.avi-footer .avi-footer-inner {
    padding-left: 40px !important;
    padding-right: 40px !important;
}
.avi-footer-links-wrap {
    text-align: center !important;
    padding: 0.75rem 1.5rem 0 !important;
}
.avi-footer-links-wrap a {
    margin: 0 1rem;
}

/* Footer - Optimisé pour un affichage compact */
#avision-dashboard-root .app-footer { margin-top: auto; background: var(--bg-card); border-top: 1px solid var(--border-color); padding: 1.5rem 0; text-align: center; color: var(--text-muted); font-size: 0.9rem; }
#avision-dashboard-root .footer-links { display: flex; justify-content: center; gap: 1.5625rem; margin-bottom: 0.9375rem; }
#avision-dashboard-root .footer-links a { color: var(--text-muted); text-decoration: none; font-weight: 500; }

/* Avi Widget */
#avision-dashboard-root .avi-widget-btn { position: fixed; bottom: 40px; right: 30px; width: 70px; height: 70px; background: var(--primary-dark); border-radius: 50%; box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.4); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2000; transition: transform 0.2s; border: 4px solid white; overflow: visible; }
#avision-dashboard-root .avi-widget-btn:hover { transform: scale(1.05); }
#avision-dashboard-root .avi-icon { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
#avision-dashboard-root .avi-icon .avi-chat-icon-img { width: 65px; height: 65px; max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
#avision-dashboard-root .avi-badge { position: absolute; top: -0.3125rem; right: -0.3125rem; width: 24px; height: 24px; background: var(--danger); border-radius: 50%; border: 2px solid white; color: white; font-size: 0.8rem; font-weight: 800; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; transform: scale(0.8); z-index: 10; }
#avision-dashboard-root .avi-badge.visible { opacity: 1; transform: scale(1); }
#avision-dashboard-root .avi-chat-window { position: fixed; bottom: 100px; right: 24px; width: 340px; height: 600px; max-height: 75vh; background: white; border-radius: 14px; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); border: 1px solid var(--border); display: flex; flex-direction: column; z-index: 1999; opacity: 0; transform: translateY(20px); pointer-events: none; transition: all 0.3s ease; }
#avision-dashboard-root .avi-chat-window.open { opacity: 1; transform: translateY(0); pointer-events: auto; }
#avision-dashboard-root .chat-header { padding: 0.875rem 1.125rem; background: var(--primary-dark); color: white; display: flex; justify-content: space-between; align-items: center; border-radius: 14px 14px 0 0; font-size: 0.875rem; }
/* Cacher toute bulle rouge dans le header du chat */
#avision-dashboard-root .chat-header .avi-badge,
#avision-dashboard-root .chat-header .avi-notification-badge,
#avision-dashboard-root .chat-header [class*="badge"],
#avision-dashboard-root .chat-header [class*="notification"],
#avision-dashboard-root .chat-header [style*="background: #ff4444"],
#avision-dashboard-root .chat-header [style*="background:#ff4444"],
#avision-dashboard-root .chat-header [style*="background: #ef4444"],
#avision-dashboard-root .chat-header [style*="background:#ef4444"],
#avision-dashboard-root .chat-header [style*="background:red"],
#avision-dashboard-root .chat-header [style*="background: red"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
@keyframes avi-pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
    70% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}
#avision-dashboard-root .chat-container { flex: 1; display: flex; flex-direction: column; background: #f8fafc; overflow: hidden; }
#avision-dashboard-root .chat-messages { flex: 1; overflow-y: auto; padding: 1.125rem; display: flex; flex-direction: column; gap: 0.75rem; }
#avision-dashboard-root .msg { padding: 0.625rem 0.875rem; border-radius: 10px; font-size: 0.8125rem; max-width: 85%; line-height: 1.45; }
#avision-dashboard-root .msg.avi { background: white; border: 1px solid var(--border); color: var(--text-main); white-space: pre-wrap; }
#avision-dashboard-root .msg.avi p { margin: 0.5em 0; line-height: 1.55; font-size: 0.8125rem; }
#avision-dashboard-root .msg.avi p:first-child { margin-top: 0; }
#avision-dashboard-root .msg.avi p:last-child { margin-bottom: 0; }
#avision-dashboard-root .msg.avi strong { color: var(--primary-dark); font-weight: 700; }
#avision-dashboard-root .msg.avi br { line-height: 1.55; }
#avision-dashboard-root .msg.user { background: var(--primary-dark); color: white; align-self: flex-end; }
#avision-dashboard-root .msg.avi.typing { font-style: italic; color: #94a3b8; border: none; background: transparent; padding: 0; }
#avision-dashboard-root .avi-typing-indicator { display: flex !important; align-items: center; gap: 0.5rem; font-size: 0.8125rem; }
#avision-dashboard-root .avi-typing-spinner {
    width: 14px; height: 14px; border: 2px solid rgba(251, 191, 36, 0.3); border-radius: 50%;
    border-top-color: #fbbf24; animation: spin 0.8s linear infinite; flex-shrink: 0;
}
/* Étape D : bloc d'attente "Premium & Fin" — l'attente est une protection (Natural Growth), pas une lenteur technique */
#avision-dashboard-root .msg.avi .avi-message-wait {
    border: 1px solid #d97706;
    border-radius: 10px;
    padding: 0.625rem 0.875rem;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    position: relative;
    padding-left: 38px;
}
#avision-dashboard-root .msg.avi .avi-message-wait::before {
    content: '\1F6E1\FE0F';
    position: absolute;
    left: 12px;
    top: 12px;
    font-size: 1.25rem;
    line-height: 1;
}
#avision-dashboard-root .msg.avi .avi-message-wait p,
#avision-dashboard-root .msg.avi .avi-message-wait strong { color: #92400e; font-size: 0.8125rem; }

/* --- MODE ADMIN "Développement & Édition" --- */
.avision-dev-mode-floating {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 1998;
    padding: 0.625rem 1rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: #fff;
    background: #dc2626;
    border: 1px solid #b91c1c;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.4);
}
.avision-dev-mode-floating:hover { background: #b91c1c; }
.avision-dev-guardian-btn {
    left: 24px;
    bottom: 58px !important;
    background: #d97706 !important;
    border-color: #b45309 !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.4);
}
.avision-dev-guardian-btn:hover { background: #b45309 !important; }
.avision-dev-notif-sim-btn {
    left: 24px;
    bottom: 92px !important;
    background: #059669 !important;
    border-color: #047857 !important;
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.4);
}
.avision-dev-notif-sim-btn:hover { background: #047857 !important; }
.avision-dev-validation-sim-btn {
    left: 24px;
    bottom: 126px !important;
    background: #d97706 !important;
    border-color: #b45309 !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.4);
}
.avision-dev-validation-sim-btn:hover { background: #b45309 !important; }
.avision-dev-posts-sim-btn {
    left: 24px;
    bottom: 160px !important;
    background: #7c3aed !important;
}
.avision-dev-posts-sim-btn:hover { background: #6d28d9 !important; }
.avision-dev-l15-auto-btn {
    left: 24px;
    bottom: 194px !important;
    background: #0d9488 !important;
    border-color: #0f766e !important;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.4);
}
.avision-dev-l15-auto-btn:hover { background: #0f766e !important; }
.avision-dev-top3-unlock-btn {
    left: 24px;
    bottom: 228px !important;
    background: #b45309 !important;
    border-color: #92400e !important;
    box-shadow: 0 4px 12px rgba(180, 83, 9, 0.4);
}
.avision-dev-top3-unlock-btn:hover { background: #92400e !important; }
.avision-dev-radar-gratuit-btn {
    left: 24px;
    bottom: 262px !important;
    background: #64748b !important;
}
.avision-dev-radar-gratuit-btn:hover { background: #475569 !important; }
.avision-dev-radar-hebdo-btn {
    left: 24px;
    bottom: 296px !important;
    background: #b45309 !important;
}
.avision-dev-radar-hebdo-btn:hover { background: #92400e !important; }
.avision-dev-radar-jours-btn {
    left: 24px;
    bottom: 330px !important;
    background: #c2410c !important;
    border-color: #9a3412 !important;
}
.avision-dev-radar-jours-btn:hover { background: #9a3412 !important; }
.avision-dev-radar-sim-week-btn {
    left: 24px;
    bottom: 364px !important;
    background: #4f46e5 !important;
    border-color: #4338ca !important;
}
.avision-dev-radar-sim-week-btn:hover { background: #4338ca !important; }
.avision-dev-guardian-toggle-btn {
    left: 24px;
    bottom: 398px !important;
    background: #0f766e !important;
    border-color: #0d9488 !important;
}
.avision-dev-guardian-toggle-btn:hover { background: #0d9488 !important; }
.avision-dev-keyword-suggest-btn {
    left: 24px;
    bottom: 432px !important;
    background: #0d9488 !important;
    border-color: #0f766e !important;
}
.avision-dev-keyword-suggest-btn:hover { background: #0f766e !important; }
.avision-dev-keyword-edit-btn {
    left: 24px;
    bottom: 466px !important;
    background: #7c3aed !important;
    border-color: #6d28d9 !important;
}
.avision-dev-keyword-edit-btn:hover { background: #6d28d9 !important; }
.avision-dev-keyword-validate-btn {
    left: 24px;
    bottom: 500px !important;
    background: #059669 !important;
    border-color: #047857 !important;
}
.avision-dev-keyword-validate-btn:hover { background: #047857 !important; }
.avision-dev-keyword-unlock-btn {
    left: 24px;
    bottom: 534px !important;
    background: #ea580c !important;
    border-color: #c2410c !important;
}
.avision-dev-keyword-unlock-btn:hover { background: #c2410c !important; }
.avision-dev-keyword-validate-btn:hover { background: #047857 !important; }

/* --- BOUTON AIDE AVI PREMIUM --- */
#avision-dashboard-root .btn-avi-helper {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color: #fbbf24;
    border: 1px solid #fbbf24;
    padding: 0.75rem 1.25rem;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.625rem;
    transition: all 0.3s ease;
    margin-bottom: 0.9375rem;
    width: 100%;
    text-align: left;
}
#avision-dashboard-root .btn-avi-helper:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 15px rgba(251, 191, 36, 0.2);
}
#avision-dashboard-root .btn-avi-helper .sparkle { font-size: 1.2rem; }
@keyframes avi-helper-shimmer {
    0%, 100% { box-shadow: 0 0 0 0 rgba(251, 191, 36, 0.4), 0 4px 15px rgba(251, 191, 36, 0.2); }
    50% { box-shadow: 0 0 20px 4px rgba(251, 191, 36, 0.5), 0 4px 20px rgba(251, 191, 36, 0.35); }
}
@keyframes avi-helper-sparkle {
    0%, 100% { opacity: 1; transform: scale(1); }
    25% { opacity: 0.9; transform: scale(1.05); }
    50% { opacity: 1; transform: scale(1); }
    75% { opacity: 0.95; transform: scale(1.03); }
}
#avision-dashboard-root .btn-avi-helper.btn-avi-helper-enter {
    animation: avi-helper-shimmer 1.5s ease-in-out 3;
}
#avision-dashboard-root .btn-avi-helper.btn-avi-helper-enter .sparkle {
    animation: avi-helper-sparkle 0.8s ease-in-out infinite;
}
#avision-dashboard-root .btn-avi-copy {
    margin-top: 10px;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    background: #10b981;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
}
#avision-dashboard-root .btn-avi-copy:hover { background: #059669; }

/* L15 Workflow - Boutons étoiles et contexte */
#avision-dashboard-root .l15-star-buttons {
    display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 12px;
}
#avision-dashboard-root .l15-star-btn {
    padding: 0.625rem 1.125rem; font-size: 1rem; font-weight: 700; border-radius: 10px;
    border: 2px solid var(--primary-dark); background: white; color: var(--primary-dark);
    cursor: pointer; transition: all 0.2s;
}
#avision-dashboard-root .l15-star-btn:hover {
    background: var(--primary-dark); color: white; transform: scale(1.05);
}
#avision-dashboard-root .l15-skip-context-btn {
    margin-top: 0.875rem; padding: 10px 20px; font-size: 0.95rem; font-weight: 600;
    border-radius: 10px; border: 2px solid #94a3b8; background: #f8fafc; color: #64748b;
    cursor: pointer; transition: all 0.2s;
}
#avision-dashboard-root .l15-skip-context-btn:hover {
    background: #e2e8f0; border-color: #64748b; color: var(--text-main);
}
#avision-dashboard-root .avision-dev-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 0.125rem 0.375rem;
    font-size: 0.65rem;
    font-weight: 800;
    color: #fff;
    background: #dc2626;
    border-radius: 4px;
    letter-spacing: 0.05em;
    z-index: 2;
}
#avision-dashboard-root .avision-dev-gear-wrap {
    position: absolute;
    bottom: 8px;
    right: 8px;
    z-index: 3;
}
#avision-dashboard-root .avision-dev-gear {
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    background: #f1f5f9;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
#avision-dashboard-root .avision-dev-gear:hover { background: #e2e8f0; }
#avision-dashboard-root .avision-dev-menu {
    position: absolute;
    bottom: 100%;
    right: 0;
    margin-bottom: 0.25rem;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
    padding: 0.375rem 0;
    min-width: 160px;
    z-index: 10;
}
#avision-dashboard-root .avision-dev-menu-btn {
    display: block;
    width: 100%;
    padding: 0.5rem 0.875rem;
    text-align: left;
    border: none;
    background: none;
    font-size: 0.85rem;
    cursor: pointer;
    color: var(--text-main);
}
#avision-dashboard-root .avision-dev-menu-btn:hover { background: #f8fafc; }

#avision-dashboard-root .chat-suggestions {
    padding: 0.75rem;
    display: flex;
    gap: 0.5rem;
    overflow-x: auto !important;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    will-change: transform;
    pointer-events: auto !important;
    border-top: 1px solid var(--border);
    background: white;
    scrollbar-width: thin;
}
#avision-dashboard-root .chat-suggestions::-webkit-scrollbar {
    height: 4px;
}
#avision-dashboard-root .chat-suggestions::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

/* --- DESIGN CHIPS VIP --- */
#avision-dashboard-root .suggestion-chip {
    background: linear-gradient(135deg, #ffffff, #fef3c7);
    border: 1px solid #d97706;
    color: #92400e;
    padding: 0.375rem 0.75rem;
    border-radius: 16px;
    font-weight: 700;
    font-size: 0.75rem;
    box-shadow: 0 2px 8px rgba(217, 119, 6, 0.12);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    display: inline-block;
    margin: 0.1875rem;
    white-space: nowrap;
    flex-shrink: 0;
}
#avision-dashboard-root .suggestion-chip:hover {
    background: linear-gradient(135deg, #d97706, #f59e0b);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.25);
}

/* --- BOITE PROPOSITION SEO PREMIUM --- */
.seo-proposition-box {
    background: #ffffff;
    border-left: 4px solid #d97706;
    border-radius: 8px;
    padding: 20px;
    margin: 0.9375rem 0;
    box-shadow: inset 0 0 10px rgba(217, 119, 6, 0.05), 0 2px 8px rgba(0,0,0,0.05);
}
#avision-dashboard-root .avi-chat-window .seo-proposition-box { padding: 0.75rem 0.875rem; margin: 0.625rem 0; font-size: 0.8125rem; }
.strategist-analysis {
    background: #eff6ff;
    border-radius: 6px;
    padding: 0.75rem;
    font-size: 0.95rem;
    color: #1e40af;
    margin-bottom: 0.9375rem;
    font-style: italic;
    border: 1px solid #bfdbfe;
}
#avision-dashboard-root .avi-chat-window .strategist-analysis { padding: 0.625rem; font-size: 0.8125rem; margin-bottom: 0.625rem; }

/* --- TITRES ET MISE EN FORME --- */
.avi-title-vip {
    color: #111827;
    font-weight: 800;
    font-size: 1.1rem;
    display: block;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#avision-dashboard-root .avi-chat-window .avi-title-vip { font-size: 0.875rem; margin-bottom: 6px; }
#avision-dashboard-root .chat-input-area { padding: 0.875rem 1rem; background: white; border-top: 1px solid var(--border); display: flex; gap: 0.625rem; }

/* --- PROGRAM TIMELINE (90 Jours) --- */
#avision-dashboard-root .program-timeline-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 16px;
}

#avision-dashboard-root .program-month-card {
    background: white;
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 0.9375rem 1.25rem;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100px;
}

#avision-dashboard-root .program-month-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

#avision-dashboard-root .program-month-number {
    width: 48px;
    height: 48px;
    background: var(--bg-body);
    border: 2px solid var(--border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--text-muted);
    flex-shrink: 0;
    position: relative;
}

#avision-dashboard-root .program-month-content {
    flex: 1;
}

/* Sous-titres (ex: Mois 1, Mois 2) */
#avision-dashboard-root .program-month-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 0 0 0.25rem 0;
}

#avision-dashboard-root .program-month-subtitle {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin: 0;
}

#avision-dashboard-root .program-month-status {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: auto;
}

#avision-dashboard-root .program-status-badge {
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.375rem 0.75rem;
    border-radius: 20px;
    display: none;
}

/* État ACTIVE (En cours) */
#avision-dashboard-root .program-month-card.active {
    border-color: var(--primary);
    border-width: 3px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
}

#avision-dashboard-root .program-month-card.active .program-month-number {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

#avision-dashboard-root .program-month-card.active .program-month-title {
    color: var(--primary-dark);
}

#avision-dashboard-root .program-month-card.active .program-status-badge {
    display: inline-block;
    background: var(--primary);
    color: white;
}

#avision-dashboard-root .program-month-card.active .program-status-badge::before {
    content: "En cours";
}

/* État COMPLETED (Terminé) */
#avision-dashboard-root .program-month-card.completed {
    background: var(--success-bg);
    border-color: var(--success);
    border-width: 2px;
}

#avision-dashboard-root .program-month-card.completed .program-month-number {
    background: var(--success);
    color: transparent;
    border-color: var(--success);
    position: relative;
}

#avision-dashboard-root .program-month-card.completed .program-month-number::after {
    content: "\2713";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.4rem;
    color: white;
    font-weight: 800;
    line-height: 1;
}

#avision-dashboard-root .program-month-card.completed .program-month-title {
    color: var(--success);
}

#avision-dashboard-root .program-month-card.completed .program-status-badge {
    display: inline-block;
    background: var(--success);
    color: white;
}

#avision-dashboard-root .program-month-card.completed .program-status-badge::before {
    content: "\2713 Termin\00E9";
}

/* État LOCKED (Futur) */
#avision-dashboard-root .program-month-card.locked {
    opacity: 0.5;
    background: #f8fafc;
    border-color: var(--border);
    border-width: 2px;
}

#avision-dashboard-root .program-month-card.locked .program-month-number {
    background: #e2e8f0;
    color: var(--text-muted);
    border-color: #cbd5e1;
}

#avision-dashboard-root .program-month-card.locked .program-month-title,
#avision-dashboard-root .program-month-card.locked .program-month-subtitle {
    color: var(--text-muted);
}

#avision-dashboard-root .program-month-card.locked .program-status-badge {
    display: none;
}

/* Responsive Mobiles larges (iPhone Pro Max, etc.) */
@media (max-width: 768px) {
    #avision-dashboard-root .program-timeline-container {
        grid-template-columns: 1fr;
        gap: 0.875rem;
    }
    #avision-dashboard-root .container { padding: 0 0.875rem; }
    #avision-dashboard-root .level-card { padding: 0.6rem 0.875rem; font-size: 0.9rem; }
    #avision-dashboard-root .card { padding: 0.75rem; }
    #avision-dashboard-root .business-info h1 { font-size: 1.25rem; }
    #avision-dashboard-root .nav-left { gap: 0.5rem; }
    #avision-dashboard-root .nav-right { gap: 0.75rem; }
    #avision-dashboard-root .nav-right .header-flags { display: flex !important; }
    #avision-dashboard-root .header-flag { font-size: 1.25rem; padding: 0.375rem; }
    #avision-dashboard-root .trade-engine-badge { display: none !important; }
}

/* Responsive iPhone (iPhone 16 Pro, 15 Pro, etc.) */
@media (max-width: 430px) {
    #avision-dashboard-root .container { padding: 0 0.625rem; }
    #avision-dashboard-root .level-card { padding: 0.6rem 0.875rem; font-size: 0.75rem; }
    #avision-dashboard-root .level-card .level-header .level-title,
    #avision-dashboard-root .level-card .level-card-top-row .level-title { font-size: 0.75rem !important; }
    #avision-dashboard-root .lvl-pct { font-size: 0.75rem; }
    #avision-dashboard-root .card { padding: 0.75rem; }
    #avision-dashboard-root .top-nav { height: 3.75rem; padding: 0 0.625rem; }
    #avision-dashboard-root .logo { font-size: 1.3rem; }
    #avision-dashboard-root .business-info h1 { font-size: 1.15rem; }
    #avision-dashboard-root .phase-title { font-size: 0.95rem !important; }
    #avision-dashboard-root .phase-subtitle { font-size: 0.9rem; }
    #avision-dashboard-root .levels-grid { gap: 0.75rem; }
    #avision-dashboard-root .score-card { padding: 0.75rem; }
    #avision-dashboard-root .motivation-box { padding: 0.75rem; }
    #avision-dashboard-root .motivation-val { font-size: 1.3rem; }
    #avision-dashboard-root .motivation-lbl { font-size: 0.75rem; }
    #avision-dashboard-root .nav-left { gap: 0.375rem; }
    #avision-dashboard-root .nav-right { gap: 0.625rem; }
    #avision-dashboard-root .nav-right .header-flags { display: flex !important; }
    #avision-dashboard-root .nav-right .nav-link { display: none; }
    #avision-dashboard-root .header-flags { padding: 0.1875rem 0.375rem; gap: 0.125rem; background: rgba(0,0,0,0.05); }
    #avision-dashboard-root .header-flag { font-size: 1.15rem; padding: 0.25rem; }
    #avision-dashboard-root .notif-btn { font-size: 1.2rem; padding: 0.375rem; }
    #avision-dashboard-root .trade-engine-badge { display: none !important; }
}
#avision-dashboard-root .chat-input { flex: 1; padding: 0.625rem 0.875rem; border: 1px solid var(--border); border-radius: 22px; outline: none; background: #f8fafc; font-size: 0.8125rem; }
#avision-dashboard-root .chat-send { background: var(--primary-dark); color: white; border: none; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 1rem; }
#avision-dashboard-root .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 3000; display: none !important; align-items: center; justify-content: center; pointer-events: none !important; }
#avision-dashboard-root .modal-overlay.is-visible { display: flex !important; pointer-events: auto !important; }
#avision-dashboard-root .modal-box,
#avision-dashboard-root .modal-content { min-width: 400px; max-width: 90vw; padding: 1.5rem; box-sizing: border-box; }
#avision-dashboard-root .modal-box { background: white; border-radius: 0.75rem; width: 90%; text-align: center; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); }
#avision-dashboard-root .modal-box.estimation-modal-pedago { text-align: left; max-width: 420px; }
#avision-dashboard-root .modal-box .estimation-modal-body { color: var(--text-main); font-size: 0.9375rem; line-height: 1.5; margin-bottom: 1.25rem; }
#avision-dashboard-root .modal-box .estimation-modal-body p { margin: 0 0 0.5rem 0; }
#avision-dashboard-root .modal-box .estimation-modal-close { margin-top: 0.5rem; }
/* Modales pédagogiques VIP : template unique Grand Icône → 3 Steps → Coach Tip (Radar + Gardien + Gain) */
#avision-dashboard-root .avi-pedago-modal {
    background: #ffffff !important;
    border: 1px solid var(--border-color);
    border-left-width: 4px;
    max-width: min(420px, 92vw);
    padding: 1.5rem 1.25rem;
    text-align: left;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.05);
}
/* Bordures gauche colorées par type : Bleu Radar, Orange Gardien, Vert Gain */
#avision-dashboard-root .avi-pedago-modal.pedago-theme--radar {
    border-left: 4px solid var(--primary-blue);
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--guardian {
    border-left: 4px solid #ea580c;
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--estimation {
    border-left: 4px solid #10b981;
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--estimation .avi-pedago-modal-icon {
    font-size: 3.5rem;
}
#avision-dashboard-root .avi-pedago-modal-icon {
    font-size: 2.75rem;
    line-height: 1;
    margin-bottom: 0.75rem;
    display: block;
}
/* Modale pédagogique hors #avision-dashboard-root : styles par ID pour garantir affichage [cite: 2026-03-07] */
#aviPedagoModal.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); z-index: 3000;
    display: none; align-items: center; justify-content: center;
}
#aviPedagoModal.modal-overlay.is-visible { display: flex !important; pointer-events: auto !important; }
#radarConfirmStrategyModal.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); z-index: 3000;
    display: none; align-items: center; justify-content: center; pointer-events: none;
}
#radarConfirmStrategyModal.modal-overlay.is-visible { display: flex !important; pointer-events: auto !important; }
#radarConfirmStrategyModalBox.avi-pedago-modal {
    display: flex; flex-direction: column; align-items: stretch;
    max-width: min(420px, 92vw);
}
.radar-confirm-modal-actions {
    display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-top: 0.5rem;
}
.radar-confirm-modal-actions .btn-outline { min-width: 100px; }
.radar-confirm-modal-actions .avi-pedago-cta { min-width: 160px; }
#aviPedagoModalBox.avi-pedago-modal {
    display: flex; flex-direction: column; align-items: stretch;
    background: #fff; border-radius: 0.75rem; max-width: min(420px, 92vw);
    padding: 1.25rem 1.5rem; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
    text-align: left;
}
#aviPedagoModalBox .avi-pedago-modal-icon { font-size: 2.75rem; line-height: 1; margin-bottom: 0.5rem; }
#aviPedagoModalBox .avi-pedago-modal-header { margin-bottom: 0; }
#aviPedagoModalBox .avi-pedago-modal-header .avi-pedago-modal-title { margin: 0 0 0.75rem 0; font-size: 1.1rem; font-weight: 800; }
#aviPedagoModalBox .modal-body.avi-pedago-modal-body { flex: 1; margin-bottom: 1rem; font-size: 0.9375rem; }
#aviPedagoModalBox .avi-pedago-modal-close { display: block; width: 100%; padding: 0.6rem 1rem; border-radius: 8px; font-weight: 600; cursor: pointer; border: none; }

/* Badge de statut injecté dans le header (même innerHTML que le titre) [cite: 2026-03-07] */
#aviPedagoModalBox .avi-pedago-modal-header .avi-modal-status-badge {
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    display: block;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    min-height: 1.5rem;
    line-height: 1.3;
}
#aviPedagoModalBox .avi-pedago-modal-header .avi-modal-status-badge.avi-modal-badge-new {
    background: #fefce8;
    border: 1px solid #eab308;
    color: #eab308;
}
#aviPedagoModalBox .avi-pedago-modal-header .avi-modal-status-badge.avi-modal-badge-new .avi-modal-badge-icon {
    display: inline-block;
    animation: avi-modal-badge-icon-pulse 1.8s ease-in-out infinite;
}
@keyframes avi-modal-badge-icon-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.85; transform: scale(1.08); }
}
#aviPedagoModalBox .avi-pedago-modal-header .avi-modal-status-badge.avi-modal-badge-done {
    background: #f0fdf4;
    border: 1px solid #22c55e;
    color: #22c55e;
}
#avision-dashboard-root .avi-pedago-modal .avi-pedago-modal-title {
    margin-top: 0;
    margin-bottom: 0.75rem;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--text-main);
    line-height: 1.3;
}
#avision-dashboard-root .avi-pedago-modal .avi-pedago-modal-body {
    color: var(--text-main);
    font-size: 0.9375rem;
    line-height: 1.55;
    margin-bottom: 1.25rem;
}
#avision-dashboard-root .avi-pedago-modal .avi-pedago-modal-body p { margin: 0 0 0.5rem 0; }
#avision-dashboard-root .avi-pedago-modal .avi-pedago-modal-body p:last-child { margin-bottom: 0; }
/* Guide de poche : étapes numérotées (1, 2, 3) — Vert = optimisé, Bleu = à faire */
#avision-dashboard-root .avi-pedago-guide {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
#avision-dashboard-root .avi-pedago-placement-section {
    margin-bottom: 0;
    position: relative;
    padding-left: 2.25rem;
    padding-top: 0.25rem;
}
#avision-dashboard-root .avi-pedago-placement-section.avi-pedago-step--1 {
    border-left: 3px solid #10b981;
    background: rgba(16, 185, 129, 0.06);
    border-radius: 0 8px 8px 0;
    padding: 0.75rem 0.75rem 0.75rem 2.25rem;
    margin-left: -0.5rem;
    padding-left: 2.5rem;
}
#avision-dashboard-root .avi-pedago-placement-section.avi-pedago-step--2 {
    border-left: 3px solid var(--primary-blue);
    background: rgba(37, 99, 235, 0.06);
    border-radius: 0 8px 8px 0;
    padding: 0.75rem 0.75rem 0.75rem 2.25rem;
    margin-left: -0.5rem;
    padding-left: 2.5rem;
}
#avision-dashboard-root .avi-pedago-placement-section.avi-pedago-step--3 {
    border-left: 3px solid #8b5cf6;
    background: rgba(139, 92, 246, 0.06);
    border-radius: 0 8px 8px 0;
    padding: 0.75rem 0.75rem 0.75rem 2.25rem;
    margin-left: -0.5rem;
    padding-left: 2.5rem;
}
#avision-dashboard-root .avi-pedago-step-num {
    position: absolute;
    left: 0.5rem;
    top: 0.75rem;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.0625rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
}
#avision-dashboard-root .avi-pedago-step--1 .avi-pedago-step-num {
    background: #10b981;
    box-shadow: 0 1px 3px rgba(16, 185, 129, 0.3);
}
#avision-dashboard-root .avi-pedago-step--2 .avi-pedago-step-num {
    background: var(--primary-blue);
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.3);
}
#avision-dashboard-root .avi-pedago-step--3 .avi-pedago-step-num {
    background: #8b5cf6;
    box-shadow: 0 1px 3px rgba(139, 92, 246, 0.3);
}
#avision-dashboard-root .avi-pedago-placement-section:last-of-type { margin-bottom: 0; }
#avision-dashboard-root .avi-pedago-placement-h4 {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 0.35rem 0;
    color: var(--text-main);
}
#avision-dashboard-root .avi-pedago-placement-intro {
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0 0 0.5rem 0;
    color: var(--text-muted);
}
/* L'astuce du Coach — fond jaune très clair, conseil expert */
#avision-dashboard-root .avi-pedago-coach-tip {
    background: #fefce8;
    border: 1px solid #fef08a;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-top: 0.25rem;
}
#avision-dashboard-root .avi-pedago-coach-tip-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    color: #854d0e;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
#avision-dashboard-root .avi-pedago-coach-tip-text {
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
    color: #713f12;
    font-style: italic;
}
#avision-dashboard-root .avi-pedago-bullets {
    margin: 0 0 1rem 0;
    padding-left: 1.25rem;
    list-style: disc;
}
#avision-dashboard-root .avi-pedago-bullets li {
    margin-bottom: 0.5rem;
    padding-left: 0.25rem;
}
#avision-dashboard-root .avi-pedago-bullets li:last-child { margin-bottom: 0; }
/* Bouton de fermeture : couleur du thème (Bleu Radar, Orange Gardien, Vert Gain) */
#avision-dashboard-root .avi-pedago-cta,
#avision-dashboard-root .avi-pedago-modal .avi-pedago-modal-close {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #fff;
    background: var(--primary-blue);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.2s, transform 0.05s;
    margin-top: 0.5rem;
    text-align: center;
}
#avision-dashboard-root .avi-pedago-cta:hover,
#avision-dashboard-root .avi-pedago-modal .avi-pedago-modal-close:hover {
    background: var(--avi-navy);
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--radar .avi-pedago-cta,
#avision-dashboard-root .avi-pedago-modal.pedago-theme--radar .avi-pedago-modal-close {
    background: var(--primary-blue);
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--radar .avi-pedago-cta:hover,
#avision-dashboard-root .avi-pedago-modal.pedago-theme--radar .avi-pedago-modal-close:hover {
    background: var(--avi-navy);
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--guardian .avi-pedago-cta,
#avision-dashboard-root .avi-pedago-modal.pedago-theme--guardian .avi-pedago-modal-close {
    background: #ea580c;
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--guardian .avi-pedago-cta:hover,
#avision-dashboard-root .avi-pedago-modal.pedago-theme--guardian .avi-pedago-modal-close:hover {
    background: #c2410c;
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--estimation .avi-pedago-cta,
#avision-dashboard-root .avi-pedago-modal.pedago-theme--estimation .avi-pedago-modal-close {
    background: #10b981;
}
#avision-dashboard-root .avi-pedago-modal.pedago-theme--estimation .avi-pedago-cta:hover,
#avision-dashboard-root .avi-pedago-modal.pedago-theme--estimation .avi-pedago-modal-close:hover {
    background: #059669;
}
@media (max-width: 480px) {
    #avision-dashboard-root .avi-pedago-modal {
        padding: 1.25rem 1rem;
        margin: 1rem;
    }
    #avision-dashboard-root .avi-pedago-modal-icon { font-size: 2.5rem; margin-bottom: 0.5rem; }
    #avision-dashboard-root .avi-pedago-modal .avi-pedago-modal-title { font-size: 1.05rem; margin-bottom: 0.5rem; }
    #avision-dashboard-root .avi-pedago-bullets { padding-left: 1rem; }
    #avision-dashboard-root .avi-pedago-cta {
        min-height: 48px;
        padding: 0.875rem 1rem;
        font-size: 1rem;
    }
}
#avision-dashboard-root .modal-title { font-size: 1.2rem; font-weight: 800; margin-bottom: 0.625rem; }
#avision-dashboard-root .modal-desc { color: var(--text-muted); margin-bottom: 1.25rem; }
#avision-dashboard-root .modal-input { width: 100%; padding: 0.75rem; border: 1px solid var(--border); border-radius: 8px; margin-bottom: 0.9375rem; font-size: 1rem; }
#avision-dashboard-root .confetti { position: fixed; width: 10px; height: 10px; background-color: #f00; animation: fall linear forwards; z-index: 9999; pointer-events: none; }
@keyframes fall { to { transform: translateY(100vh) rotate(720deg); opacity: 0; } }

/* --- VALIDATION PANEL (Side Panel - Mode Validation) --- */
#avision-dashboard-root .action-panel-validation { padding: 0 1.25rem 1.5rem; }
#avision-dashboard-root .validation-panel-header { margin-bottom: 18px; }
#avision-dashboard-root .validation-panel-header .action-panel-title { font-size: 0.95rem; color: #92400e; margin: 0; }
#avision-dashboard-root .validation-review-block {
    background: #f1f5f9;
    border-radius: 10px;
    padding: 0.875rem;
    margin-bottom: 16px;
    border-left: 4px solid #64748b;
}
#avision-dashboard-root .validation-review-block h4 { margin: 0 0 0.625rem 0; font-size: 0.875rem; color: #64748b; }
#avision-dashboard-root .validation-post-block .validation-post-title { font-weight: 700; color: #1e293b; margin: 0 0 0.375rem 0; font-size: 0.9rem; }
#avision-dashboard-root .validation-post-block .validation-post-summary { font-size: 0.8125rem; color: #475569; margin: 0; line-height: 1.5; }
#avision-dashboard-root .validation-reviewer { font-weight: 700; color: #1e293b; margin: 0 0 0.25rem 0; font-size: 0.875rem; }
#avision-dashboard-root .validation-stars { font-size: 1rem; margin: 0 0 0.375rem 0; }
#avision-dashboard-root .validation-review-text { font-style: italic; color: #475569; margin: 0; line-height: 1.5; font-size: 0.8125rem; }
#avision-dashboard-root .validation-avi-bubble {
    display: flex;
    gap: 0.625rem;
    padding: 0.875rem;
    background: linear-gradient(135deg, #eff6ff, #e0e7ff);
    border: 2px solid #93c5fd;
    border-radius: 12px;
    margin-bottom: 16px;
}
#avision-dashboard-root .validation-avi-avatar { font-size: 1.6rem; flex-shrink: 0; }
#avision-dashboard-root .validation-avi-message { margin: 0; color: #1e40af; font-size: 0.875rem; line-height: 1.5; }
#avision-dashboard-root .validation-edit-zone { margin-bottom: 16px; }
#avision-dashboard-root .validation-edit-zone label { display: block; font-weight: 700; margin-bottom: 6px; font-size: 0.8125rem; color: #374151; }
#avision-dashboard-root .validation-textarea {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 0.875rem;
    line-height: 1.5;
    resize: vertical;
    min-height: 120px;
}
#avision-dashboard-root .validation-textarea:focus { outline: none; border-color: var(--premium-gold); }
#avision-dashboard-root .validation-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
#avision-dashboard-root .validation-actions-secondary {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    margin-top: 12px;
    padding: 0;
}
#avision-dashboard-root .validation-actions-secondary .btn-outline,
#avision-dashboard-root .validation-actions-secondary .btn-regenerate {
    padding: 8px 12px;
    font-size: 0.8125rem;
    border: 1px solid #cbd5e1;
    background: transparent;
    color: #64748b;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}
#avision-dashboard-root .validation-actions-secondary .btn-outline:hover,
#avision-dashboard-root .validation-actions-secondary .btn-regenerate:hover {
    border-color: var(--premium-gold, #d97706);
    color: #b45309;
    background: #fffbeb;
}
#avision-dashboard-root .validation-actions-secondary .btn-archive,
#avision-dashboard-root .btn-archive {
    background: transparent;
    color: #64748b;
    text-decoration: underline;
    font-size: 0.8rem;
    padding: 0.5rem;
    border: none;
    cursor: pointer;
    font-weight: 500;
    transition: color 0.2s;
}
#avision-dashboard-root .validation-actions-secondary .btn-archive:hover,
#avision-dashboard-root .btn-archive:hover {
    color: var(--premium-gold, #d97706);
}
#avision-dashboard-root .btn-publish {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    border: none;
    padding: 0.75rem 1.125rem;
    border-radius: 10px;
    font-weight: 800;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s;
}
#avision-dashboard-root .btn-publish:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(16, 185, 129, 0.4); }
#avision-dashboard-root .btn-publish:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
#avision-dashboard-root .btn-regenerate {
    display: inline-block;
    background: transparent;
    color: #64748b;
    border: none;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
    cursor: pointer;
    text-decoration: underline;
}
#avision-dashboard-root .btn-regenerate:hover { color: var(--premium-gold); }

/* Point focal Side-Panel : bloc Régénérer Texte / Changer Photo — alignement parfait, visibilité maximale */
/* Nuclear Fix : isolation physique des boutons (z-index au-dessus du chatbot) */
#avision-dashboard-root .validation-actions-regenerate {
    position: relative !important;
    z-index: 2000000 !important;
    pointer-events: auto !important;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 0.625rem;
    width: 100%;
    margin: 0.75rem 0;
    padding: 0.875rem;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
#avision-dashboard-root .validation-actions-regenerate button {
    cursor: pointer !important;
}
#avision-dashboard-root .validation-actions-regenerate .btn-regenerate {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0.625rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    color: #475569;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s, box-shadow 0.2s;
}
#avision-dashboard-root .validation-actions-regenerate .btn-regenerate:hover {
    border-color: var(--premium-gold);
    background: #fffbeb;
    color: #b45309;
    box-shadow: 0 2px 8px rgba(251, 191, 36, 0.2);
}
#avision-dashboard-root .validation-actions-regenerate .btn-regenerate:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
#avision-dashboard-root .validation-feedback {
    margin-top: 16px;
    padding: 0.875rem;
    border-radius: 8px;
    font-weight: 600;
}
#avision-dashboard-root .validation-feedback.validation-feedback-zone {
    margin-top: 0;
    margin-bottom: 10px;
}
#avision-dashboard-root .validation-feedback.success { background: #dcfce7; color: #065f46; }
#avision-dashboard-root .validation-feedback.error {
    background: #fee2e2;
    color: #b91c1c;
    margin-bottom: 10px;
    border: 1px solid #dc2626;
}
#avision-dashboard-root .validation-upload-hint {
    font-size: 0.8rem;
    color: var(--premium-text-muted, #6b7280);
    margin-top: 6px;
    margin-left: 0;
    width: 100%;
}
#avision-dashboard-root .validation-feedback.validation-custom-image-badge {
    font-size: 0.8125rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 10px;
}

/* Action Panel - Mobile */
@media (max-width: 640px) {
    #avision-dashboard-root #action-panel { width: 100%; }
    .user-orbit-panel { width: 100%; }
}

/* Mobile Fixes */
@media (max-width: 900px) {
    #avision-dashboard-root .header-content { grid-template-columns: 1fr; gap: 1rem; }
    #avision-dashboard-root .email-widget-card { width: 100%; padding: 0.75rem; }
    #avision-dashboard-root .business-info h1 { font-size: 1.25rem; }
    #avision-dashboard-root .score-grid { grid-template-columns: 1fr; align-items: start !important; }
    #avision-dashboard-root .score-grid .score-card-visibility { height: auto !important; align-self: auto !important; }
    #avision-dashboard-root .score-card { padding: 0.75rem !important; justify-content: flex-start !important; }
    #avision-dashboard-root .avi-kpi-grid,
    #avision-dashboard-root .score-grid .avi-kpi-grid { height: auto !important; min-height: 0 !important; align-self: auto !important; }
    #avision-dashboard-root .avi-kpi-row { flex: 0 0 auto !important; align-items: start !important; }
    #avision-dashboard-root .avi-kpi-tile { height: auto !important; padding: 0.75rem !important; justify-content: flex-start !important; }
    #avision-dashboard-root .score-card h4,
    #avision-dashboard-root .avi-kpi-tile .avi-kpi-label-wrap,
    #avision-dashboard-root .avi-kpi-tile .kpi-header { min-height: 0 !important; }
    #avision-dashboard-root .motivation-grid { grid-template-columns: 1fr; }
    #avision-dashboard-root .saas-header { padding: 2rem 0 2.8rem 0; margin-bottom: -1.875rem; }
    #avision-dashboard-root .level-card { padding: 0.6rem 0.875rem; }
    #avision-dashboard-root .container { padding: 0 0.875rem; }
    #avision-dashboard-root .nav-left { gap: 0.5rem; }
    #avision-dashboard-root .nav-right { gap: 0.75rem; }
    #avision-dashboard-root .nav-right .nav-link { display: none; }
    #avision-dashboard-root .nav-right .header-flags { display: flex !important; margin-right: 0; }
    #avision-dashboard-root .header-flag { font-size: 1.3rem; padding: 0.375rem; }
    #avision-dashboard-root .trade-engine-badge { display: none !important; }
    #avision-dashboard-root .avi-chat-window { width: 90%; left: 5%; right: auto; bottom: 80px; max-height: 62vh; }
    #avision-dashboard-root .avi-widget-btn { right: 20px; bottom: 20px; }
    #avision-dashboard-root .btn-verify { margin-left: 0; width: 100%; margin-top: 10px; }
    #avision-dashboard-root .btn-group { flex-direction: column; }
    #avision-dashboard-root .btn-outline, #avision-dashboard-root .btn-primary { width: 100%; }
    #avision-dashboard-root .top-nav { padding: 0 0.9375rem; }
    #avision-dashboard-root .level-header { padding: 1.25rem; flex-direction: column; align-items: flex-start; gap: 0.625rem; }
    #avision-dashboard-root .level-header > span { align-self: flex-end; }
    #avision-dashboard-root .level-title { font-size: 1.2rem; }
    @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
    #avision-dashboard-root .btn-google-connect:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.15); border-color: #c0c0c0; }
    #avision-dashboard-root .btn-activate-premium:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(217,119,6,0.5); }
    #avision-dashboard-root .action-required { flex-direction: column; align-items: flex-start; }
    #avision-dashboard-root .action-required a { margin-left: 0; margin-top: 10px; }
}

/* --- VITRINE LEVEL 4 (Panneau latéral – Mode Gardien verrouillé) --- */
#avision-dashboard-root .premium-teaser-container {
    background: linear-gradient(160deg, #0f172a 0%, #1e293b 35%, #1e3a5f 100%);
    color: #e2e8f0;
    padding: 1.5rem 1.25rem;
    border-radius: 12px;
    margin-top: 0;
    border: 1px solid rgba(59, 130, 246, 0.25);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
#avision-dashboard-root .premium-teaser-container .premium-title {
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0 0 0.75rem 0;
    color: #fef3c7;
    letter-spacing: -0.02em;
    line-height: 1.3;
}
#avision-dashboard-root .premium-teaser-container .premium-subtitle {
    font-size: 1rem;
    color: #94a3b8;
    margin: 0 0 1.375rem 0;
    line-height: 1.5;
}
#avision-dashboard-root .premium-teaser-container .premium-features-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
#avision-dashboard-root .premium-teaser-container .feature-row {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding: 0.875rem 1rem;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}
#avision-dashboard-root .premium-teaser-container .feature-row .icon {
    font-size: 1.5rem;
    line-height: 1;
    flex-shrink: 0;
}
#avision-dashboard-root .premium-teaser-container .feature-row .text {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #cbd5e1;
}
#avision-dashboard-root .premium-teaser-container .feature-row .text strong {
    color: #f1f5f9;
    font-weight: 700;
}
#avision-dashboard-root .premium-teaser-container .premium-cta-box {
    margin-top: 22px;
    padding: 1rem 1.125rem;
    background: rgba(217, 119, 6, 0.15);
    border: 1px solid rgba(217, 119, 6, 0.4);
    border-radius: 10px;
    color: #fef3c7;
}
#avision-dashboard-root .premium-teaser-container .premium-cta-box p {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.5;
}
/* Panneau Level 4 verrouillé : avertissement + marketing (hybride) */
#avision-dashboard-root .premium-teaser-container .locked-warning-box {
    background: rgba(254, 243, 199, 0.25);
    border: 1px solid rgba(217, 119, 6, 0.5);
    border-radius: 10px;
    padding: 18px 20px;
    margin-bottom: 1.25rem;
    color: #fef3c7;
}
#avision-dashboard-root .premium-teaser-container .locked-warning-box h4 {
    margin: 0 0 0.625rem 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #fef3c7;
}
#avision-dashboard-root .premium-teaser-container .locked-warning-box p {
    margin: 0 0 0.75rem 0;
    font-size: 0.95rem;
    color: #e2e8f0;
    line-height: 1.5;
}
#avision-dashboard-root .premium-teaser-container .locked-warning-box ul {
    margin: 0 0 0.75rem 0;
    padding-left: 22px;
    font-size: 0.95rem;
    color: #cbd5e1;
}
#avision-dashboard-root .premium-teaser-container .locked-warning-box .warning-footer {
    margin-bottom: 0;
    font-size: 0.9rem;
    color: #94a3b8;
}
#avision-dashboard-root .premium-teaser-container .premium-divider {
    border: none;
    border-top: 1px solid rgba(59, 130, 246, 0.35);
    margin: 1.25rem 0;
}
#avision-dashboard-root .premium-teaser-container .teaser-header {
    margin-bottom: 16px;
}
#avision-dashboard-root .premium-teaser-container .teaser-header .premium-title {
    margin: 0;
    font-size: 1.2rem;
}

/* Fast-Pass Level 4 : alerte Protection vs Domination */
#avision-dashboard-root .fast-pass-alert {
    display: flex;
    gap: 0.875rem;
    padding: 18px 20px;
    margin-bottom: 1.25rem;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border: 1px solid #10b981;
    border-radius: 12px;
}
#avision-dashboard-root .fast-pass-alert .alert-icon {
    font-size: 1.8rem;
    flex-shrink: 0;
}
#avision-dashboard-root .fast-pass-alert .alert-content h4 {
    margin: 0 0 0.625rem 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: #065f46;
}
#avision-dashboard-root .fast-pass-alert .alert-content p {
    margin: 0 0 0.625rem 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #047857;
}
#avision-dashboard-root .fast-pass-alert .alert-content p:last-child,
#avision-dashboard-root .fast-pass-alert .alert-content .alert-footer {
    margin-bottom: 0;
    font-size: 0.9rem;
    color: #059669;
}
#avision-dashboard-root .fast-pass-alert .alert-content em {
    font-style: italic;
    color: #047857;
    font-weight: 600;
}

/* ========== GRILLE KPI (Centre d'Autorité) — Égalisation géométrique, hauteur 50/50 ========== */
#avision-dashboard-root .avi-kpi-grid {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.8125rem;
    line-height: 1.4;
    height: auto;
    margin: 0;
    padding: 0;
    min-height: 0;
}
#avision-dashboard-root .avi-kpi-row {
    display: grid;
    gap: 0.625rem;
    flex: 0 0 auto;
    min-height: 0;
    margin: 0;
    align-items: start;
}
/* Ligne 1 : 3 colonnes strictement identiques */
#avision-dashboard-root .avi-kpi-row-1 {
    grid-template-columns: repeat(3, 1fr);
}
/* Ligne 2 : 3 colonnes identiques (symétrie avec ligne 1) — Réputation, Mots-clés J-0, Dans le Top 3 */
#avision-dashboard-root .avi-kpi-row-2 {
    grid-template-columns: repeat(3, 1fr);
}
#avision-dashboard-root .avi-kpi-tile-stat {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#avision-dashboard-root .avi-kpi-tile-top3 .avi-kpi-value {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
}
#avision-dashboard-root .avi-kpi-value-trophy {
    color: #b45309;
}
#avision-dashboard-root .avi-kpi-tile {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.5rem;
    font-size: 0.8125rem;
    color: var(--text-main);
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    margin: 0;
    display: flex;
    flex-direction: column;
    height: auto;
    justify-content: flex-start;
}
/* Zéro cohue : séparateur sous les titres sur TOUTES les cartes — hauteur de header alignée */
#avision-dashboard-root .score-card h4,
#avision-dashboard-root .avi-kpi-tile .avi-kpi-label-wrap,
#avision-dashboard-root .avi-kpi-tile .kpi-header {
    min-height: 2.1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
    box-sizing: border-box;
}
#avision-dashboard-root .score-card h4 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
/* KPI headers : titre sur une ligne, pill badge juste en dessous aligné à gauche */
#avision-dashboard-root .avi-kpi-tile-rank .avi-kpi-label-wrap,
#avision-dashboard-root .avi-kpi-tile-reputation .kpi-header,
#avision-dashboard-root .avi-kpi-tile-leaders .avi-kpi-label-wrap,
#avision-dashboard-root .avi-kpi-tile-guardian .avi-kpi-label-wrap,
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-label-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
}
/* Pill badges : même design sur les 3 cartes (Position, Réputation, Mots-clés) — sous le titre, alignés à gauche */
#avision-dashboard-root .avi-kpi-tile-rank .avi-kpi-label-wrap .avi-kpi-position-badge,
#avision-dashboard-root .avi-kpi-tile-rank .avi-kpi-label-wrap .avi-badge-pill,
#avision-dashboard-root .avi-kpi-tile-reputation .kpi-header .avi-badge-pill,
#avision-dashboard-root .avi-kpi-tile-reputation .kpi-header .avi-kpi-reputation-header-badge,
#avision-dashboard-root .avi-kpi-tile-guardian .avi-kpi-label-wrap .avi-badge-pill,
#avision-dashboard-root .avi-kpi-tile-guardian .avi-kpi-label-wrap .avi-kpi-guardian-header-badge,
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-label-wrap .avi-badge-pill,
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-label-wrap .avi-kpi-keywords-header-badge {
    margin-left: 0;
    margin-top: 0.35rem;
    flex-basis: 100%;
}
/* Badge pleine largeur : cadre et couleur sur toute la largeur de la carte KPI (Position, Réputation, Mots-clés) */
#avision-dashboard-root .avi-kpi-tile-rank .avi-kpi-label-wrap .avi-kpi-position-badge,
#avision-dashboard-root .avi-kpi-tile-reputation .kpi-header .avi-kpi-reputation-header-badge,
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-label-wrap .avi-kpi-keywords-header-badge {
    width: 100%;
    box-sizing: border-box;
}
#avision-dashboard-root .avi-kpi-tile-rank .avi-kpi-label-wrap .avi-kpi-position-badge.avi-badge-pill,
#avision-dashboard-root .avi-kpi-tile-reputation .kpi-header .avi-kpi-reputation-header-badge .avi-badge-pill,
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-label-wrap .avi-kpi-keywords-header-badge .avi-badge-pill {
    width: 100%;
    box-sizing: border-box;
    justify-content: flex-start;
}
/* Composant Pill Badge (Radar Actif / API Connectée) */
#avision-dashboard-root .avi-badge-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 2px 8px;
    white-space: nowrap;
    letter-spacing: 0.02em;
}
#avision-dashboard-root .avi-badge-pill--blue {
    background: #eff6ff;
    border: 1px solid #dbeafe;
    color: #2563eb;
}
#avision-dashboard-root .avi-badge-pill--green {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #16a34a;
}
#avision-dashboard-root .avi-badge-pill--orange {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #ea580c;
}
#avision-dashboard-root .avi-kpi-reputation-header-badge:empty,
#avision-dashboard-root .avi-kpi-guardian-header-badge:empty {
    display: none;
}
#avision-dashboard-root .avi-kpi-tile .avi-kpi-label-wrap .avi-kpi-label,
#avision-dashboard-root .avi-kpi-tile .avi-kpi-label {
    margin-bottom: 0;
}
#avision-dashboard-root .avi-kpi-tile .avi-learn-link--kpi {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: auto;
    margin-bottom: 0.35rem;
    padding: 0;
    font-size: 0.75rem;
    color: var(--primary-blue);
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}
#avision-dashboard-root .avi-kpi-tile .avi-learn-link--kpi:hover {
    color: var(--avi-navy);
    text-decoration: underline;
}
#avision-dashboard-root .avi-kpi-tile .avi-learn-link--kpi .avi-learn-link-icon {
    font-size: 0.8rem;
}
/* Réputation (2/3) : contenu en haut */
#avision-dashboard-root .avi-kpi-tile-reputation {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
#avision-dashboard-root .avi-kpi-tile-reputation .avi-kpi-reputation-content {
    margin: 0;
}
#avision-dashboard-root .avi-kpi-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-muted);
    margin-bottom: 0;
}
/* Icône cognitive devant le titre de carte (Set Cognitives) */
#avision-dashboard-root .avi-kpi-icon {
    margin-right: 0.35em;
    display: inline;
    font-size: 1.1rem;
    vertical-align: middle;
    opacity: 0.8;
}
#avision-dashboard-root .score-title-with-i .avi-kpi-icon {
    margin-right: 0.4em;
}
/* Harmonisation KPI / Roadmap : Bleu AVI (--primary-blue), Orange Alerte (--premium-gold), Vert Succès (--success-soft) */
#avision-dashboard-root .avi-kpi-icon--orange {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    padding: 0.15em 0.3em;
    background: rgba(217, 119, 6, 0.15);
    margin-right: 0.4em;
}
#avision-dashboard-root .avi-kpi-tile-guardian .avi-kpi-icon--orange {
    background: rgba(217, 119, 6, 0.2);
}
#avision-dashboard-root .avi-kpi-value {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--text-main);
}
/* Sous-labels KPI : densité sans débordement (2 lignes) */
#avision-dashboard-root .kpi-sub-label {
    font-size: 0.65rem;
    color: #94a3b8;
    margin-top: 0.25rem;
    display: block;
    font-style: italic;
    font-weight: 400;
}
/* Valeurs principales KPIs : restent en gras et bien visibles */
#avision-dashboard-root .avi-kpi-tile .avi-kpi-value {
    font-weight: 700;
}
/* Color-Coding KPIs (Zéro cohue) : Position orange si >20, Valeur Générée vert, Réputation or si >0 */
#avision-dashboard-root .avi-kpi-tile-rank .avi-kpi-value,
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-value {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--primary-blue);
    line-height: 1.2;
}
#avision-dashboard-root .avi-kpi-tile-rank .avi-kpi-value.avi-kpi-hors-radar {
    font-size: 1.35rem;
    font-weight: 800;
    color: #f97316 !important;
}
#avision-dashboard-root .avi-kpi-position-wrap {
    position: relative;
    display: inline-block;
}
#avision-dashboard-root .avi-kpi-tile-rank .avi-kpi-position-wrap {
    padding-top: 0.125rem;
    padding-right: 0.125rem;
}
#avision-dashboard-root .avi-kpi-rank-extra {
    margin-top: 6px;
}
#avision-dashboard-root .avi-kpi-rank-objectif,
#avision-dashboard-root .avi-kpi-rank-based {
    font-size: 0.65rem;
    color: #94a3b8;
    margin-top: 0.25rem;
    display: block;
    font-style: italic;
    font-weight: 400;
}
#avision-dashboard-root .avi-kpi-rank-scan-bar {
    margin-top: 0.5rem;
    height: 6px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}
#avision-dashboard-root .avi-kpi-rank-scan-fill {
    height: 100%;
    background: #93c5fd;
    border-radius: 999px;
    transition: width 0.25s ease;
}
#avision-dashboard-root .avi-kpi-rank-scan-label {
    display: block;
    font-size: 0.6rem;
    color: #64748b;
    font-weight: 600;
    margin-top: 0.25rem;
}
#avision-dashboard-root .avi-kpi-rank-mission {
    display: block;
    font-size: 0.7rem;
    color: #64748b;
    font-weight: 500;
    margin-top: 0.5rem;
    line-height: 1.35;
    font-style: italic;
}
#avision-dashboard-root .avi-kpi-rank-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    color: #14532d;
    background: #22C55E;
    padding: 0.125rem 0.375rem;
    border-radius: 6px;
    margin-bottom: 0.25rem;
    box-shadow: 0 0 4px rgba(34, 197, 94, 0.5);
}
#avision-dashboard-root .avi-kpi-sublabel {
    font-size: 0.65rem;
    color: #94a3b8;
    margin-top: 0.25rem;
    display: block;
    font-style: italic;
    font-weight: 400;
}
#avision-dashboard-root .avi-kpi-keywords-sublabel.avi-kpi-keywords-empty {
    color: #94a3b8;
    opacity: 0.85;
}
/* Bloc Top 3 / Top 10 avec fond gris et icônes */
#avision-dashboard-root .kpi-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.5rem 0.625rem;
    background: #f8fafc;
    border-radius: 8px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-muted);
}
#avision-dashboard-root .kpi-stats-grid .kpi-stat-item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
#avision-dashboard-root .kpi-stats-grid .kpi-stat-item [aria-hidden="true"] {
    font-size: 0.9rem;
}
#avision-dashboard-root .avi-kpi-keywords-evolution {
    display: block;
    font-size: 0.65rem;
    color: var(--text-muted);
    margin-top: 0.4rem;
    font-weight: 600;
}
#avision-dashboard-root .avi-kpi-keywords-evolution [aria-hidden="true"] {
    margin-right: 0.2em;
}
#avision-dashboard-root .avi-kpi-keywords-last-scan {
    display: block;
    font-size: 0.6rem;
    color: #94a3b8;
    margin-top: 0.2rem;
    font-style: italic;
}
#avision-dashboard-root .avi-kpi-keywords-phrase {
    margin: 0.5rem 0 0 0;
    font-size: 0.75rem;
    color: var(--text-muted);
    line-height: 1.4;
    font-weight: 500;
}
#avision-dashboard-root .avi-kpi-keywords-split {
    font-size: 0.6875rem;
    color: var(--text-muted);
    font-weight: 600;
}
#avision-dashboard-root .avi-kpi-tile-keywords {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.375rem;
}
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-label-wrap { margin-bottom: 0.5rem; }
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-value { margin-top: 2px; }
#avision-dashboard-root .avi-kpi-tile-keywords .avi-kpi-sublabel {
    line-height: 1.6;
    margin-top: 4px;
}
#avision-dashboard-root .avi-kpi-leaders-list {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.75rem;
}
#avision-dashboard-root .avi-kpi-leaders-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
    gap: 0.5rem;
}
#avision-dashboard-root .avi-kpi-leaders-list li:last-child { border-bottom: none; }
#avision-dashboard-root .avi-kpi-leader-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
    font-weight: 400;
}
#avision-dashboard-root .avi-kpi-leader-meta {
    font-size: 0.9rem;
    color: #64748b;
    margin-top: 2px;
    flex-shrink: 0;
    margin-left: auto;
    min-width: 5.5rem;
    text-align: right;
}
#avision-dashboard-root .avi-kpi-leader-star {
    color: #eab308;
    font-size: 1.2em;
    margin-left: 2px;
}
#avision-dashboard-root .avi-kpi-leader-reviews {
    color: #64748b;
    font-weight: 500;
    font-size: 0.9rem;
}
#avision-dashboard-root .avi-kpi-leader-analyzing {
    color: #94a3b8;
    font-size: 0.6875rem;
    font-style: italic;
}
/* Mode Gardien — Refonte compacte duale (status-protected / status-exposed) */
#avision-dashboard-root .avi-kpi-guardian-content {
    font-size: 0.75rem;
    font-weight: 600;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
#avision-dashboard-root .avi-kpi-guardian-content .avi-kpi-guardian-title {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}
#avision-dashboard-root .avi-kpi-guardian-content.status-protected .avi-kpi-guardian-title {
    color: var(--success, #059669);
}
#avision-dashboard-root .avi-kpi-guardian-content.status-exposed .avi-kpi-guardian-title {
    color: #64748b;
}
#avision-dashboard-root .avi-kpi-guardian-subtitle {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
}
#avision-dashboard-root .avi-kpi-guardian-content.status-protected .avi-kpi-guardian-subtitle {
    color: #047857;
}
#avision-dashboard-root .avi-kpi-guardian-content.status-exposed .avi-kpi-guardian-subtitle {
    font-size: 0.625rem;
    font-weight: 600;
    color: #ef4444;
}
#avision-dashboard-root .avi-kpi-guardian-signaux-trigger {
    position: relative;
    cursor: help;
    display: inline-block;
}
#avision-dashboard-root .avi-kpi-guardian-tooltip-icon {
    margin-left: 2px;
    opacity: 0.85;
}
/* Info-bulle CSS pure (survol "12 signaux") — ouverture vers le bas pour garder la liste visible */
#avision-dashboard-root .avi-kpi-guardian-tooltip {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 0.5rem;
    min-width: 200px;
    max-width: 260px;
    max-height: 70vh;
    overflow-y: auto;
    padding: 0.75rem 0.875rem;
    background: #222;
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.45;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.35);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}
#avision-dashboard-root .avi-kpi-guardian-signaux-trigger:hover .avi-kpi-guardian-tooltip {
    opacity: 1;
    visibility: visible;
}
#avision-dashboard-root .avi-kpi-guardian-tooltip-list {
    list-style: disc;
    margin: 0;
    padding-left: 16px;
}
#avision-dashboard-root .avi-kpi-guardian-tooltip-list li {
    margin-bottom: 3px;
}
#avision-dashboard-root .avi-kpi-guardian-tooltip-list li:last-child {
    margin-bottom: 0;
}
#avision-dashboard-root .avi-kpi-guardian-btn {
    display: block;
    width: 100%;
    font-size: 0.6875rem;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    padding: 0.625rem 0.875rem;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}
#avision-dashboard-root .avi-kpi-guardian-content.status-protected .avi-kpi-guardian-btn {
    background: var(--success, #059669);
    color: #fff;
}
#avision-dashboard-root .avi-kpi-guardian-content.status-protected .avi-kpi-guardian-btn:hover {
    background: #047857;
}
#avision-dashboard-root .avi-kpi-guardian-content.status-exposed .avi-kpi-guardian-btn {
    background: #ea580c;
    color: #fff;
}
#avision-dashboard-root .avi-kpi-guardian-content.status-exposed .avi-kpi-guardian-btn:hover {
    background: #c2410c;
}
#avision-dashboard-root .avi-kpi-guardian-btn:active {
    transform: scale(0.98);
}
#avision-dashboard-root .avi-kpi-tile-guardian .avi-kpi-guardian-content .avi-kpi-guardian-btn {
    margin-top: auto;
}
#avision-dashboard-root .avi-kpi-guardian-pedago-signaux.avi-learn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 0.2rem 0;
    margin-top: 0.25rem;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--primary-dark, #0f172a);
    text-decoration: underline;
    text-underline-offset: 2px;
}
#avision-dashboard-root .avi-kpi-guardian-pedago-signaux.avi-learn-link:hover {
    color: #ea580c;
}
#avision-dashboard-root .avi-kpi-guardian-pedago-signaux .avi-learn-link-icon {
    font-size: 0.75rem;
}
/* Impact Business (1/3) — même style que les autres cartes, chiffres en vert mat */
#avision-dashboard-root .avi-kpi-impact-double {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.875rem 1rem;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
#avision-dashboard-root .avi-kpi-impact-title {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-muted);
    margin: 0 0 0.5rem 0;
}
#avision-dashboard-root .avi-kpi-impact-metrics {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: var(--text-main);
    font-weight: 700;
    min-width: 0;
}
#avision-dashboard-root .avi-kpi-impact-metrics .avi-kpi-impact-item {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#avision-dashboard-root .avi-kpi-impact-metrics .avi-kpi-impact-item .avi-kpi-value,
#avision-dashboard-root .avi-kpi-impact-double .avi-kpi-value { color: var(--success-soft); }
/* Tuile Net Worth Manuel (remplace Impact Business si Mode Gardien inactif) */
#avision-dashboard-root .avi-kpi-net-worth-manual-wrap.avi-kpi-impact-double {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    min-height: 0;
    overflow: visible;
}
/* Info-bulle (i) commune à tous les KPIs — block pour que la valeur KPI reste en dessous */
#avision-dashboard-root .avi-kpi-label-wrap {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}
#avision-dashboard-root .avi-kpi-label-i {
    color: var(--primary-blue);
    font-size: 10px;
    font-style: italic;
    font-weight: 700;
    cursor: help;
    opacity: 0.9;
}
#avision-dashboard-root .avi-kpi-label-i[data-tooltip] {
    position: relative;
}
#avision-dashboard-root .avi-kpi-label-i[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    margin-bottom: 8px;
    width: 280px;
    max-width: min(300px, calc(100vw - 32px));
    padding: 0.75rem 0.875rem;
    background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 500;
    font-style: normal;
    line-height: 1.55;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.06);
    z-index: 99999;
    white-space: normal;
    text-transform: none;
    letter-spacing: normal;
    overflow: visible;
    word-wrap: break-word;
}
#avision-dashboard-root .avi-kpi-label-i[data-tooltip]:hover::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    margin-bottom: 2px;
    border: 6px solid transparent;
    border-top-color: #0d0d0d;
    z-index: 100000;
}
/* Grille des Boucliers Actifs : infobulle au-dessus */
#avision-dashboard-root .cockpit-boucliers-grid .avi-kpi-label-i[data-tooltip]:hover::after {
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 6px;
}
#avision-dashboard-root .cockpit-boucliers-grid .avi-kpi-label-i[data-tooltip]:hover::before {
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 2px;
}
#avision-dashboard-root .score-title-with-i {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-wrap: wrap;
}
#avision-dashboard-root .score-title-with-i .avi-kpi-label-i {
    font-size: 0.7rem;
    color: var(--primary-blue);
    opacity: 1;
}

#avision-dashboard-root .avi-kpi-net-worth-manual-wrap .avi-kpi-label { margin-bottom: 0.25rem; text-align: left; }
#avision-dashboard-root .avi-kpi-net-worth-manual-wrap .avi-kpi-manual-net-worth-value,
#avision-dashboard-root #manual-net-worth-val {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
    color: #22c55e !important;
    margin: 2px 0;
    text-align: left;
}
#avision-dashboard-root .avi-kpi-net-worth-manual-wrap .avi-kpi-sublabel { margin-top: 2px; }
/* Valeur Générée : wrap montant + 📈, sous-titres (Économie estimée, Par mois) */
#avision-dashboard-root .avi-kpi-estimation-value-wrap {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
}
#avision-dashboard-root .avi-kpi-estimation-growth {
    font-size: 1rem;
    line-height: 1;
    opacity: 0.9;
}
#avision-dashboard-root .avi-kpi-estimation-sublabel,
#avision-dashboard-root .avi-kpi-estimation-period {
    font-size: 0.65rem;
    color: #94a3b8;
    margin-top: 0.25rem;
    display: block;
    font-style: italic;
    font-weight: 400;
}
#avision-dashboard-root .avi-kpi-estimation-coach {
    font-size: 0.7rem;
    color: var(--text-muted);
    line-height: 1.35;
    margin: 0.35rem 0 0.2rem 0;
    display: block;
    font-style: italic;
    max-width: 100%;
}
#avision-dashboard-root .avi-kpi-estimation-how-link {
    background: none;
    border: none;
    padding: 0;
    font-size: 0.65rem;
    color: #94a3b8;
    text-decoration: underline;
    cursor: pointer;
    font-family: inherit;
    margin-top: 0.25rem;
    display: inline-block;
    transition: color 0.2s;
}
#avision-dashboard-root .avi-kpi-estimation-how-link:hover {
    color: var(--primary-blue);
}
#avision-dashboard-root .avi-learn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: none;
    border: none;
    padding: 0;
    font-size: 0.75rem;
    color: var(--text-muted);
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
    margin-top: 0.5rem;
    transition: color 0.2s;
}
#avision-dashboard-root .avi-learn-link:hover {
    color: var(--primary-blue);
}
/* Suivi individuel : lien maîtrisé (leçon validée) — contraste inconnu / acquis [cite: 2026-01-27] */
#avision-dashboard-root [data-avi-pedago].avi-pedago-mastered {
    color: #94a3b8;
    border: none;
    outline: none;
    box-shadow: none;
}
#avision-dashboard-root [data-avi-pedago].avi-pedago-mastered:hover {
    opacity: 1;
    color: #64748b;
}
#avision-dashboard-root [data-avi-pedago].avi-pedago-mastered .avi-learn-link-icon.avi-pedago-icon-check {
    color: #22c55e;
    font-size: 0.9rem;
}
#avision-dashboard-root .avi-learn-link-icon {
    font-size: 0.9rem;
    line-height: 1;
}
#avision-dashboard-root .radar-header-learn-wrap {
    margin-left: 0.5rem;
}
#avision-dashboard-root .avi-learn-link--plans {
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
    font-weight: 600;
}
#avision-dashboard-root .avi-learn-link--radar-title {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.2rem 0;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--premium-gold);
}
#avision-dashboard-root .avi-learn-link--radar-title:hover {
    color: #b45309;
    text-decoration: underline;
}
#avision-dashboard-root .keyword-radar-chart-col .avi-learn-link {
    display: inline-flex;
    margin-top: 0.5rem;
}
#avision-dashboard-root .btn-soft-info {
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.25);
    color: var(--primary-blue);
    padding: 0.35rem 0.65rem;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    transition: background 0.2s, border-color 0.2s;
}
#avision-dashboard-root .btn-soft-info:hover {
    background: rgba(37, 99, 235, 0.14);
    border-color: rgba(37, 99, 235, 0.4);
}
#avision-dashboard-root .avi-kpi-cpc-context {
    display: block;
    font-size: 0.625rem;
    color: #94a3b8;
    margin-top: 0.35rem;
    font-weight: 500;
}
#avision-dashboard-root .avi-kpi-benchmark-sector {
    display: block;
    font-size: 0.625rem;
    color: #64748b;
    margin-top: 0.25rem;
    font-weight: 600;
}
#avision-dashboard-root .avi-kpi-roi-estimated {
    display: block;
    font-size: 0.6rem;
    color: #16a34a;
    margin-top: 0.15rem;
    font-weight: 600;
}
#avision-dashboard-root .avi-kpi-cta-unlock {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--primary-blue);
    text-decoration: none;
    margin-top: 0.5rem;
    padding: 0.375rem 0.75rem;
    border: 1px solid var(--primary-blue);
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    font-family: inherit;
}
#avision-dashboard-root .avi-kpi-cta-unlock:hover {
    color: var(--avi-navy);
    background: rgba(37, 99, 235, 0.08);
    border-color: var(--avi-navy);
}
/* Mode Gardien actif : tuile Net Worth en état "Système Scellé" (chiffre masqué) */
#avision-dashboard-root .avi-kpi-guardian-sealed .avi-kpi-sublabel,
#avision-dashboard-root .avi-kpi-guardian-sealed .avi-kpi-cta-unlock,
#avision-dashboard-root .avi-kpi-guardian-sealed .avi-kpi-estimation-sublabel,
#avision-dashboard-root .avi-kpi-guardian-sealed .avi-kpi-estimation-period,
#avision-dashboard-root .avi-kpi-guardian-sealed .avi-kpi-estimation-growth { display: none !important; }
#avision-dashboard-root .avi-kpi-guardian-sealed .net-worth-sealed-message {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-muted);
    margin: 2px 0;
}
/* Lueur verte brève lors de l'augmentation du Net Worth (effet casino) */
@keyframes net-worth-glow {
    0% { box-shadow: 0 0 0 0 rgba(5, 150, 105, 0.6); filter: brightness(1); }
    50% { box-shadow: 0 0 16px 4px rgba(5, 150, 105, 0.4); filter: brightness(1.08); color: var(--success-soft); }
    100% { box-shadow: 0 0 0 0 rgba(5, 150, 105, 0); filter: brightness(1); }
}
#avision-dashboard-root #manual-net-worth-val.net-worth-value-glow {
    animation: net-worth-glow 0.8s ease-out;
}
#avision-dashboard-root .avi-kpi-reputation-content { font-size: 0.8125rem; font-weight: 700; color: var(--text-main); }
#avision-dashboard-root .avi-kpi-reputation-content:has(.avi-kpi-reputation-waiting) {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#avision-dashboard-root .avi-kpi-reputation-waiting {
    margin-top: 0.75rem;
}
#avision-dashboard-root .avi-kpi-reputation-content .avi-kpi-rating { font-size: 1.25rem; display: block; color: var(--text-muted); }
#avision-dashboard-root .avi-kpi-reputation-content .avi-kpi-rating.avi-kpi-rating-has-value { color: #eab308 !important; }
#avision-dashboard-root .avi-kpi-reputation-avis { font-size: 0.6875rem; font-weight: 600; color: var(--text-muted); display: block; margin-bottom: 8px; }
#avision-dashboard-root .avi-kpi-reputation-bar-wrap {
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 6px;
}
#avision-dashboard-root .avi-kpi-reputation-bar {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #10b981);
    border-radius: 3px;
    transition: width 0.3s ease;
}
#avision-dashboard-root .avi-kpi-reputation-labels {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    font-weight: 600;
    color: var(--text-muted);
}
/* Optimisation pour tablettes et écrans moyens (768px - 1024px) */
@media (max-width: 1200px) and (min-width: 769px) {
    #avision-dashboard-root .business-info h1 { font-size: 1.3rem; }
    #avision-dashboard-root .phase-title { font-size: 1.15rem; }
    #avision-dashboard-root .phase-subtitle { font-size: 1rem; }
#avision-dashboard-root .card { padding: 0.75rem; }
#avision-dashboard-root .level-card { padding: 0.6rem 0.875rem; }
}

/* Responsive — empilage vertical, hauteur naturelle (pas de 50/50) */
@media (max-width: 1024px) {
    #avision-dashboard-root .score-grid { grid-template-columns: 1fr; margin-bottom: 0.875rem; align-items: start !important; }
    #avision-dashboard-root .score-grid .score-card-visibility { height: auto !important; align-self: auto !important; }
    #avision-dashboard-root .score-card { padding: 0.75rem !important; justify-content: flex-start !important; }
    #avision-dashboard-root .avi-kpi-grid,
    #avision-dashboard-root .score-grid .avi-kpi-grid { height: auto !important; min-height: 0 !important; align-self: auto !important; }
    #avision-dashboard-root .avi-kpi-row { flex: 0 0 auto !important; min-height: 0 !important; align-items: start !important; }
    #avision-dashboard-root .avi-kpi-row-1 { grid-template-columns: 1fr 1fr; }
    #avision-dashboard-root .avi-kpi-row-2 { grid-template-columns: 1fr; }
    #avision-dashboard-root .avi-kpi-tile { height: auto !important; padding: 0.75rem !important; justify-content: flex-start !important; }
    #avision-dashboard-root .avi-kpi-tile-guardian { grid-column: 1 / -1; }
    #avision-dashboard-root .score-card h4,
    #avision-dashboard-root .avi-kpi-tile .avi-kpi-label-wrap,
    #avision-dashboard-root .avi-kpi-tile .kpi-header { min-height: 0 !important; padding-bottom: 0.375rem; margin-bottom: 0.375rem; }
    #avision-dashboard-root .business-info h1 { font-size: 1.3rem; }
    #avision-dashboard-root .card { padding: 0.75rem; }
    #avision-dashboard-root .phase-title { font-size: 0.95rem; }
    #avision-dashboard-root .level-card { padding: 0.6rem 0.875rem; }
    #avision-dashboard-root .container { padding: 0 1rem; }
}
@media (max-width: 640px) {
    #avision-dashboard-root .avi-kpi-row-1 { grid-template-columns: 1fr; }
    #avision-dashboard-root .avi-kpi-row-2 { grid-template-columns: 1fr; }
    #avision-dashboard-root .business-info h1 { font-size: 1.2rem; }
    #avision-dashboard-root .card { padding: 0.75rem; }
    #avision-dashboard-root .phase-title { font-size: 0.95rem; }
    #avision-dashboard-root .phase-subtitle { font-size: 0.9rem; }
    #avision-dashboard-root .ai-analysis-box { padding: 0.875rem; font-size: 0.9rem; }
    #avision-dashboard-root .strategy-box { padding: 0.875rem; }
    #avision-dashboard-root .strategy-box h4 { font-size: 0.9rem; }
    #avision-dashboard-root .level-title { font-size: 0.75rem; }
    #avision-dashboard-root .level-actions { padding: 1rem; padding-bottom: 35px; }
    #avision-dashboard-root .container { padding: 0 0.75rem; }
    #avision-dashboard-root .saas-header { padding: 36px 0 48px 0; margin-bottom: -20px; }
    #avision-dashboard-root .level-card { padding: 0.6rem 0.875rem; }
    #avision-dashboard-root .score-card { padding: 0.875rem; }
    #avision-dashboard-root .top-nav { height: 3.75rem; padding: 0 0.75rem; }
    #avision-dashboard-root .nav-left { gap: 0.375rem; }
    #avision-dashboard-root .nav-right { gap: 0.625rem; }
    #avision-dashboard-root .nav-right .header-flags { display: flex !important; }
    #avision-dashboard-root .nav-right .nav-link { display: none; }
    #avision-dashboard-root .header-flags { padding: 4px 8px; gap: 3px; }
    #avision-dashboard-root .header-flag { font-size: 1.2rem; padding: 5px; }
    #avision-dashboard-root .trade-engine-badge { display: none !important; }
}

/* ========== RADAR DE CROISSANCE — Accordéon "Double Sandwich" (flux normal, pas de height fixe) ========== */
#avision-dashboard-root .keyword-radar-card {
    font-family: 'Inter', sans-serif;
    font-size: 0.8125rem;
    line-height: 1.4;
    position: relative;
    height: auto !important;
    min-height: fit-content;
    margin-top: 2rem;
}
#avision-dashboard-root .dashboard-main > .keyword-radar-card.radar-sandwich {
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}
#avision-dashboard-root .keyword-radar-card.radar-sandwich {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    overflow: visible;
}
#avision-dashboard-root .keyword-radar-card.radar-sandwich[data-max-keywords="25"] {
    border-left: 4px solid #fbbf24;
}
#avision-dashboard-root .keyword-radar-card .keyword-top3-circle,
#avision-dashboard-root .keyword-radar-card .keyword-top3-scorecard,
#avision-dashboard-root .keyword-radar-card .keyword-top3-stats-flex { display: none !important; }

/* Toggle 1 : tête du sandwich — Design System Dark-Sleek (Navy/Slate) */
#avision-dashboard-root .radar-toggle-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    padding: 0.875rem 1rem;
    border: none;
    background: #fff;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    outline: none;
    font-family: inherit;
    text-align: left;
}
/* Radar Style Level 4 : header aligné sur les cartes de niveaux (plus de dark-sleek) */
#avision-dashboard-root .radar-toggle-chevron {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}
#avision-dashboard-root .keyword-radar-card.radar-sandwich-open .radar-toggle-chevron {
    transform: rotate(180deg);
}

/* Radar — Carte blanche style Level 4 (même arrondis, ombre, bordure) */
#avision-dashboard-root .keyword-radar-card.radar-style-level4.radar-sandwich {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.04);
}
#avision-dashboard-root .keyword-radar-card.radar-style-level4.keyword-top3-unlocked {
    border: 2px solid var(--premium-gold);
    background: var(--premium-bg);
}
#avision-dashboard-root .keyword-radar-card.radar-style-level4.keyword-top3-unlocked .radar-content-wrap {
    background: var(--premium-bg);
}

/* Radar — Header minimal (titre + badge 📡 + Edit uniquement) */
#avision-dashboard-root .keyword-radar-card .radar-toggle-header.level-header.radar-header-level4 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    transition: all 0.25s ease;
    width: 100%;
    box-sizing: border-box;
    border-radius: 10px 10px 0 0;
    background: #fff;
}
#avision-dashboard-root .keyword-radar-card .radar-toggle-header.radar-header-minimal {
    padding: 0.75rem 1.25rem;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-toggle-header.level-header {
    background: var(--premium-bg);
}
#avision-dashboard-root .keyword-radar-card .radar-toggle-header.level-header:hover {
    background: linear-gradient(90deg, rgba(217, 119, 6, 0.06) 0%, transparent 100%);
    box-shadow: inset 3px 0 0 rgba(217, 119, 6, 0.2), inset 0 0 0 1px rgba(217, 119, 6, 0.06);
}
#avision-dashboard-root .keyword-radar-card .radar-toggle-header.level-header .level-number {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
}
#avision-dashboard-root .keyword-radar-card .level-badge.level-badge-radar {
    font-size: 1.5rem;
    line-height: 1;
    flex-shrink: 0;
}
/* Mirror L4 : badge doré comme Mode Gardien */
#avision-dashboard-root .keyword-radar-card.radar-mirror-l4 .level-badge.level-badge-radar-gold,
#avision-dashboard-root .keyword-radar-card .level-badge.level-badge-radar.level-badge-radar-gold {
    background: var(--premium-gold);
    color: white;
    padding: 0.375rem 0.75rem;
    border-radius: 6px;
    font-weight: 800;
}
#avision-dashboard-root .keyword-radar-card .radar-toggle-header .level-number > .level-title {
    margin: 0;
    font-weight: 800;
    font-size: 0.9rem;
    color: var(--text-main);
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-toggle-header .level-number > .level-title {
    color: #92400e;
}
#avision-dashboard-root .radar-header-i.avi-kpi-label-i {
    margin-left: 6px;
    color: #92400e;
    font-size: 0.7rem;
    flex-shrink: 0;
}
#avision-dashboard-root .keyword-strategic-title-with-i {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-wrap: wrap;
}
#avision-dashboard-root .keyword-strategic-title-with-i .avi-kpi-label-pedago {
    cursor: pointer;
    opacity: 0.9;
}
#avision-dashboard-root .keyword-strategic-title-with-i .avi-kpi-label-pedago:hover {
    opacity: 1;
}
/* Ligne « Guide des filtres » entre barre de recherche et compteur mots-clés */
#avision-dashboard-root .radar-filter-guide-row {
    display: flex;
    align-items: center;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
}
#avision-dashboard-root .radar-filter-guide-row .avi-learn-link--filter-guide {
    font-size: 0.85rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
#avision-dashboard-root .radar-filter-guide-row .avi-learn-link--filter-guide .avi-learn-link-icon {
    font-size: 0.9rem;
}
#avision-dashboard-root .radar-tab-i.avi-kpi-label-i {
    font-size: 10px;
    margin-left: 2px;
}
/* Info-bulles des onglets Opportunités / À booster : s'ouvrent au-dessus pour ne pas passer sous la barre de recherche */
#avision-dashboard-root .radar-tab-i[data-tooltip]:hover::after {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 6px;
}
/* Info-bulle au survol des boutons (sans (i) visible) */
#avision-dashboard-root .radar-btn-tooltip[data-tooltip] {
    position: relative;
    cursor: help;
}
#avision-dashboard-root .radar-btn-tooltip[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    margin-bottom: 8px;
    width: 260px;
    max-width: min(300px, calc(100vw - 32px));
    padding: 10px 12px;
    background: #1e293b;
    color: #f1f5f9;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.5;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    z-index: 99999;
    white-space: normal;
    text-transform: none;
    pointer-events: none;
}
#avision-dashboard-root .keyword-radar-card .radar-toggle-header .level-header-right {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}
#avision-dashboard-root .keyword-radar-card .keyword-radar-btn-edit-header {
    padding: 4px 8px;
    font-size: 0.6875rem;
    min-height: auto;
    background: rgba(0,0,0,0.04);
    border-color: transparent;
}
#avision-dashboard-root .keyword-radar-card .keyword-radar-btn-edit-header:hover {
    background: rgba(0,0,0,0.08);
    border-color: rgba(0,0,0,0.08);
}
#avision-dashboard-root .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Volet 1 : Analyse (tableau + graphique) — transitions fluides */
#avision-dashboard-root .radar-content-wrap {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    background: #fff;
}
#avision-dashboard-root .keyword-radar-card.radar-sandwich-open .radar-content-wrap {
    max-height: 120vh;
    opacity: 1;
    overflow: visible;
    box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.04);
}
#avision-dashboard-root .radar-content-wrap .keyword-radar-header { margin-bottom: 0.375rem; padding: 0 1rem; }
#avision-dashboard-root .radar-sandwich-two-col {
    overflow: visible;
}
#avision-dashboard-root .radar-content-wrap .radar-sandwich-two-col {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
}
@media (min-width: 900px) {
    #avision-dashboard-root .radar-content-wrap .radar-sandwich-two-col {
        grid-template-columns: 60% 1fr;
        grid-template-rows: 1fr;
    }
}
#avision-dashboard-root .radar-chart-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 0 0 0.375rem 0;
    line-height: 1.3;
}
#avision-dashboard-root .radar-chart-container {
    width: 100%;
    height: 220px;
    padding: 0.5rem;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    position: relative;
    box-sizing: border-box;
}
/* Ne pas forcer les dimensions du canvas en CSS : Chart.js les gère pour que le survol soit correct */
#avision-dashboard-root .radar-chart-container canvas {
    display: block;
    max-width: 100%;
}
/* Fallback quand Chart.js est bloqué (ex. extension Chrome en mode normal) */
#avision-dashboard-root .radar-chart-container .radar-chart-fallback {
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    border-radius: 6px;
    overflow: hidden;
}
#avision-dashboard-root .radar-chart-container .radar-chart-fallback-svg {
    width: 100%;
    height: 100%;
    display: block;
    min-height: 180px;
}
#avision-dashboard-root .keyword-radar-chart-col .avi-learn-link {
    margin-top: 0.5rem;
}
/* L'Antenne de Coach AVI — bloc sous le graphique Radar, liens pédagogiques regroupés */
#avision-dashboard-root .avi-radar-academy {
    margin-top: 1rem;
    padding: 0.875rem 1rem;
    background: rgba(248, 250, 252, 0.9);
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    border-left: 3px solid var(--primary-blue);
}
#avision-dashboard-root .avi-radar-academy-title-wrap {
    position: relative;
    display: inline-block;
}
#avision-dashboard-root .avi-radar-academy-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-muted);
    margin: 0 0 0.6rem 0;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
/* Point Antenne : supprimé (plus de pulse ni d'affichage) [cite: 2026-01-27] */
#avision-dashboard-root .avi-antenna-dot {
    display: none !important;
}
#avision-dashboard-root .avi-antenna-dot.avi-antenna-dot--read {
    display: none !important;
}
/* Barre de maîtrise AVI (Mastery Score) [cite: 2026-02-28] */
#avision-dashboard-root .avi-mastery-bar-wrap {
    font-size: 0.7rem;
    color: var(--text-muted);
    margin-bottom: 0.5rem;
}
#avision-dashboard-root .avi-mastery-bar-wrap .avi-mastery-label {
    margin-right: 0.25rem;
}
#avision-dashboard-root .avi-mastery-bar {
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    overflow: hidden;
    margin-top: 0.35rem;
}
#avision-dashboard-root .avi-mastery-bar-fill {
    height: 100%;
    background: #22c55e;
    border-radius: 2px;
    transition: width 0.25s ease;
}
#avision-dashboard-root .avi-radar-academy-links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
#avision-dashboard-root .avi-radar-academy-links .avi-learn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0;
    margin: 0;
    font-size: 0.8125rem;
    color: var(--primary-blue);
    background: none;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition: background 0.2s, color 0.2s;
}
#avision-dashboard-root .avi-radar-academy-links .avi-learn-link:hover {
    background: rgba(37, 99, 235, 0.08);
    color: var(--avi-navy);
}
#avision-dashboard-root .avi-radar-academy-links .avi-learn-link-icon {
    font-size: 0.9rem;
    flex-shrink: 0;
}
#avision-dashboard-root .avi-radar-academy-links .avi-learn-link--radar-plans {
    color: #1d4ed8;
    font-weight: 600;
}
#avision-dashboard-root .avi-radar-academy-links .avi-learn-link--radar-plans .avi-learn-link-badge {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #1e40af;
    background: rgba(29, 78, 216, 0.12);
    padding: 0.2rem 0.45rem;
    border-radius: 4px;
    flex-shrink: 0;
}
#avision-dashboard-root .avi-radar-academy-links .avi-learn-link--radar-plans:hover {
    color: #1e3a8a;
    background: rgba(29, 78, 216, 0.1);
}
#avision-dashboard-root .avi-radar-academy-links .avi-learn-link--radar-plans:hover .avi-learn-link-badge {
    background: rgba(29, 78, 216, 0.18);
}

/* Graphique Radar — viewport scrollable (Style Chips) */
#avision-dashboard-root .radar-chart-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    position: relative;
    border-radius: 6px;
}
/* Mobile : dégradé bord droit pour indiquer le swipe horizontal */
@media (max-width: 767px) {
    #avision-dashboard-root .radar-chart-viewport {
        background: linear-gradient(to right, transparent 60%, rgba(0, 0, 0, 0.05) 90%, rgba(0, 0, 0, 0.1) 100%);
    }
}
#avision-dashboard-root .radar-chart-scroll-container {
    min-width: 600px;
    display: inline-block;
}
/* Scrollbar satinée (même esprit que .chat-suggestions) : fine, grise, visible au survol */
#avision-dashboard-root .radar-chart-viewport::-webkit-scrollbar {
    height: 4px;
}
#avision-dashboard-root .radar-chart-viewport::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
}
#avision-dashboard-root .radar-chart-viewport::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    transition: background 0.2s ease;
}
#avision-dashboard-root .radar-chart-viewport:hover::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.18);
}
#avision-dashboard-root .radar-chart-viewport::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.25);
}
@supports (scrollbar-width: thin) {
    #avision-dashboard-root .radar-chart-viewport {
        scrollbar-width: thin;
        scrollbar-color: rgba(0, 0, 0, 0.18) transparent;
    }
}

/* Tiroir d'édition (Toggle 2) — position relative, flux normal, pas d'absolute */
#avision-dashboard-root .radar-management-drawer {
    position: relative !important;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.35s ease, opacity 0.25s ease;
    border-top: 1px solid #e2e8f0;
    margin-top: 12px;
    margin-bottom: 0;
    padding-top: 0;
}
#avision-dashboard-root .keyword-radar-card.radar-drawer-open .radar-management-drawer {
    max-height: 2000px !important;
    display: block;
    opacity: 1;
    padding-top: 16px;
    padding-bottom: 40px;
    margin-bottom: 16px;
    overflow: visible !important;
}
#avision-dashboard-root .keyword-radar-card.radar-drawer-open .radar-content-wrap {
    max-height: none !important;
    overflow: visible !important;
}
#avision-dashboard-root .keyword-radar-card.radar-drawer-open {
    overflow: visible !important;
}
/* Pilier 3 — Épuration footer Radar : seule la VIP Control Bar (Navy) visible, pas de bloc Standard/Premium */
#avision-dashboard-root .radar-offers-comparison-bar.radar-footer-epuration-hidden {
    display: none !important;
}
/* Barre comparative offres Standard / Premium en haut du tiroir (cachée par défaut après épuration) */
#avision-dashboard-root .radar-offers-comparison-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.8rem;
    line-height: 1.4;
}
#avision-dashboard-root .radar-offers-comparison-bar .radar-offer-item {
    display: inline-block;
}
#avision-dashboard-root .radar-offers-comparison-bar .radar-offer-standard {
    color: #64748b;
}
#avision-dashboard-root .radar-offers-comparison-bar .radar-offer-premium {
    color: #b45309;
    font-weight: 600;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-offers-comparison-bar .radar-offer-premium {
    color: var(--text-main);
}

#avision-dashboard-root .radar-management-drawer .keyword-strategic-section {
    padding: 20px 16px 16px;
}
#avision-dashboard-root .keyword-strategic-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.75rem;
}
#avision-dashboard-root .keyword-strategic-title-row .keyword-strategic-title {
    margin-bottom: 0;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-section .keyword-strategic-title-row .keyword-strategic-title {
    margin-top: 0;
    margin-bottom: 0;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-section .keyword-strategic-title {
    margin-top: 0;
    margin-bottom: 0.75rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.4;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-section .keyword-strategic-desc {
    margin-bottom: 16px;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.5;
}
/* === TABS DE FILTRAGE === */
#avision-dashboard-root .radar-tabs {
    display: flex;
    gap: 0.5rem;
    margin: 20px 0 12px 0;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 0;
}
#avision-dashboard-root .radar-tab {
    position: relative;
    padding: 0.625rem 1rem;
    background: transparent;
    border: none;
    font-size: 0.9rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
}
#avision-dashboard-root .radar-tab:hover {
    color: #475569;
    background: rgba(59, 130, 246, 0.05);
}
#avision-dashboard-root .radar-tab.active {
    color: #3b82f6;
    border-bottom-color: #3b82f6;
}
/* Mode Premium : onglets Or */
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-tab.active {
    color: #f59e0b;
    border-bottom-color: #f59e0b;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-tab:hover {
    color: var(--avi-navy);
    background: rgba(245, 158, 11, 0.05);
}
#avision-dashboard-root .radar-tab .tab-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 0.125rem 0.375rem;
    background: #e2e8f0;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 10px;
    min-width: 20px;
    text-align: center;
}
#avision-dashboard-root .radar-tab.active .tab-badge {
    background: #dbeafe;
    color: #3b82f6;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-tab.active .tab-badge {
    background: #fef3c7;
    color: #f59e0b;
}

/* === BARRE DE RECHERCHE ET FILTRES GÉO-INTELLIGENTS === */
#avision-dashboard-root .radar-filter-bar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 16px 0 12px 0;
    padding: 0;
}
#avision-dashboard-root .radar-search-box {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}
#avision-dashboard-root .radar-search-icon {
    position: absolute;
    left: 12px;
    font-size: 1rem;
    color: #94a3b8;
    pointer-events: none;
}
#avision-dashboard-root .radar-search-input {
    width: 100%;
    padding: 10px 12px 10px 36px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #1e293b;
    background: #ffffff;
    transition: all 0.2s ease;
    outline: none;
}
#avision-dashboard-root .radar-search-input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
#avision-dashboard-root .radar-search-input::placeholder {
    color: #94a3b8;
}
#avision-dashboard-root .radar-quick-filters {
    display: flex;
    gap: 0.375rem;
    flex-shrink: 0;
}
#avision-dashboard-root .radar-quick-filter {
    padding: 0.5rem 0.875rem;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}
#avision-dashboard-root .radar-quick-filter:hover {
    background: #e2e8f0;
    border-color: #cbd5e1;
    transform: translateY(-1px);
}
#avision-dashboard-root .radar-quick-filter.active {
    background: #3b82f6;
    border-color: #2563eb;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-quick-filter.active {
    background: var(--avi-navy);
    border-color: #d97706;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}

/* Responsive barre de recherche */
@media (max-width: 768px) {
    #avision-dashboard-root .radar-filter-bar {
        flex-direction: column;
        gap: 0.625rem;
    }
    #avision-dashboard-root .radar-quick-filters {
        width: 100%;
        justify-content: space-between;
    }
    #avision-dashboard-root .radar-quick-filter {
        flex: 1;
        text-align: center;
        padding: 8px 10px;
        font-size: 0.8rem;
    }
}

/* === COMPTEUR DYNAMIQUE === */
#avision-dashboard-root .radar-counter-info {
    padding: 0.75rem 1rem;
    margin: 0 0 16px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-left: 4px solid #3b82f6;
    border-radius: 8px;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #475569;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-counter-info {
    background: #f8fafc;
    border-left-color: #f59e0b;
}
#avision-dashboard-root .radar-counter-info strong {
    color: #3b82f6;
    font-weight: 700;
    font-size: 1.05rem;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-counter-info strong {
    color: var(--text-main);
}
#avision-dashboard-root .radar-counter-info .avi-advice {
    display: block;
    margin-top: 6px;
    font-size: 0.85rem;
    color: #64748b;
    font-style: italic;
}

/* Zone de travail scrollable — grille des mots-clés (scroll fluide Strategic Grid) */
#avision-dashboard-root #keywordScrollArea {
    height: 450px;
    max-height: 450px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 6px;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

/* Custom Scrollbar élégante et fine */
#avision-dashboard-root #keywordScrollArea::-webkit-scrollbar {
    width: 6px;
}
#avision-dashboard-root #keywordScrollArea::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 3px;
}
#avision-dashboard-root #keywordScrollArea::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
    transition: background 0.2s;
}
#avision-dashboard-root #keywordScrollArea::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
/* Mode Premium : scrollbar Or */
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked #keywordScrollArea::-webkit-scrollbar-thumb {
    background: #cbd5e1;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked #keywordScrollArea::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
/* Firefox */
#avision-dashboard-root #keywordScrollArea {
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 #f1f5f9;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked #keywordScrollArea {
    scrollbar-color: #cbd5e1 #f1f5f9;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 10px;
    margin: 8px 0;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}
#avision-dashboard-root #keywordScrollArea::-webkit-scrollbar { width: 8px; }
#avision-dashboard-root #keywordScrollArea::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 4px; }
#avision-dashboard-root #keywordScrollArea::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
#avision-dashboard-root #keywordScrollArea::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
/* Zone Édition (grille 3 colonnes) vs Zone IA (Suggestions) — séparation claire */
#avision-dashboard-root .radar-drawer-zone-edition { margin-bottom: 0; }
#avision-dashboard-root .radar-drawer-zone-ia {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
}
#avision-dashboard-root .radar-drawer-zone-ia-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #475569;
    margin: 0 0 0.75rem 0;
    letter-spacing: 0.02em;
}
#avision-dashboard-root .radar-drawer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    margin: 0;
}
#avision-dashboard-root .radar-drawer-btn-vip {
    flex: 1;
    min-width: 180px;
    padding: 10px;
    font-size: 0.8125rem;
    font-weight: 800;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.4);
}
#avision-dashboard-root .radar-drawer-btn-vip:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 14px rgba(217, 119, 6, 0.5);
}
/* Encart Avis d'expert (conseil AVI, pas décharge juridique) */
/* Infobulle au clic sur un slot Premium verrouillé (Strategic Planner) */
#avision-dashboard-root .radar-premium-slot-tooltip,
.radar-premium-slot-tooltip {
    padding: 0.5rem 0.875rem;
    background: #1e293b;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
    max-width: 280px;
    white-space: normal;
    text-align: center;
    line-height: 1.4;
    animation: radar-tooltip-fade 0.2s ease;
}
@keyframes radar-tooltip-fade {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Note Stratégique / Avis d'expert — toujours visible en bas du tiroir déplié */
#avision-dashboard-root .radar-drawer-expert-advice {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
    margin-top: 1.25rem;
    margin-bottom: 8px;
    padding: 1rem 1.125rem;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    border-left: 4px solid #3b82f6;
    border-radius: 10px;
    flex-shrink: 0;
}
#avision-dashboard-root .radar-drawer-expert-advice-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
    line-height: 1;
}
#avision-dashboard-root .radar-drawer-expert-advice-content { min-width: 0; }
#avision-dashboard-root .radar-drawer-expert-advice-title {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 6px;
}
#avision-dashboard-root .radar-drawer-expert-advice-text {
    margin: 0;
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.5;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-footer {
    margin-top: 24px;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-footer .keyword-strategic-validate-warning {
    order: 2;
    margin-top: 0.75rem;
    margin-bottom: 0;
    text-align: center;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-footer .keyword-strategic-btn-validate-global {
    order: 1;
}
#avision-dashboard-root .keyword-strategic-validate-warning {
    margin-top: 0.75rem;
    margin-bottom: 0;
    font-size: 0.8rem;
    color: var(--text-muted);
    line-height: 1.4;
    max-width: 420px;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-section.is-locked.dev-show-validate .keyword-strategic-footer {
    display: block !important;
}
/* Bouton d'action final — large, centré, couleur vibrante */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-btn-validate-global {
    display: block;
    width: 100%;
    max-width: 420px;
    margin: 28px auto 0;
    padding: 18px 32px;
    font-size: 1.15rem;
    font-weight: 800;
    border-radius: 12px;
    text-align: center;
    border: none;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(59, 130, 246, 0.45);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-btn-validate-global:hover {
    transform: scale(1.02);
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.5);
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-management-drawer .keyword-strategic-btn-validate-global {
    background: var(--success-soft);
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .radar-management-drawer .keyword-strategic-btn-validate-global:hover {
    filter: brightness(1.05);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-lock.keyword-strategic-lock-alert {
    margin-top: 16px;
    padding: 0.875rem 1.125rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #9a3412;
    background: #fff7ed;
    border: 1px solid #fdba74;
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    text-align: left;
    gap: 1rem;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-lock.keyword-strategic-lock-alert .keyword-strategic-lock-text {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    line-height: 1.5;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-lock-alert .keyword-strategic-footer-dev {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-lock-alert .keyword-strategic-footer-dev .keyword-strategic-footer {
    margin: 0;
    width: auto;
    max-width: none;
    display: flex;
    align-items: center;
    height: 100%;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-lock-alert .keyword-strategic-footer-dev .keyword-strategic-btn-validate-global {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    padding: 10px 20px;
    line-height: 1.5;
    white-space: nowrap;
    box-sizing: border-box;
}
/* === GRILLE SMART-GRID 3 COLONNES === */
#avision-dashboard-root #keywordScrollArea #keywordStrategicTags,
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px 10px;
    padding: 0.5rem;
}

/* Tag "Intelligent" : Voyant + Input + Stylet */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.85rem;
    min-height: 36px;
    padding: 4px 6px;
    background: rgba(248, 250, 252, 0.5);
    border-radius: 8px;
    transition: all 0.2s ease;
    position: relative;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag:hover {
    background: rgba(248, 250, 252, 0.9);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-voyant {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #94a3b8;
    margin-right: 6px;
    transition: all 0.2s ease;
}
/* Radar — Couleurs production (DataForSEO) : Vert = Top 3, Bleu = Top 10, Gris = >10 */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-voyant.status-top3 {
    background: #22C55E;
    box-shadow: 0 0 4px rgba(34, 197, 94, 0.5);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-voyant.status-progress {
    background: #2563EB;
    box-shadow: 0 0 4px rgba(37, 99, 235, 0.5);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-voyant.status-pending {
    background: #64748b;
    box-shadow: 0 0 4px rgba(100, 116, 139, 0.4);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-edit-icon {
    flex-shrink: 0;
    font-size: 0.9rem;
    color: #94a3b8;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0.125rem 0.25rem;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-edit-icon:hover {
    color: #3b82f6;
    transform: scale(1.15);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag input {
    flex: 1;
    min-width: 0;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: rgba(241, 245, 249, 0.5);
    font-size: 0.85rem;
    transition: all 0.2s ease;
    color: #1e293b;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag input:hover {
    background: rgba(241, 245, 249, 0.8);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag input:focus {
    outline: none;
    border-color: #3b82f6;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
/* Strategic Planner : slots Premium verrouillés (16-25 en gratuit) — fond gris acier, readonly */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.keyword-strategic-tag-premium-locked {
    opacity: 1;
    background: linear-gradient(135deg, #94a3b8 0%, #64748b 100%);
    background-color: #94a3b8;
    border: 1px solid #64748b;
    border-radius: 8px;
    padding: 6px 8px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    pointer-events: auto;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.keyword-strategic-tag-premium-locked input {
    cursor: default;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.2);
    color: #1e293b;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.keyword-strategic-tag-premium-locked .tag-edit-icon {
    cursor: pointer;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.keyword-strategic-tag-premium-locked::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(148, 163, 184, 0.05) 10px,
        rgba(148, 163, 184, 0.05) 20px
    );
    pointer-events: none;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.keyword-strategic-tag-premium-locked .tag-voyant {
    background: #cbd5e1;
    box-shadow: none;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.keyword-strategic-tag-premium-locked .tag-edit-icon {
    display: inline-block;
    opacity: 0.9;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.keyword-strategic-tag-premium-locked input {
    background: transparent;
    color: #64748b;
    -webkit-text-fill-color: #64748b;
    pointer-events: none;
    cursor: not-allowed;
    border: none;
    text-align: center;
    font-weight: 600;
    font-size: 0.8rem;
    position: relative;
    z-index: 1;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.keyword-strategic-tag-premium-locked input::placeholder {
    color: #64748b;
    opacity: 1;
    font-weight: 600;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.tag-edited .tag-edit-icon {
    color: var(--primary);
}
/* Effet Wow — Suggestions du Marché : surbrillance brève à chaque mot-clé injecté */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.tag-wow {
    animation: tag-wow-pulse 0.5s ease-out;
}
@keyframes tag-wow-pulse {
    0% { background: rgba(59, 130, 246, 0.2); transform: scale(1.02); }
    100% { background: transparent; transform: scale(1); }
}

/* Effet Glow Final : illumination dorée de tous les nouveaux mots-clés */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.tag-glow-final {
    animation: tag-glow-pulse 2s ease-in-out;
    position: relative;
    z-index: 1;
}
@keyframes tag-glow-pulse {
    0% { 
        box-shadow: 0 0 0 rgba(251, 191, 36, 0);
        background: transparent;
    }
    25% { 
        box-shadow: 0 0 20px rgba(251, 191, 36, 0.6), 0 0 40px rgba(251, 191, 36, 0.3);
        background: rgba(251, 191, 36, 0.15);
        transform: scale(1.03);
    }
    50% { 
        box-shadow: 0 0 25px rgba(251, 191, 36, 0.8), 0 0 50px rgba(251, 191, 36, 0.4);
        background: rgba(251, 191, 36, 0.2);
        transform: scale(1.05);
    }
    75% { 
        box-shadow: 0 0 20px rgba(251, 191, 36, 0.6), 0 0 40px rgba(251, 191, 36, 0.3);
        background: rgba(251, 191, 36, 0.15);
        transform: scale(1.03);
    }
    100% { 
        box-shadow: 0 0 0 rgba(251, 191, 36, 0);
        background: transparent;
        transform: scale(1);
    }
}
/* Effet de suppression */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.tag-removing {
    animation: tag-fade-out 0.3s ease-out forwards;
}
@keyframes tag-fade-out {
    0% { 
        opacity: 1; 
        transform: scale(1); 
    }
    100% { 
        opacity: 0; 
        transform: scale(0.8); 
    }
}
/* Mode Statique : stylet visible, boutons masqués */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-validate,
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-cancel {
    display: none;
    flex-shrink: 0;
}
/* Bouton de suppression (×) */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-remove {
    display: none;
    flex-shrink: 0;
    position: absolute;
    top: -6px;
    right: -6px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ef4444;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.3);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag:hover .tag-remove {
    opacity: 1;
    display: flex;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag .tag-remove:hover {
    background: #dc2626;
    transform: scale(1.15);
}

/* Mode Édition : bordure bleue forte et boutons d'action */
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing {
    flex-wrap: nowrap;
    background: rgba(59, 130, 246, 0.03);
    border-radius: 8px;
    padding: 2px;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.15);
    animation: tag-edit-in 0.2s ease-out;
}
@keyframes tag-edit-in {
    from {
        transform: scale(0.98);
        opacity: 0.8;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing .tag-edit-icon {
    display: none;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: none;
    border: 2px solid #3b82f6;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    outline: none;
    font-weight: 500;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing .tag-validate,
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing .tag-cancel {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    padding: 4px 6px;
    border-radius: 4px;
    flex-shrink: 0;
    transition: all 0.15s ease;
    margin-left: 0.25rem;
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing .tag-validate {
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing .tag-validate:hover {
    background: rgba(16, 185, 129, 0.2);
    transform: scale(1.1);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing .tag-cancel {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}
#avision-dashboard-root .radar-management-drawer .keyword-strategic-tags .keyword-strategic-tag.is-editing .tag-cancel:hover {
    background: rgba(239, 68, 68, 0.2);
    transform: scale(1.1);
}

#avision-dashboard-root .radar-content-wrap .radar-status-bar { margin: 0 16px 12px; }
#avision-dashboard-root .radar-content-wrap .keyword-radar-cta-wrap,
#avision-dashboard-root .radar-content-wrap .keyword-top3-guardian-note { margin-left: 16px; margin-right: 16px; }

#avision-dashboard-root .keyword-radar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.625rem;
}
#avision-dashboard-root .keyword-radar-mini-row.keyword-radar-mini-inline {
    padding: 0.375rem 0;
    margin-bottom: 0;
    background: transparent;
    border: none;
    gap: 0.375rem;
}
#avision-dashboard-root .keyword-radar-mini-sep {
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 600;
}
#avision-dashboard-root .keyword-radar-btn-edit {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 0.3125rem 0.625rem;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}
#avision-dashboard-root .keyword-radar-btn-edit:hover {
    background: #f1f5f9;
    border-color: var(--primary);
    color: var(--primary);
}
#avision-dashboard-root .keyword-radar-btn-edit-icon { font-size: 0.75rem; line-height: 1; opacity: 0.85; }
#avision-dashboard-root .keyword-radar-mini-row {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0.625rem 0.875rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 0.75rem;
    font-size: 0.8125rem;
    color: var(--text-main);
}
#avision-dashboard-root .keyword-radar-mini-item strong { color: var(--primary-blue); }

/* Carte Radar : 2 colonnes (table 60% | graphique 40%) */
#avision-dashboard-root .keyword-radar-two-col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 0;
}
@media (min-width: 900px) {
    #avision-dashboard-root .keyword-radar-two-col {
        grid-template-columns: 60% 1fr;
    }
}
#avision-dashboard-root .keyword-radar-table-col { min-width: 0; overflow: visible; }
#avision-dashboard-root .keyword-radar-chart-col {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
#avision-dashboard-root .radar-global-chart-wrap {
    width: 100%;
    padding: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
}
#avision-dashboard-root .radar-global-chart-wrap .radar-mini-graph-label { margin-bottom: 8px; }
#avision-dashboard-root .radar-global-chart-wrap #radarGlobalChart {
    flex: 1;
    min-height: 7rem;
}
/* Infobulles du tableau Radar : passer au-dessus des bordures */
#avision-dashboard-root .keyword-radar-table-wrap .avi-kpi-label-i[data-tooltip]:hover::after,
#avision-dashboard-root .keyword-radar-list-header .avi-kpi-label-i[data-tooltip]:hover::after {
    z-index: 10002;
}
#avision-dashboard-root .keyword-radar-table-wrap .avi-kpi-label-i[data-tooltip]:hover::before,
#avision-dashboard-root .keyword-radar-list-header .avi-kpi-label-i[data-tooltip]:hover::before {
    z-index: 10002;
}
#avision-dashboard-root .keyword-radar-list.keyword-radar-list-header {
    border-bottom: 1px solid #e2e8f0;
    background: #fafafa;
    overflow: visible;
}
#avision-dashboard-root .keyword-radar-list.keyword-radar-list-header li {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 0.5rem 0.75rem;
}

#avision-dashboard-root .keyword-radar-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: visible;
    background: #fff;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
}
#avision-dashboard-root .keyword-radar-table-body-wrap {
    max-height: 350px;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
}
/* Le Gating (Verrouillage) — lignes au-delà de 20 floutées */
#avision-dashboard-root .keyword-radar-list li.radar-row-gated,
#avision-dashboard-root .keyword-radar-list li.radar-row-locked {
    filter: blur(5px);
    pointer-events: none;
    user-select: none;
    opacity: 0.5;
    position: relative;
}
#avision-dashboard-root .radar-gating-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(transparent, rgba(255,255,255,0.9));
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}
#avision-dashboard-root .radar-gating-lock {
    font-size: 2rem;
    opacity: 0.9;
}
#avision-dashboard-root .radar-gating-text {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-main);
    text-align: center;
    line-height: 1.4;
}
#avision-dashboard-root .radar-gating-cta {
    background: linear-gradient(90deg, #fbbf24, #d97706);
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(217, 119, 6, 0.35);
    transition: transform 0.2s, box-shadow 0.2s;
}
#avision-dashboard-root .radar-gating-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(217, 119, 6, 0.45);
}

/* Badge de fréquence de scan (mur de paiement) */
#avision-dashboard-root .scan-badge {
    padding: 0.125rem 0.5rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: bold;
}
#avision-dashboard-root .badge-mensuel { background: #e0e0e0; color: #666; }
#avision-dashboard-root .badge-hebdo { background: #d1fae5; color: #059669; }
#avision-dashboard-root .badge-daily { background: #fef3c7; color: #d97706; }

#avision-dashboard-root .keyword-radar-sort-actuel {
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
}
#avision-dashboard-root .keyword-radar-sort-actuel:hover {
    color: var(--primary);
}
#avision-dashboard-root .keyword-radar-list.keyword-radar-list-header .sort-arrow {
    font-size: 10px;
    opacity: 0.8;
}
#avision-dashboard-root .keyword-radar-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
/* Data-Engine : grille satinée Mot-clé | J-0 | ➔ | Actuel | Gain */
#avision-dashboard-root .keyword-radar-list li {
    display: grid;
    grid-template-columns: 1fr 60px 40px 80px 80px;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.8125rem;
    transition: background 0.15s ease;
}
#avision-dashboard-root .keyword-radar-list li:nth-child(even) { background: rgba(0,0,0,0.025); }
#avision-dashboard-root .keyword-radar-list li:nth-child(odd) { background: #fff; }
#avision-dashboard-root .keyword-radar-list li:hover { background: rgba(59, 130, 246, 0.08); }
#avision-dashboard-root .keyword-radar-list li:last-child { border-bottom: none; }
/* Effet écho : flash bleu (Standard) ou or (Premium) quand une ligne apparaît après ajout dans le tiroir */
@keyframes radar-row-echo-flash {
    0% { background: rgba(59, 130, 246, 0.35); box-shadow: inset 0 0 0 2px rgba(59, 130, 246, 0.4); }
    45% { background: rgba(59, 130, 246, 0.18); box-shadow: inset 0 0 0 2px rgba(59, 130, 246, 0.25); }
    100% { background: inherit; box-shadow: none; }
}
@keyframes radar-row-echo-flash-premium {
    0% { background: rgba(217, 119, 6, 0.3); box-shadow: inset 0 0 0 2px rgba(217, 119, 6, 0.35); }
    45% { background: rgba(217, 119, 6, 0.12); box-shadow: inset 0 0 0 2px rgba(217, 119, 6, 0.2); }
    100% { background: inherit; box-shadow: none; }
}
#avision-dashboard-root .keyword-radar-card:not(.keyword-top3-unlocked) .keyword-radar-list li.radar-row-echo {
    animation: radar-row-echo-flash 1.2s ease-out;
}
#avision-dashboard-root .keyword-radar-card.keyword-top3-unlocked .keyword-radar-list li.radar-row-echo {
    animation: radar-row-echo-flash-premium 1.2s ease-out;
}
@keyframes radar-row-updated-blink {
    0% { background: rgba(59, 130, 246, 0.35); box-shadow: inset 0 0 0 2px rgba(59, 130, 246, 0.5); }
    60% { background: rgba(59, 130, 246, 0.12); box-shadow: inset 0 0 0 2px rgba(59, 130, 246, 0.25); }
    100% { background: inherit; box-shadow: none; }
}
#avision-dashboard-root .keyword-radar-list li.radar-row-updated {
    animation: radar-row-updated-blink 1.5s ease-out;
}
@keyframes updated-flash-cell {
    0% { background: rgba(59, 130, 246, 0.5); box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.6); }
    70% { background: rgba(59, 130, 246, 0.15); box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.3); }
    100% { background: inherit; box-shadow: none; }
}
#avision-dashboard-root .keyword-radar-list .rank-init.updated-flash {
    animation: updated-flash-cell 1.2s ease-out;
}
/* Message vide élégant */
#avision-dashboard-root .keyword-radar-list li.radar-empty-message {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 24px 16px;
    font-size: 0.8125rem;
    color: var(--text-muted);
    font-weight: 500;
    line-height: 1.5;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
#avision-dashboard-root .keyword-radar-list li.radar-loading-message {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 24px 16px;
    font-size: 0.8125rem;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    background: #f8fafc;
}
#avision-dashboard-root .radar-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #e2e8f0;
    border-top-color: var(--primary, #2563eb);
    border-radius: 50%;
    animation: radar-spin 0.8s linear infinite;
}
@keyframes radar-spin {
    to { transform: rotate(360deg); }
}
#avision-dashboard-root .keyword-radar-list li.row-slot-vide {
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    margin: 4px 8px;
    background: rgba(248, 250, 252, 0.8);
}
#avision-dashboard-root .keyword-radar-list li.row-slot-vide .kw,
#avision-dashboard-root .keyword-radar-list li.row-slot-vide .rank-init,
#avision-dashboard-root .keyword-radar-list li.row-slot-vide .rank-arrow,
#avision-dashboard-root .keyword-radar-list li.row-slot-vide .rank-curr,
#avision-dashboard-root .keyword-radar-list li.row-slot-vide .gain { opacity: 0.5; }
#avision-dashboard-root .keyword-radar-list li.row-slot-vide .kw { font-style: italic; color: var(--text-muted); font-weight: 500; }
#avision-dashboard-root .keyword-radar-list li.row-slot-locked {
    border: 1px dashed #d97706;
    border-radius: 6px;
    margin: 4px 8px;
    background: linear-gradient(135deg, rgba(254, 243, 199, 0.4) 0%, rgba(253, 230, 138, 0.2) 100%);
}
#avision-dashboard-root .keyword-radar-list li.row-slot-locked .kw { font-size: 0.75rem; color: var(--text-muted); font-weight: 600; }
#avision-dashboard-root .keyword-radar-list li.row-add-keyword {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background: rgba(59, 130, 246, 0.06);
    border: 1px dashed var(--primary);
    border-radius: 6px;
    margin: 4px 8px 8px;
    font-weight: 600;
    color: var(--primary);
}
#avision-dashboard-root .keyword-radar-list li.row-add-keyword:hover {
    background: rgba(59, 130, 246, 0.12);
    border-style: solid;
}
/* Slots Premium verrouillés (frustration / envie d'upgrade) */
#avision-dashboard-root .keyword-radar-list li.row-slot-premium-locked {
    opacity: 0.85;
    background: #f1f5f9 !important;
    cursor: pointer;
}
#avision-dashboard-root .keyword-radar-list li.row-slot-premium-locked:hover {
    background: #e2e8f0 !important;
}
#avision-dashboard-root .keyword-radar-list li.row-slot-premium-locked .kw {
    color: #64748b;
    font-weight: 600;
    font-style: italic;
}
#avision-dashboard-root .keyword-radar-list .slot-lock-icon { margin-right: 4px; font-size: 0.6875rem; }
#avision-dashboard-root .keyword-radar-list .kw { font-size: 0.85rem; font-weight: 700; color: var(--text-main); text-align: left; }
#avision-dashboard-root .keyword-radar-list .rank-init { font-size: 0.6375rem; color: var(--text-muted); font-weight: 600; text-align: center; }
#avision-dashboard-root .keyword-radar-list .rank-arrow { color: var(--text-muted); font-size: 0.6375rem; text-align: center; }
#avision-dashboard-root .keyword-radar-list .rank-curr { font-size: 0.6375rem; font-weight: 700; text-align: center; }
#avision-dashboard-root .keyword-radar-list .rank-curr {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
}
#avision-dashboard-root .keyword-radar-list .rank-curr.top3::before {
    content: '';
    width: 6.8px;
    height: 6.8px;
    border-radius: 50%;
    background: #22C55E;
    box-shadow: 0 0 4px rgba(34, 197, 94, 0.5);
    flex-shrink: 0;
}
#avision-dashboard-root .keyword-radar-list .rank-curr.top3 {
    background: none;
    color: var(--text-main);
    padding: 0;
    font-size: 0.6375rem;
    font-weight: 700;
}
#avision-dashboard-root .keyword-radar-list .rank-curr.top10::before {
    content: '';
    width: 6.8px;
    height: 6.8px;
    border-radius: 50%;
    background: #2563EB;
    box-shadow: 0 0 4px rgba(37, 99, 235, 0.5);
    flex-shrink: 0;
}
#avision-dashboard-root .keyword-radar-list .rank-curr.top10 {
    background: none;
    color: #2563EB;
    padding: 0;
    font-size: 0.6375rem;
    font-weight: 700;
}
#avision-dashboard-root .keyword-radar-list .rank-curr.rank-below10::before,
#avision-dashboard-root .keyword-radar-list .rank-curr.rank-pending::before {
    content: '';
    width: 6.8px;
    height: 6.8px;
    border-radius: 50%;
    background: #64748b;
    box-shadow: 0 0 4px rgba(100, 116, 139, 0.4);
    flex-shrink: 0;
}
#avision-dashboard-root .keyword-radar-list .rank-curr.rank-below10,
#avision-dashboard-root .keyword-radar-list .rank-curr.rank-pending {
    background: none;
    color: #64748b;
    padding: 0;
    font-size: 0.6375rem;
    font-weight: 700;
}
#avision-dashboard-root .keyword-radar-list .gain {
    font-size: 0.6875rem;
    font-weight: 700;
    text-align: right;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0;
    min-width: 48px;
    justify-content: flex-end;
}
#avision-dashboard-root .keyword-radar-list .gain.gain-up::before {
    content: '';
    width: 6.8px;
    height: 6.8px;
    border-radius: 50%;
    background: #22C55E;
    box-shadow: 0 0 4px rgba(34, 197, 94, 0.5);
}
#avision-dashboard-root .keyword-radar-list .gain.gain-up {
    color: #22C55E;
}
#avision-dashboard-root .keyword-radar-list .gain.gain-down::before {
    content: '';
    width: 6.8px;
    height: 6.8px;
    border-radius: 50%;
    background: var(--danger-soft);
    box-shadow: 0 0 4px rgba(239, 68, 68, 0.5);
}
#avision-dashboard-root .keyword-radar-list .gain.gain-down {
    color: var(--danger-soft);
}
#avision-dashboard-root .keyword-radar-list .gain:not(.gain-up):not(.gain-down)::before {
    content: '';
    width: 6.8px;
    height: 6.8px;
    border-radius: 50%;
    background: #64748b;
    box-shadow: 0 0 4px rgba(100, 116, 139, 0.4);
}
#avision-dashboard-root .keyword-radar-list .gain:not(.gain-up):not(.gain-down) {
    color: #64748b;
}
#avision-dashboard-root .radar-content-wrap {
    display: flex;
    flex-direction: column;
}

/* VIP Command Center — structure unifiée (monitoring + upgrade) */
#avision-dashboard-root .radar-vip-control-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin: auto 16px 0;
    padding: 0.875rem 1.125rem;
    background: #0f172a;
    border-top: 1px solid rgba(217, 119, 6, 0.3);
    border-radius: 0;
    flex-shrink: 0;
}

/* ========== Radar Power Stack — UI 2026 (plans en 3 lignes) ========== */
#avision-dashboard-root .radar-vip-control-center {
    margin: auto 16px 0;
    padding: 20px;
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
}

#avision-dashboard-root .radar-plans-stack {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
}

#avision-dashboard-root .radar-plan-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    border-radius: 12px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
    flex-wrap: wrap;
    gap: 0.625rem;
}

/* Ligne inactive */
#avision-dashboard-root .radar-plan-row.is-inactive {
    background: rgba(255, 255, 255, 0.03);
    opacity: 0.7;
}

#avision-dashboard-root .radar-plan-row.is-inactive:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.05);
}

/* Ligne active — mensuel (bleu) */
#avision-dashboard-root .radar-plan-row.is-active {
    background: rgba(37, 99, 235, 0.1);
    border: 1px solid rgba(37, 99, 235, 0.3);
    padding: 0.75rem;
}

/* Ligne active — hebdo / journalier (or) */
#avision-dashboard-root .radar-plan-row.radar-plan-row--weekly.is-active,
#avision-dashboard-root .radar-plan-row.radar-plan-row--daily.is-active {
    background: rgba(217, 119, 6, 0.08);
    border-color: rgba(217, 119, 6, 0.3);
}

/* Typographie */
#avision-dashboard-root .plan-main-info {
    display: flex;
    align-items: center;
    gap: 0.9375rem;
}

#avision-dashboard-root .plan-icon {
    font-size: 0.98rem;
    line-height: 1;
}

#avision-dashboard-root .plan-title {
    font-weight: 800;
    font-size: 0.8rem;
    color: #fff;
    letter-spacing: 0.05em;
}

#avision-dashboard-root .plan-sub {
    font-size: 0.75rem;
    color: #94a3b8;
    display: block;
    margin-top: 2px;
}

#avision-dashboard-root .plan-sub .avi-kpi-label-i {
    font-size: 0.7rem;
    opacity: 0.85;
}

/* Badges */
#avision-dashboard-root .plan-badge {
    font-size: 0.65rem;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
    margin-left: 10px;
}

#avision-dashboard-root .badge-weekly {
    background: #2563eb;
    color: #fff;
}

#avision-dashboard-root .badge-daily {
    background: #d97706;
    color: #fff;
}

/* Zone statut (ligne active) — barre de progression */
#avision-dashboard-root .plan-status-zone {
    flex: 1;
    min-width: 0;
    max-width: 250px;
    margin: 0 20px;
}

#avision-dashboard-root .plan-meter-wrap {
    margin-bottom: 0.25rem;
}

#avision-dashboard-root .plan-meter-text {
    font-size: 0.8rem;
    color: #e2e8f0;
    font-family: ui-monospace, 'Cascadia Code', 'SF Mono', Monaco, Consolas, monospace;
}

#avision-dashboard-root .plan-progress-bar {
    height: 6px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    margin-top: 5px;
    overflow: hidden;
}

#avision-dashboard-root .progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #60a5fa);
    width: 0%;
    transition: width 0.3s ease-in-out;
    border-radius: 10px;
}

#avision-dashboard-root .radar-plan-row.radar-plan-row--weekly.is-active .progress-fill,
#avision-dashboard-root .radar-plan-row.radar-plan-row--daily.is-active .progress-fill {
    background: linear-gradient(90deg, #d97706, #f59e0b);
}

#avision-dashboard-root .plan-next-update {
    font-size: 0.7rem;
    color: #94a3b8;
}
/* Zone action (ligne inactive) — prix / bouton upgrade */
#avision-dashboard-root .plan-action-zone {
    flex-shrink: 0;
}

#avision-dashboard-root .plan-price {
    font-family: ui-monospace, 'Cascadia Code', 'SF Mono', Monaco, Consolas, monospace;
    font-weight: 700;
    font-size: 0.72rem;
    color: #94a3b8;
}

#avision-dashboard-root .btn-upgrade {
    background: #fff;
    color: #0f172a;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-weight: 800;
    font-size: 0.9rem;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

#avision-dashboard-root .btn-upgrade:hover {
    transform: scale(1.05);
    background: #f1f5f9;
}

#avision-dashboard-root .btn-upgrade small {
    font-weight: 600;
    font-size: 0.7rem;
    color: #64748b;
    margin-left: 2px;
}

/* Boutons des cartes de plan — padding logiciel (Prompt 2 densification) */
#avision-dashboard-root .radar-plan-row button,
#avision-dashboard-root .radar-upgrade-mini-card button,
#avision-dashboard-root .radar-vip-control-center button {
    padding: 0.5rem 1rem;
}

/* Responsive Radar Power Stack */
@media (max-width: 768px) {
    #avision-dashboard-root .radar-vip-control-center {
        padding: 0.75rem;
        border-radius: 12px;
    }

    #avision-dashboard-root .radar-plans-stack {
        gap: 0.5rem;
    }

    #avision-dashboard-root .radar-plan-row {
        padding: 0.75rem;
        flex-direction: column;
        align-items: flex-start;
    }

    #avision-dashboard-root .radar-plan-row.is-active {
        padding: 0.75rem;
    }

    #avision-dashboard-root .plan-icon {
        font-size: 0.77rem;
    }

    #avision-dashboard-root .plan-title {
        font-size: 0.8rem;
    }

    #avision-dashboard-root .plan-status-zone {
        max-width: 100%;
        margin: 0;
        width: 100%;
    }

    #avision-dashboard-root .plan-action-zone {
        width: 100%;
        text-align: right;
    }
}

#avision-dashboard-root .radar-vip-control-monitoring,
#avision-dashboard-root .radar-vip-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
}
#avision-dashboard-root .radar-vip-control-upgrade {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-shrink: 0;
}
/* ========== Cartes d'abonnement SaaS Pro ========== */
#avision-dashboard-root .radar-upgrade-mini-cards {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 1rem;
    flex-wrap: wrap;
}
#avision-dashboard-root .radar-upgrade-mini-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 140px;
    max-width: 160px;
    padding: 0.75rem;
    border-radius: 14px;
    color: #fff;
    font-size: 0.75rem;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.2s ease;
    text-align: center;
    border: 1px solid;
    position: relative;
}
/* Carte Hebdo : sobre, bordure grise, fond bleu nuit */
#avision-dashboard-root .radar-upgrade-mini-card.radar-upgrade-card-hebdo,
#avision-dashboard-root .radar-upgrade-mini-card:not(.radar-upgrade-mini-card-elite) {
    background: #0f172a;
    border-color: rgba(148, 163, 184, 0.35);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}
#avision-dashboard-root .radar-upgrade-mini-card.radar-upgrade-card-hebdo:hover,
#avision-dashboard-root .radar-upgrade-mini-card:not(.radar-upgrade-mini-card-elite):hover {
    transform: scale(1.03);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    border-color: rgba(148, 163, 184, 0.5);
}
/* Carte Journalier Élite : dominante, bordure dorée, badge, lueur */
#avision-dashboard-root .radar-upgrade-mini-card-elite {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    border-color: rgba(245, 158, 11, 0.6);
    box-shadow: 0 0 24px rgba(245, 158, 11, 0.12), 0 4px 16px rgba(0, 0, 0, 0.25);
}
#avision-dashboard-root .radar-upgrade-mini-card-elite:hover {
    transform: scale(1.03);
    border-color: #f59e0b;
    box-shadow: 0 0 32px rgba(245, 158, 11, 0.22), 0 8px 28px rgba(0, 0, 0, 0.35);
}
/* Badge ÉLITE / CONSEILLÉ en haut de la carte */
#avision-dashboard-root .radar-upgrade-mini-card .radar-upgrade-mini-badge {
    display: block;
    width: 100%;
    padding: 2px 6px;
    margin-bottom: 0.5rem;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #0f172a;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border-radius: 13px 13px 0 0;
    flex-shrink: 0;
}
#avision-dashboard-root .radar-upgrade-mini-card:not(.radar-upgrade-mini-card-elite) .radar-upgrade-mini-badge {
    display: none;
}
#avision-dashboard-root .radar-upgrade-mini-card .radar-upgrade-mini-title {
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 0.5rem;
    padding: 0;
}
#avision-dashboard-root .radar-upgrade-mini-card .radar-upgrade-mini-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    margin-bottom: 0.375rem;
    padding: 0;
}
#avision-dashboard-root .radar-upgrade-mini-card .radar-upgrade-price-amount {
    font-weight: 800;
    font-size: 1.1rem;
    line-height: 1.2;
    color: #fff;
    letter-spacing: -0.02em;
}
#avision-dashboard-root .radar-upgrade-mini-card .radar-upgrade-price-period {
    font-weight: 600;
    font-size: 0.55rem;
    color: rgba(255, 255, 255, 0.75);
    align-self: flex-end;
    margin-bottom: 2px;
}
#avision-dashboard-root .radar-upgrade-mini-card .radar-upgrade-mini-desc {
    font-size: 0.625rem;
    color: rgba(245, 158, 11, 0.95);
    line-height: 1.35;
    padding: 0;
}
/* Typo Sleek 2026 : zone Control Center — texte principal blanc, secondaire doré */
#avision-dashboard-root .radar-vip-control-center .radar-vip-quota,
#avision-dashboard-root .radar-vip-control-center .radar-vip-next.keyword-radar-next-update {
    color: #fff;
}
#avision-dashboard-root .radar-vip-control-center .radar-vip-quota strong {
    color: #fff;
    font-weight: 700;
}
#avision-dashboard-root .radar-vip-control-center .radar-vip-next.keyword-radar-next-update {
    color: #f59e0b;
    font-size: 0.6875rem;
}
/* Badge scan : fond contrasté (gris gratuit, dégradé or premium) */
#avision-dashboard-root .radar-vip-control-center .radar-badge-free {
    color: #94a3b8;
    background: #334155;
    border: 1px solid rgba(148, 163, 184, 0.4);
}
#avision-dashboard-root .radar-vip-control-center .radar-badge-premium {
    color: #fff;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 50%, #b45309 100%);
    border: none;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.35);
}
#avision-dashboard-root .radar-vip-control-domination-msg .radar-domination-badge {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #059669;
    background: rgba(5, 150, 105, 0.2);
    border: 1px solid rgba(5, 150, 105, 0.4);
    border-radius: 8px;
}
/* État Journalier : statut pleine largeur, sans bouton d'achat */
#avision-dashboard-root .radar-vip-control-center.radar-vip-control-center--domination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
}
#avision-dashboard-root .radar-vip-control-center.radar-vip-control-center--domination .radar-vip-control-domination-full {
    width: 100%;
    text-align: center;
}
#avision-dashboard-root .radar-vip-control-center.radar-vip-control-center--domination .radar-domination-badge-full {
    display: inline-block;
    padding: 10px 20px;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    color: #059669;
    background: rgba(5, 150, 105, 0.2);
    border: 1px solid rgba(5, 150, 105, 0.5);
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(5, 150, 105, 0.15);
}
#avision-dashboard-root .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Sleek 2026 — Responsive Control Center (< 768px) */
@media (max-width: 768px) {
    #avision-dashboard-root .radar-vip-control-center {
        flex-direction: column;
        align-items: stretch;
        padding: 1rem 0.875rem;
        gap: 1rem;
    }
    #avision-dashboard-root .radar-vip-control-center .radar-vip-control-monitoring {
        width: 100%;
    }
    #avision-dashboard-root .radar-vip-control-center .radar-vip-control-upgrade {
        width: 100%;
    }
    #avision-dashboard-root .radar-vip-control-center .radar-upgrade-mini-cards {
        width: 100%;
        flex-direction: column;
    }
    #avision-dashboard-root .radar-vip-control-center .radar-upgrade-mini-card {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
}

#avision-dashboard-root .radar-vip-control-monitoring .radar-vip-scan-badge,
#avision-dashboard-root .radar-vip-info .radar-vip-scan-badge,
#avision-dashboard-root .radar-vip-info .keyword-radar-scan-badge {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 4px 10px;
    border-radius: 6px;
}
#avision-dashboard-root .radar-vip-info .radar-badge-free {
    color: #94a3b8;
    background: rgba(148, 163, 184, 0.2);
    border: 1px solid rgba(148, 163, 184, 0.35);
}
#avision-dashboard-root .radar-vip-info .radar-badge-premium {
    color: #fff;
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
    border: none;
    box-shadow: 0 1px 3px rgba(217, 119, 6, 0.3);
}
#avision-dashboard-root .radar-vip-quota,
#avision-dashboard-root .radar-vip-info .radar-counter {
    font-size: 0.8125rem;
    font-weight: 400;
    color: #e2e8f0;
}
#avision-dashboard-root .radar-vip-quota strong,
#avision-dashboard-root .radar-vip-info .radar-counter strong {
    font-weight: 700;
    color: #fff;
}
#avision-dashboard-root .radar-vip-next.keyword-radar-next-update {
    font-size: 0.6875rem;
    color: #94a3b8;
}
#avision-dashboard-root .radar-vip-progress {
    height: 5px;
    min-width: 80px;
    max-width: 120px;
    background: rgba(148, 163, 184, 0.2);
    border-radius: 3px;
    overflow: hidden;
}
#avision-dashboard-root .radar-vip-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #f59e0b 0%, #d97706 100%);
    border-radius: 3px;
    transition: width 0.35s ease;
}
#avision-dashboard-root .radar-vip-action {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
#avision-dashboard-root .radar-vip-action-text {
    font-size: 0.75rem;
    font-weight: 500;
    color: #cbd5e1;
}
#avision-dashboard-root .radar-vip-action-btn {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(217, 119, 6, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#avision-dashboard-root .radar-vip-action-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.45);
}

/* Section édition : slide-down */
#avision-dashboard-root .keyword-strategic-section.keyword-strategic-accordion {
    margin-top: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.35s ease-out, opacity 0.25s ease-out, margin 0.25s ease;
}
#avision-dashboard-root .keyword-strategic-section.keyword-strategic-accordion.is-open {
    max-height: 1200px;
    opacity: 1;
    margin-top: 16px;
    transition: max-height 0.4s ease-in, opacity 0.25s ease-in, margin 0.25s ease;
}
/* Champs mots-clés : 2 colonnes denses pour limiter le scroll */
#avision-dashboard-root .keyword-strategic-tags {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 14px;
    grid-auto-flow: dense;
    margin-top: 12px;
    margin-bottom: 0.75rem;
}
#avision-dashboard-root .keyword-strategic-tags .keyword-strategic-tag {
    min-width: 0;
}

/* Titre Radar cliquable → Hub (hérite du style section titre) */
#avision-dashboard-root .keyword-radar-card-title.radar-hub-trigger {
    margin: 0 0 0.75rem 0;
    cursor: pointer;
    padding: 4px 0;
    border-radius: 6px;
    transition: color 0.15s ease, background 0.15s ease;
}
#avision-dashboard-root .keyword-radar-card-title.radar-hub-trigger:hover {
    color: #d97706;
    background: rgba(254, 243, 199, 0.3);
}

/* Hub Mots-clés (panneau latéral) */
#action-panel .action-panel-keyword-hub {
    padding: 0 4px;
}
#action-panel .keyword-hub-header { margin-bottom: 0.625rem; font-size: 0.9rem; }
#action-panel .keyword-hub-desc { font-size: 0.75rem; color: var(--text-muted); margin: 0 0 0.625rem 0; }
#action-panel .keyword-hub-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 16px;
}
#action-panel .keyword-hub-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
}
#action-panel .keyword-hub-list li {
    display: grid;
    grid-template-columns: 1fr 70px 60px 40px 80px 80px;
    align-items: center;
    gap: 0.375rem;
    padding: 6px 10px;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.75rem;
    transition: background 0.15s ease;
}
#action-panel .keyword-hub-list li:nth-child(even) { background: rgba(0,0,0,0.02); }
#action-panel .keyword-hub-list li:hover { background: rgba(59, 130, 246, 0.06); }
#action-panel .keyword-hub-list li:last-child { border-bottom: none; }
#action-panel .keyword-hub-list .rank-volume { font-size: 0.6875rem; color: var(--text-muted); font-weight: 600; text-align: center; }
#action-panel .keyword-hub-list .gain.gain-up { color: #22C55E; }

/* Gestion des mots-clés dans le panneau : liste verticale propre */
#action-panel .action-panel-keyword-hub .keyword-strategic-section.keyword-strategic-in-panel {
    margin-top: 1.25rem;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}
#action-panel .action-panel-keyword-hub .keyword-strategic-in-panel .keyword-strategic-title {
    font-size: 0.8125rem;
    margin: 0 0 0.25rem 0;
    font-weight: 700;
    color: var(--text-main);
}
#action-panel .action-panel-keyword-hub .keyword-strategic-in-panel .keyword-strategic-desc {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 0 0 0.625rem 0;
}
#action-panel .action-panel-keyword-hub .keyword-strategic-in-panel .keyword-strategic-actions {
    margin-bottom: 0.625rem;
}
#action-panel .action-panel-keyword-hub .keyword-strategic-in-panel .keyword-strategic-tags {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 12px 0;
}
#action-panel .action-panel-keyword-hub .keyword-strategic-in-panel .keyword-strategic-tags .keyword-strategic-tag {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    margin: 0;
}
#action-panel .action-panel-keyword-hub .keyword-strategic-in-panel .keyword-strategic-tags .keyword-strategic-tag input {
    flex: 1;
    min-width: 0;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    font-size: 0.75rem;
}
#action-panel .action-panel-keyword-hub .keyword-strategic-in-panel .keyword-strategic-footer {
    margin-top: 0.875rem;
}

/* Placeholder graphique évolution position */
.radar-mini-graph-wrap {
    margin-top: 16px;
    padding: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}
.radar-mini-graph-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}
.radar-mini-graph {
    min-height: 120px;
    background: #e2e8f0;
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6875rem;
    color: #94a3b8;
    font-weight: 600;
}
/* Placeholder courbe ascendante (dégradé satiné) */
#keywordTrendChart.radar-mini-graph.radar-chart-placeholder,
.radar-mini-graph.radar-chart-placeholder {
    background: linear-gradient(to top, rgba(16, 185, 129, 0.25) 0%, rgba(16, 185, 129, 0.08) 35%, rgba(203, 213, 225, 0.3) 70%, #e2e8f0 100%);
    border-color: rgba(16, 185, 129, 0.2);
}
#keywordTrendChart.radar-mini-graph::before {
    content: 'Graphique évolution (à venir)';
}
#radarGlobalChart.radar-mini-graph::before {
    content: 'Position moyenne (à venir)';
}

/* === RESPONSIVE SMART-GRID === */
/* Tablettes : 2 colonnes */
@media (max-width: 1024px) {
    #avision-dashboard-root #keywordScrollArea #keywordStrategicTags,
    #avision-dashboard-root .radar-management-drawer .keyword-strategic-tags {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
/* Mobiles : 1 colonne */
@media (max-width: 640px) {
    #avision-dashboard-root #keywordScrollArea #keywordStrategicTags,
    #avision-dashboard-root .radar-management-drawer .keyword-strategic-tags {
        grid-template-columns: 1fr !important;
    }
    #avision-dashboard-root .radar-tabs {
        flex-direction: column;
        gap: 0.25rem;
    }
    #avision-dashboard-root .radar-tab {
        width: 100%;
        text-align: center;
    }
}

/* --- Side Panel L21 : Annuaires Élites (Autorité Externe) --- */
#avision-dashboard-root .l21-authority-panel {
    padding: 0 0 1rem;
    margin-top: 1.25rem;
}
#avision-dashboard-root .l21-authority-panel h3 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--primary-dark, #0f172a);
    margin: 0 0 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
#avision-dashboard-root .l21-authority-panel h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--primary-dark, #0f172a);
    margin: 1rem 0 0.5rem;
}
#avision-dashboard-root .l21-authority-panel p {
    margin: 0 0 0.75rem;
    line-height: 1.5;
    color: var(--text-muted, #475569);
}
#avision-dashboard-root .l21-validated-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}
#avision-dashboard-root .l21-validated-list li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0;
    font-size: 0.95rem;
    color: #059669;
}
#avision-dashboard-root .l21-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    font-weight: 700;
    background: var(--primary, #3b82f6);
    color: #fff !important;
    border-radius: 10px;
    text-decoration: none;
    margin-top: 0.5rem;
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}
#avision-dashboard-root .l21-cta:hover {
    background: var(--primary-dark, #1d4ed8);
    color: #fff !important;
    transform: translateY(-1px);
}
#avision-dashboard-root .l21-nap-reminder {
    font-size: 0.9rem;
    color: var(--text-muted, #64748b);
    background: #f1f5f9;
    padding: 0.6rem 0.75rem;
    border-radius: 8px;
    border-left: 3px solid var(--primary, #3b82f6);
    margin-top: 1rem !important;
}
#avision-dashboard-root .l21-authority-panel .l21-saviez-vous {
    margin-top: 1rem;
}

/* Compteur + barre de progression L21 */
#avision-dashboard-root .l21-progress-header {
    margin-bottom: 0.75rem;
}
#avision-dashboard-root .l21-progress-header .l21-count-text {
    margin: 0 0 0.4rem;
}
#avision-dashboard-root .l21-progress-bar-wrap {
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    overflow: hidden;
}
#avision-dashboard-root .l21-progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary, #3b82f6), #059669);
    border-radius: 3px;
    transition: width 0.35s ease;
}

/* Zone bouton Sceller L21 */
#avision-dashboard-root .l21-action-zone {
    margin-top: 0.75rem;
}
#avision-dashboard-root .btn-verify-l21 {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.2rem;
    font-size: 0.95rem;
    font-weight: 700;
    background: #059669;
    color: #fff !important;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}
#avision-dashboard-root .btn-verify-l21:hover:not(:disabled) {
    background: #047857;
    transform: translateY(-1px);
}
#avision-dashboard-root .btn-verify-l21:disabled {
    opacity: 0.8;
    cursor: not-allowed;
}
#avision-dashboard-root .btn-verify-l21.l21-btn-sealed {
    background: #94a3b8;
    color: #fff !important;
    cursor: not-allowed;
}
#avision-dashboard-root .btn-verify-l21.l21-btn-sealed:hover {
    background: #94a3b8;
    transform: none;
}

/* Bloc countdown L21 (timer 10j actif) */
#avision-dashboard-root .l21-timer-block {
    margin: 0.75rem 0;
    padding: 0.75rem 1rem;
    background: #f1f5f9;
    border-radius: 10px;
    border-left: 4px solid var(--primary, #3b82f6);
}
#avision-dashboard-root .l21-timer-block .l21-timer-message {
    margin: 0;
    font-size: 0.95rem;
    color: var(--text-muted, #475569);
}
#avision-dashboard-root .l21-panel-countdown {
    color: var(--primary-dark, #0f172a);
    font-family: monospace;
    font-size: 1.05rem;
}
#avision-dashboard-root .btn-verify-l21.l21-btn-loading .l21-spinner {
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: l21-spin 0.7s linear infinite;
}
@keyframes l21-spin {
    to { transform: rotate(360deg); }
}

/* Scintillement liste validés L21 */
#avision-dashboard-root .l21-validated-list.l21-list-shimmer li {
    animation: l21-shimmer 0.6s ease;
}
@keyframes l21-shimmer {
    0% { opacity: 0.5; transform: scale(0.98); }
    50% { opacity: 1; transform: scale(1.02); }
    100% { opacity: 1; transform: scale(1); }
}

/* CRON & Vérification (admin) — bloc premium-dashboard pour tester les CRON / Mode Gardien */
.avi-cron-verify-wrap {
    margin: 1.5rem 0;
    padding: 1rem;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.avi-cron-verify-panel { max-width: 900px; }
.avi-cron-verify-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: var(--text-main);
}
.avi-cron-verify-loading,
.avi-cron-verify-error { color: var(--text-muted); padding: 0.5rem 0; }
.avi-cron-verify-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}
.avi-cron-verify-card {
    padding: 0.75rem;
    background: var(--bg-app);
    border-radius: 8px;
    border: 1px solid var(--border-color);
}
.avi-cron-verify-card strong { display: block; font-size: 0.85rem; color: var(--text-muted); margin-bottom: 0.25rem; }
.avi-cron-verify-card p { margin: 0; font-size: 0.95rem; }
.avi-cron-verify-logs,
.avi-cron-verify-posts { margin-bottom: 1rem; }
.avi-cron-verify-logs strong,
.avi-cron-verify-posts strong { font-size: 0.9rem; color: var(--text-muted); }
.avi-cron-verify-log-list,
.avi-cron-verify-post-list {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0 0;
    max-height: 200px;
    overflow-y: auto;
    font-size: 0.85rem;
}
.avi-cron-verify-log-item,
.avi-cron-verify-post-list li {
    padding: 0.35rem 0.5rem;
    border-left: 3px solid var(--border-color);
    margin-bottom: 0.25rem;
    background: #f8fafc;
}
.avi-cron-verify-log-item.status-blocked { border-left-color: var(--danger-soft); }
.avi-cron-verify-log-item.status-ok { border-left-color: var(--success-soft); }
.avi-cron-verify-actions { margin-top: 1rem; display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.avi-cron-verify-btn-run { cursor: pointer; }
.avi-cron-verify-result { font-size: 0.9rem; color: var(--text-muted); }

/* --- Fix "Vitre Invisible" (Display Toggle) : le conteneur du chat ne prend aucune place s'il n'est pas actif --- */
#div-chat-container:not(.active) {
    display: none !important;
}
#avi-chat-trigger {
    display: block !important;
    position: fixed;
    z-index: 1000001 !important;
    pointer-events: auto !important;
}
#div-chat-container.active {
    display: block !important;
    z-index: 999999 !important;
}

/* --- Fix "Ghost Chips" : neutralisation des suggestions de chat tant qu'elles ne sont pas actives --- */
#chatSuggestions,
.chat-suggestions {
    pointer-events: none !important;
    z-index: 1 !important;
}
#div-chat-container.active #chatSuggestions {
    pointer-events: auto !important;
    z-index: 999999 !important;
}

