/**
 * LinkedIn AI Coach — UX upgrade (v3.46.0)
 * ------------------------------------------
 * 6 chantiers UX/UI :
 *   1. LAC_StatusBar       — bandeau MACRO/MESO/MICRO (Nielsen H1)
 *   2. LAC_ErrorPedagogy   — cards d'erreur pedagogiques (Hulick)
 *   3. LAC_PersonaTheater  — animation des personas qui votent en temps reel (Growth.Design)
 *   4. LAC_Disclosure      — progressive disclosure (Frost / Atomic Design)
 *   5. LAC_FactoryLine     — visualisation 4 phases avec transformations (Torres)
 *   6. LAC_TargetBar       — refonte hierarchie du panneau cible (consensus 8 experts)
 *
 * Fichier additif — n'ecrase rien dans style.css. Charge APRES style.css.
 *
 * ⚠ ELEMENTOR-PROOF : ce site utilise Elementor qui surcharge agressivement via
 *   `.elementor-widget *`, theme global sur button/select/details, inline styles.
 *   Pour eviter que nos styles sautent :
 *     1. PREFIX `body #lac-app-container` (ou `body > X` pour les floating) sur
 *        chaque selecteur visuel — boost de specificite (0,1,1,X) vs Elementor.
 *     2. !important sur TOUTE propriete visuelle (bg, color, border, padding,
 *        font, transform, transition, box-shadow, opacity, display).
 *     3. RESET defensif des balises Elementor cible (button, summary, details,
 *        select, label, input) dans nos modules : font-family, line-height,
 *        text-transform, letter-spacing.
 *     4. Animations CSS gardent leur nom (specificite N/A).
 */

:root {
  --lac-ux-bg: #ffffff;
  --lac-ux-bg-soft: #f8fafc;
  --lac-ux-border: #e2e8f0;
  --lac-ux-text: #1e293b;
  --lac-ux-muted: #64748b;
  --lac-ux-accent: #3b82f6;
  --lac-ux-accent-dark: #1d4ed8;
  --lac-ux-success: #10b981;
  --lac-ux-warning: #f59e0b;
  --lac-ux-danger: #ef4444;
  --lac-ux-violet: #8b5cf6;
}

/* ==========================================================================
   ELEMENTOR DEFENSIVE RESET — applies inside our modules only
   ========================================================================== */
body #lac-app-container .lac-ux-reset,
body #lac-app-container #lac-statusbar *,
body #lac-app-container #lac-factory-line *,
body #lac-app-container .lac-persona-theater *,
body #lac-app-container .lac-err-card *,
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced *,
body > #lac-mo-toggle-floating,
body > #lac-mo-toggle-floating * {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  box-sizing: border-box !important;
}

/* ==========================================================================
   CHANTIER 1 — Status bar MACRO / MESO / MICRO
   ========================================================================== */

body #lac-app-container #lac-statusbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lac-ux-border) !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06) !important;
  padding: 14px 18px 12px !important;
  margin: 0 -18px 18px !important;
  display: none !important;
  font-family: inherit !important;
  animation: lacStatusBarSlideDown 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
  text-align: left !important;
}
body #lac-app-container #lac-statusbar.lac-sb-visible { display: block !important; }
body #lac-app-container #lac-statusbar.lac-sb-final-success { background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%) !important; border-bottom-color: #86efac !important; }
body #lac-app-container #lac-statusbar.lac-sb-final-warning { background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%) !important; border-bottom-color: #fde047 !important; }
body #lac-app-container #lac-statusbar.lac-sb-final-error   { background: linear-gradient(180deg, #fef2f2 0%, #fee2e2 100%) !important; border-bottom-color: #fca5a5 !important; }

@keyframes lacStatusBarSlideDown {
  from { transform: translateY(-100%); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

/* MACRO row — 4 phases */
body #lac-app-container #lac-statusbar .lac-sb-macro {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body #lac-app-container #lac-statusbar .lac-sb-phase {
  position: relative !important;
  padding: 8px 10px 9px !important;
  margin: 0 !important;
  border-radius: 10px !important;
  background: var(--lac-ux-bg-soft) !important;
  border: 1px solid var(--lac-ux-border) !important;
  font-size: 12px !important;
  color: var(--lac-ux-muted) !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
body #lac-app-container #lac-statusbar .lac-sb-phase-name {
  display: block !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  margin: 0 0 4px 0 !important;
  color: inherit !important;
}
body #lac-app-container #lac-statusbar .lac-sb-phase-detail {
  display: block !important;
  font-size: 11px !important;
  color: var(--lac-ux-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body #lac-app-container #lac-statusbar .lac-sb-phase-bar {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 3px !important;
  width: 0% !important;
  background: var(--lac-ux-accent) !important;
  transition: width 0.5s ease !important;
  border-radius: 0 !important;
}
body #lac-app-container #lac-statusbar .lac-sb-phase.lac-sb-active {
  background: #eff6ff !important;
  border-color: var(--lac-ux-accent) !important;
  color: var(--lac-ux-accent-dark) !important;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15) !important;
}
body #lac-app-container #lac-statusbar .lac-sb-phase.lac-sb-active .lac-sb-phase-name { color: var(--lac-ux-accent-dark) !important; }
body #lac-app-container #lac-statusbar .lac-sb-phase.lac-sb-active .lac-sb-phase-bar  { background: var(--lac-ux-accent) !important; animation: lacPhasePulse 1.6s ease-in-out infinite !important; }
body #lac-app-container #lac-statusbar .lac-sb-phase.lac-sb-done   { background: #f0fdf4 !important; border-color: #86efac !important; color: #166534 !important; }
body #lac-app-container #lac-statusbar .lac-sb-phase.lac-sb-done .lac-sb-phase-name { color: #166534 !important; }
body #lac-app-container #lac-statusbar .lac-sb-phase.lac-sb-done .lac-sb-phase-bar  { width: 100% !important; background: var(--lac-ux-success) !important; }
body #lac-app-container #lac-statusbar .lac-sb-phase.lac-sb-done::after {
  content: "✓" !important;
  position: absolute !important;
  top: 6px !important;
  right: 8px !important;
  font-size: 12px !important;
  color: var(--lac-ux-success) !important;
  font-weight: 800 !important;
  animation: lacCheckPop 0.4s ease-out !important;
}
body #lac-app-container #lac-statusbar .lac-sb-phase.lac-sb-failed { background: #fef2f2 !important; border-color: #fca5a5 !important; color: #991b1b !important; }

@keyframes lacPhasePulse {
  0%, 100% { opacity: 0.7; }
  50%      { opacity: 1; box-shadow: 0 0 12px rgba(59, 130, 246, 0.6); }
}
@keyframes lacCheckPop {
  0%   { transform: scale(0) rotate(-180deg); opacity: 0; }
  60%  { transform: scale(1.4) rotate(0); opacity: 1; }
  100% { transform: scale(1) rotate(0); opacity: 1; }
}

/* MESO row */
body #lac-app-container #lac-statusbar .lac-sb-meso {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 14px !important;
  color: var(--lac-ux-text) !important;
  font-weight: 600 !important;
  margin: 0 0 6px 0 !important;
  min-height: 22px !important;
  padding: 0 !important;
}
body #lac-app-container #lac-statusbar .lac-sb-meso-icon {
  width: 18px !important;
  height: 18px !important;
  border: 2px solid var(--lac-ux-accent) !important;
  border-top-color: transparent !important;
  border-radius: 50% !important;
  animation: lacSpin 0.9s linear infinite !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  display: inline-block !important;
}
body #lac-app-container #lac-statusbar .lac-sb-meso-icon.lac-sb-done { border-color: var(--lac-ux-success) !important; border-top-color: var(--lac-ux-success) !important; animation: none !important; }
body #lac-app-container #lac-statusbar .lac-sb-meso-icon.lac-sb-failed { border-color: var(--lac-ux-danger) !important; border-top-color: var(--lac-ux-danger) !important; animation: none !important; }
body #lac-app-container #lac-statusbar .lac-sb-meso-icon.lac-sb-done::before {
  content: "✓" !important; display: block !important; text-align: center !important; color: var(--lac-ux-success) !important; font-weight: 800 !important; line-height: 14px !important; font-size: 12px !important;
}
body #lac-app-container #lac-statusbar .lac-sb-meso-text { flex: 1 !important; color: inherit !important; }
body #lac-app-container #lac-statusbar .lac-sb-meso-count {
  background: var(--lac-ux-bg-soft) !important;
  border: 1px solid var(--lac-ux-border) !important;
  padding: 2px 9px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  color: var(--lac-ux-muted) !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}
body #lac-app-container #lac-statusbar .lac-sb-meso-count.lac-sb-progress { background: #eff6ff !important; border-color: #93c5fd !important; color: var(--lac-ux-accent-dark) !important; }

@keyframes lacSpin {
  to { transform: rotate(360deg); }
}

/* MICRO row */
body #lac-app-container #lac-statusbar .lac-sb-micro {
  font-size: 12px !important;
  color: var(--lac-ux-muted) !important;
  font-style: italic !important;
  min-height: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
  margin: 0 !important;
  padding: 0 !important;
}
body #lac-app-container #lac-statusbar .lac-sb-micro.lac-sb-fresh { opacity: 1 !important; }
body #lac-app-container #lac-statusbar .lac-sb-micro-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--lac-ux-accent) !important;
  flex-shrink: 0 !important;
  animation: lacMicroDot 1.4s ease-in-out infinite !important;
  display: inline-block !important;
}
@keyframes lacMicroDot {
  0%, 100% { opacity: 0.4; transform: scale(0.8); }
  50%      { opacity: 1; transform: scale(1.2); }
}
body #lac-app-container #lac-statusbar .lac-sb-micro.lac-sb-success .lac-sb-micro-dot { background: var(--lac-ux-success) !important; animation: none !important; }
body #lac-app-container #lac-statusbar .lac-sb-micro.lac-sb-failed  .lac-sb-micro-dot { background: var(--lac-ux-danger) !important;  animation: none !important; }
body #lac-app-container #lac-statusbar .lac-sb-micro-text { color: inherit !important; flex: 1 !important; }

body #lac-app-container #lac-statusbar .lac-sb-dismiss {
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: var(--lac-ux-muted) !important;
  cursor: pointer !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  display: none !important;
  box-shadow: none !important;
  font-weight: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
body #lac-app-container #lac-statusbar .lac-sb-dismiss:hover { background: rgba(0, 0, 0, 0.05) !important; color: var(--lac-ux-text) !important; }
body #lac-app-container #lac-statusbar.lac-sb-final-success .lac-sb-dismiss,
body #lac-app-container #lac-statusbar.lac-sb-final-warning .lac-sb-dismiss,
body #lac-app-container #lac-statusbar.lac-sb-final-error   .lac-sb-dismiss { display: block !important; }


/* ==========================================================================
   CHANTIER 2 — Error pedagogy cards
   ========================================================================== */

body #lac-app-container .lac-err-card {
  border-radius: 14px !important;
  padding: 20px 22px !important;
  margin: 18px 0 !important;
  border: 0 !important;
  border-left: 4px solid var(--lac-ux-warning) !important;
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.12) !important;
  animation: lacErrCardSlideIn 0.4s ease-out !important;
  color: var(--lac-ux-text) !important;
  font-family: inherit !important;
}
body #lac-app-container .lac-err-card.lac-err-danger { border-left-color: var(--lac-ux-danger) !important; background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important; }
body #lac-app-container .lac-err-card.lac-err-info   { border-left-color: var(--lac-ux-accent) !important; background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important; }

@keyframes lacErrCardSlideIn {
  from { transform: translateY(-8px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

body #lac-app-container .lac-err-card .lac-err-card-title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--lac-ux-text) !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
body #lac-app-container .lac-err-card .lac-err-card-title-icon { font-size: 22px !important; line-height: 1 !important; }
body #lac-app-container .lac-err-card .lac-err-card-body {
  font-size: 14px !important;
  color: var(--lac-ux-text) !important;
  line-height: 1.55 !important;
  margin: 0 0 14px 0 !important;
}
body #lac-app-container .lac-err-card .lac-err-card-diagnosis {
  background: rgba(255, 255, 255, 0.7) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  margin: 12px 0 !important;
  border: 0 !important;
}
body #lac-app-container .lac-err-card .lac-err-card-diagnosis-list {
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
body #lac-app-container .lac-err-card .lac-err-card-diagnosis-item {
  font-size: 13px !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.08) !important;
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  margin: 0 !important;
  list-style: none !important;
}
body #lac-app-container .lac-err-card .lac-err-card-diagnosis-item:last-child { border-bottom: 0 !important; }
body #lac-app-container .lac-err-card .lac-err-card-diagnosis-score {
  font-weight: 800 !important;
  color: var(--lac-ux-warning) !important;
  font-size: 14px !important;
  font-variant-numeric: tabular-nums !important;
  flex-shrink: 0 !important;
  min-width: 56px !important;
}
body #lac-app-container .lac-err-card .lac-err-card-diagnosis-score.lac-err-bad { color: var(--lac-ux-danger) !important; }
body #lac-app-container .lac-err-card .lac-err-card-diagnosis-text { flex: 1 !important; color: var(--lac-ux-text) !important; }
body #lac-app-container .lac-err-card .lac-err-card-diagnosis-text strong { color: var(--lac-ux-text) !important; font-weight: 700 !important; }
body #lac-app-container .lac-err-card .lac-err-card-actions {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 14px !important;
  padding: 0 !important;
}
body #lac-app-container .lac-err-card .lac-err-card-actions .lac-button {
  font-size: 13px !important;
  padding: 9px 16px !important;
  border-radius: 8px !important;
}


/* ==========================================================================
   CHANTIER 3 — Persona Theater
   ========================================================================== */

body #lac-app-container .lac-persona-theater {
  background: linear-gradient(180deg, #fafbff 0%, #f1f5ff 100%) !important;
  border: 1px solid #c7d2fe !important;
  border-radius: 16px !important;
  padding: 20px !important;
  margin: 16px 0 !important;
  animation: lacErrCardSlideIn 0.4s ease-out !important;
  box-shadow: none !important;
  font-family: inherit !important;
  color: var(--lac-ux-text) !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-theater-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 14px 0 !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-theater-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--lac-ux-text) !important;
  margin: 0 !important;
  flex: 1 !important;
  padding: 0 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-theater-stats {
  display: flex !important;
  gap: 12px !important;
  font-size: 12px !important;
  color: var(--lac-ux-muted) !important;
  flex-wrap: wrap !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-theater-stat {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px 9px !important;
  background: white !important;
  border-radius: 999px !important;
  border: 1px solid var(--lac-ux-border) !important;
  color: inherit !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-theater-stat-num { font-weight: 800 !important; color: var(--lac-ux-text) !important; font-variant-numeric: tabular-nums !important; }

body #lac-app-container .lac-persona-theater .lac-persona-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell {
  position: relative !important;
  background: white !important;
  border: 1.5px solid var(--lac-ux-border) !important;
  border-radius: 12px !important;
  padding: 12px !important;
  margin: 0 !important;
  min-height: 110px !important;
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
  opacity: 0.55 !important;
  transform: translateY(4px) !important;
  box-shadow: none !important;
  list-style: none !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-waiting { border-style: dashed !important; }
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voting {
  opacity: 1 !important;
  transform: translateY(0) !important;
  border-color: var(--lac-ux-accent) !important;
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.18) !important;
  animation: lacPersonaVoting 1.2s ease-in-out infinite !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-stop {
  opacity: 1 !important;
  transform: translateY(0) !important;
  border-color: var(--lac-ux-success) !important;
  background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%) !important;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.18) !important;
  animation: lacPersonaVoteIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-scroll {
  opacity: 1 !important;
  transform: translateY(0) !important;
  border-color: var(--lac-ux-warning) !important;
  background: linear-gradient(135deg, #ffffff 0%, #fffbeb 100%) !important;
  animation: lacPersonaVoteIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-ignore {
  opacity: 0.7 !important;
  transform: translateY(0) !important;
  border-color: var(--lac-ux-danger) !important;
  background: linear-gradient(135deg, #ffffff 0%, #fef2f2 100%) !important;
  animation: lacPersonaVoteIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-failed {
  opacity: 0.5 !important;
  border-color: var(--lac-ux-muted) !important;
  border-style: dashed !important;
  background: var(--lac-ux-bg-soft) !important;
}

@keyframes lacPersonaVoting {
  0%, 100% { box-shadow: 0 4px 16px rgba(59, 130, 246, 0.18); }
  50%      { box-shadow: 0 4px 24px rgba(59, 130, 246, 0.42); }
}
@keyframes lacPersonaVoteIn {
  0%   { transform: scale(0.92); }
  60%  { transform: scale(1.04); }
  100% { transform: scale(1); }
}

body #lac-app-container .lac-persona-theater .lac-persona-cell-name {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--lac-ux-text) !important;
  line-height: 1.3 !important;
  margin: 0 0 3px 0 !important;
  padding: 0 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell-role {
  font-size: 11px !important;
  color: var(--lac-ux-muted) !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  font-weight: normal !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: var(--lac-ux-bg-soft) !important;
  color: var(--lac-ux-muted) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
body #lac-app-container .lac-persona-theater .lac-pc-voting .lac-persona-cell-status { background: #dbeafe !important; color: var(--lac-ux-accent-dark) !important; }
body #lac-app-container .lac-persona-theater .lac-pc-voted-stop  .lac-persona-cell-status { background: #dcfce7 !important; color: #166534 !important; }
body #lac-app-container .lac-persona-theater .lac-pc-voted-scroll .lac-persona-cell-status { background: #fef3c7 !important; color: #92400e !important; }
body #lac-app-container .lac-persona-theater .lac-pc-voted-ignore .lac-persona-cell-status { background: #fee2e2 !important; color: #991b1b !important; }
body #lac-app-container .lac-persona-theater .lac-pc-failed      .lac-persona-cell-status { background: #fee2e2 !important; color: #991b1b !important; }
body #lac-app-container .lac-persona-theater .lac-persona-cell-verbatim {
  margin: 8px 0 0 0 !important;
  font-size: 11px !important;
  font-style: italic !important;
  color: var(--lac-ux-text) !important;
  line-height: 1.4 !important;
  border: 0 !important;
  border-left: 2px solid currentColor !important;
  padding: 0 0 0 8px !important;
  opacity: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  transition: opacity 0.3s ease 0.1s, max-height 0.3s ease 0.1s !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-stop  .lac-persona-cell-verbatim,
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-scroll .lac-persona-cell-verbatim,
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-ignore .lac-persona-cell-verbatim { opacity: 0.85 !important; max-height: 80px !important; }

body #lac-app-container .lac-persona-theater .lac-persona-cell-icon {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  font-size: 14px !important;
  opacity: 0 !important;
  transform: scale(0) !important;
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
  line-height: 1 !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-stop   .lac-persona-cell-icon,
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-scroll .lac-persona-cell-icon,
body #lac-app-container .lac-persona-theater .lac-persona-cell.lac-pc-voted-ignore .lac-persona-cell-icon { opacity: 1 !important; transform: scale(1) !important; }

body #lac-app-container .lac-persona-theater .lac-persona-theater-hookpreview {
  background: white !important;
  border: 1px solid var(--lac-ux-border) !important;
  border-left: 3px solid var(--lac-ux-accent) !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 13px !important;
  font-style: italic !important;
  color: var(--lac-ux-text) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.45 !important;
}
body #lac-app-container .lac-persona-theater .lac-persona-theater-hookpreview-label {
  display: block !important;
  font-style: normal !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--lac-ux-muted) !important;
  margin: 0 0 4px 0 !important;
}


/* ==========================================================================
   CHANTIER 4 — Progressive disclosure
   ========================================================================== */

body #lac-app-container .lac-disclosure-hidden { display: none !important; }
body #lac-app-container .lac-disclosure-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--lac-ux-muted) !important;
  cursor: pointer !important;
  padding: 4px 0 !important;
  margin: 8px 12px 0 0 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(100, 116, 139, 0.4) !important;
  text-underline-offset: 2px !important;
  font-family: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}
body #lac-app-container .lac-disclosure-toggle:hover { color: var(--lac-ux-accent-dark) !important; text-decoration-color: var(--lac-ux-accent) !important; background: transparent !important; }
body #lac-app-container .lac-disclosure-toggle::before {
  content: "▸" !important;
  display: inline-block !important;
  transition: transform 0.2s ease !important;
  font-size: 10px !important;
}
body #lac-app-container .lac-disclosure-toggle.lac-disclosure-open::before { transform: rotate(90deg) !important; }

body #lac-app-container .lac-disclosure-bar {
  margin: 10px 0 0 0 !important;
  padding: 10px 0 0 0 !important;
  border: 0 !important;
  border-top: 1px dashed var(--lac-ux-border) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

body #lac-app-container #lac-makingof-panel {
  background: linear-gradient(180deg, #ffffff 0%, #fafbff 100%) !important;
  border: 1px solid #c7d2fe !important;
  border-radius: 14px !important;
  padding: 20px !important;
  margin: 18px 0 !important;
  display: none !important;
  color: var(--lac-ux-text) !important;
}
body #lac-app-container #lac-makingof-panel.lac-mo-open { display: block !important; animation: lacErrCardSlideIn 0.4s ease-out !important; }

body #lac-app-container #lac-makingof-panel .lac-mo-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--lac-ux-text) !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
body #lac-app-container #lac-makingof-panel .lac-mo-title-icon { font-size: 18px !important; }
body #lac-app-container #lac-makingof-panel .lac-mo-subtitle {
  font-size: 12px !important;
  color: var(--lac-ux-muted) !important;
  margin: 0 0 14px 0 !important;
}
body #lac-app-container #lac-makingof-panel .lac-mo-section {
  background: white !important;
  border: 1px solid var(--lac-ux-border) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  margin: 0 0 10px 0 !important;
}
body #lac-app-container #lac-makingof-panel .lac-mo-section h4 {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--lac-ux-text) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
body #lac-app-container #lac-makingof-panel .lac-mo-section-content {
  font-size: 12px !important;
  color: var(--lac-ux-text) !important;
  line-height: 1.5 !important;
}

/* Bouton flottant — vit DIRECTEMENT sous body, donc max specificity body > */
body > #lac-mo-toggle-floating {
  position: fixed !important;
  bottom: 18px !important;
  right: 18px !important;
  z-index: 8500 !important;
  background: white !important;
  border: 1px solid var(--lac-ux-border) !important;
  border-radius: 999px !important;
  padding: 9px 16px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--lac-ux-text) !important;
  cursor: pointer !important;
  box-shadow: 0 6px 22px rgba(15, 23, 42, 0.12) !important;
  display: none !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
}
body > #lac-mo-toggle-floating:hover { background: var(--lac-ux-bg-soft) !important; border-color: var(--lac-ux-accent) !important; }
body > #lac-mo-toggle-floating.lac-mo-visible { display: inline-flex !important; }


/* ==========================================================================
   CHANTIER 5 — Factory line
   ========================================================================== */

body #lac-app-container #lac-factory-line {
  display: none !important;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid var(--lac-ux-border) !important;
  border-radius: 16px !important;
  padding: 18px 16px 22px !important;
  margin: 16px 0 22px 0 !important;
  box-shadow: 0 6px 22px rgba(15, 23, 42, 0.06) !important;
  overflow: hidden !important;
  color: var(--lac-ux-text) !important;
}
body #lac-app-container #lac-factory-line.lac-fl-visible { display: block !important; animation: lacErrCardSlideIn 0.4s ease-out !important; }

body #lac-app-container #lac-factory-line .lac-fl-title {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: var(--lac-ux-text) !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}

body #lac-app-container #lac-factory-line .lac-fl-track {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body #lac-app-container #lac-factory-line .lac-fl-stage {
  background: var(--lac-ux-bg-soft) !important;
  border: 1px solid var(--lac-ux-border) !important;
  border-radius: 12px !important;
  padding: 12px 10px 10px !important;
  margin: 0 !important;
  text-align: center !important;
  position: relative !important;
  min-height: 96px !important;
  transition: all 0.4s ease !important;
  box-shadow: none !important;
  color: var(--lac-ux-text) !important;
}
body #lac-app-container #lac-factory-line .lac-fl-stage-name {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--lac-ux-muted) !important;
  display: block !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
body #lac-app-container #lac-factory-line .lac-fl-stage-count {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: var(--lac-ux-text) !important;
  display: block !important;
  line-height: 1.1 !important;
  font-variant-numeric: tabular-nums !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: normal !important;
}
body #lac-app-container #lac-factory-line .lac-fl-stage-unit {
  font-size: 10px !important;
  color: var(--lac-ux-muted) !important;
  display: block !important;
  line-height: 1.2 !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-weight: normal !important;
}
body #lac-app-container #lac-factory-line .lac-fl-arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  color: var(--lac-ux-border) !important;
  font-weight: 800 !important;
  transition: color 0.3s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
body #lac-app-container #lac-factory-line .lac-fl-arrow.lac-fl-flowing {
  color: var(--lac-ux-accent) !important;
  animation: lacFlArrowPulse 1.2s ease-in-out infinite !important;
}
@keyframes lacFlArrowPulse {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(4px); }
}
body #lac-app-container #lac-factory-line .lac-fl-stage.lac-fl-active {
  background: #eff6ff !important;
  border-color: var(--lac-ux-accent) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12) !important;
}
body #lac-app-container #lac-factory-line .lac-fl-stage.lac-fl-active .lac-fl-stage-name  { color: var(--lac-ux-accent-dark) !important; }
body #lac-app-container #lac-factory-line .lac-fl-stage.lac-fl-active .lac-fl-stage-count { color: var(--lac-ux-accent-dark) !important; }
body #lac-app-container #lac-factory-line .lac-fl-stage.lac-fl-done {
  background: #f0fdf4 !important;
  border-color: #86efac !important;
}
body #lac-app-container #lac-factory-line .lac-fl-stage.lac-fl-done .lac-fl-stage-name  { color: #166534 !important; }
body #lac-app-container #lac-factory-line .lac-fl-stage.lac-fl-done .lac-fl-stage-count { color: #166534 !important; }
body #lac-app-container #lac-factory-line .lac-fl-stage.lac-fl-incrementing .lac-fl-stage-count { animation: lacCountIncrement 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important; }
@keyframes lacCountIncrement {
  0%   { transform: scale(1); color: var(--lac-ux-text); }
  50%  { transform: scale(1.25); color: var(--lac-ux-success); }
  100% { transform: scale(1); }
}

body #lac-app-container #lac-factory-line .lac-fl-recent {
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  min-height: 22px !important;
}
body #lac-app-container #lac-factory-line .lac-fl-recent-chip {
  font-size: 11px !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  background: var(--lac-ux-bg-soft) !important;
  border: 1px solid var(--lac-ux-border) !important;
  color: var(--lac-ux-muted) !important;
  animation: lacChipPop 0.3s ease-out !important;
  font-weight: normal !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
body #lac-app-container #lac-factory-line .lac-fl-recent-chip.lac-fl-chip-success { background: #dcfce7 !important; border-color: #86efac !important; color: #166534 !important; }
body #lac-app-container #lac-factory-line .lac-fl-recent-chip.lac-fl-chip-warning { background: #fef3c7 !important; border-color: #fde047 !important; color: #92400e !important; }
body #lac-app-container #lac-factory-line .lac-fl-recent-chip.lac-fl-chip-failed  { background: #fee2e2 !important; border-color: #fca5a5 !important; color: #991b1b !important; }
@keyframes lacChipPop {
  from { transform: translateY(-4px) scale(0.9); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}


/* ==========================================================================
   CHANTIER 6 — LAC_TargetBar refinement
   ==========================================================================
   Scopage TRIPLE pour battre Elementor : body + #lac-app-container + .lac-tb2-refined */

body #lac-app-container .lac-tb2-refined .lac-tb2-hidden,
body #lac-app-container .lac-tb2-hidden { display: none !important; }

/* Bouton Modifier — passe d'outline rouge à icône discrète */
body #lac-app-container .lac-tb2-refined .lac-target-bar-edit-btn {
  font-size: 12px !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  background: transparent !important;
  border: 1px solid var(--lac-ux-border) !important;
  color: var(--lac-ux-muted) !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
  font-family: inherit !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
body #lac-app-container .lac-tb2-refined .lac-target-bar-edit-btn:hover {
  background: var(--lac-ux-bg-soft) !important;
  color: var(--lac-ux-accent-dark) !important;
  border-color: var(--lac-ux-accent) !important;
}
body #lac-app-container .lac-tb2-refined .lac-target-bar-edit-btn::before {
  content: "✎" !important;
  font-size: 13px !important;
  line-height: 1 !important;
  display: inline-block !important;
}

/* Header */
body #lac-app-container .lac-tb2-refined .lac-target-bar-header {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}
body #lac-app-container .lac-tb2-refined .lac-target-bar-label {
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: var(--lac-ux-text) !important;
  font-family: inherit !important;
  line-height: 1.3 !important;
}

/* Tag pool — passe de SLUG-CAPS-DASH à pill lisible */
body #lac-app-container .lac-tb2-refined .lac-target-bar-source-tag {
  text-transform: none !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  background: rgba(139, 92, 246, 0.10) !important;
  color: #6d28d9 !important;
  padding: 3px 11px !important;
  border-radius: 999px !important;
  letter-spacing: normal !important;
  font-family: inherit !important;
  border: 0 !important;
  line-height: 1.4 !important;
  display: inline-block !important;
}
body #lac-app-container .lac-tb2-refined .lac-target-bar-value {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: var(--lac-ux-text) !important;
  font-family: inherit !important;
}

/* Section "Options avancées" — collapsible */
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced {
  margin: 12px 0 0 0 !important;
  padding: 12px 0 0 0 !important;
  border: 0 !important;
  border-top: 1px dashed var(--lac-ux-border) !important;
  background: transparent !important;
  display: block !important;
}
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced summary {
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--lac-ux-muted) !important;
  padding: 4px 0 !important;
  margin: 0 !important;
  outline: none !important;
  list-style: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  user-select: none !important;
  transition: color 0.15s ease !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  background: transparent !important;
  border: 0 !important;
  font-family: inherit !important;
  line-height: 1.4 !important;
}
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced summary::before {
  content: "▸" !important;
  display: inline-block !important;
  transition: transform 0.2s ease !important;
  font-size: 10px !important;
  color: var(--lac-ux-muted) !important;
}
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced[open] summary::before { transform: rotate(90deg) !important; }
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced summary:hover { color: var(--lac-ux-accent-dark) !important; }
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced summary::-webkit-details-marker { display: none !important; }
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced summary::marker { content: "" !important; }

body #lac-app-container .lac-tb2-refined .lac-tb2-advanced-content {
  padding: 10px 0 0 0 !important;
  margin: 0 !important;
}

/* Reset borders des rows déplacées (elles avaient des inline styles
   border-top + padding-top hérités du markup PHP) */
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced-content .lac-auto-publish-row,
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced-content .lac-postcount-row,
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced-content .lac-leadmagnet-row {
  border-top: 0 !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  border-bottom: 1px dashed var(--lac-ux-border) !important;
  background: transparent !important;
}
body #lac-app-container .lac-tb2-refined .lac-tb2-advanced-content > *:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body #lac-app-container .lac-tb2-refined .lac-auto-publish-row label strong,
body #lac-app-container .lac-tb2-refined .lac-postcount-row label strong,
body #lac-app-container .lac-tb2-refined .lac-leadmagnet-row label strong {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--lac-ux-text) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Suppressions de jargon visibles (Lecon Nielsen H2 + Lecon Cagan) */
body #lac-app-container .lac-tb2-refined .lac-auto-publish-hint { display: none !important; }
body #lac-app-container .lac-tb2-refined .lac-panel-info-row { display: none !important; }
body #lac-app-container .lac-tb2-refined .lac-postcount-hint {
  font-size: 11px !important;
  color: var(--lac-ux-muted) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-weight: normal !important;
}

@media (max-width: 760px) {
  body #lac-app-container #lac-statusbar .lac-sb-macro { grid-template-columns: repeat(2, 1fr) !important; }
  body #lac-app-container #lac-factory-line .lac-fl-track { grid-template-columns: 1fr !important; }
  body #lac-app-container #lac-factory-line .lac-fl-arrow { transform: rotate(90deg) !important; padding: 4px 0 !important; }
  body #lac-app-container #lac-factory-line .lac-fl-arrow.lac-fl-flowing { animation: lacFlArrowPulseVertical 1.2s ease-in-out infinite !important; }
  @keyframes lacFlArrowPulseVertical {
    0%, 100% { transform: rotate(90deg) translateX(0); }
    50%      { transform: rotate(90deg) translateX(4px); }
  }
  body #lac-app-container .lac-tb2-refined .lac-target-bar-header {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  body #lac-app-container .lac-tb2-refined .lac-target-bar-edit-btn {
    margin-left: auto !important;
  }
}
