/* =========================================
   FUNDGUIDE — CSS CLEAN (dé-doublonné)
   (version reorganisée + sans répétitions inutiles)
========================================= */

/* =========================================
   V09 (2026-05-07) — CLEANUP CABINET
   Les règles .fg-org-*, .fg-mode-org, etc. ciblent un HTML qui a été
   retiré (getHomeOrgSectionsHtml + plugin fundguide-org-api supprimés).
   Elles ne matchent plus aucun élément du DOM mais subsistent dans ce
   fichier (~1241 occurrences) en attente d'un cleanup CSS dédié en V10.
   Tant qu'elles sont là, elles n'ont aucun effet runtime : c'est du
   poids mort (~50ko/200ko que le navigateur parse pour rien).
========================================= */

/* =========================================
   1. VARIABLES GLOBALES
========================================= */
:root{
  --fg-bg-image: url('https://fundguide.fr/wp-content/uploads/2025/12/background3.jpg');
  --fg-bg-image-2: var(--fg-bg-image);

--fg-text: rgba(255,255,255,.92);
--fg-muted: rgba(231,241,255,.78);

  --glass-alpha:.10;
  --glass-alpha-weak:.06;
  --glass-border:rgba(255,255,255,.20);
  --fg-blur:18px;
  --fg-radius:20px;
  --fg-shadow:0 14px 36px rgba(8,21,59,.22);

  --fg-stack:clamp(32px,6vh,64px);
  --fg-stack-sm:20px;

  --fg-max-width:1120px;
  --fg-section-gap: clamp(56px, 6vh, 96px);

  /* Cards “bleues” (famille .fg-summary) */
  --fg-blue-card: linear-gradient(135deg, rgba(176,193,255,.94), rgba(132,154,255,.98));
  --fg-blue-card-border: rgba(255,255,255,.60);
  --fg-blue-card-shadow: 0 20px 48px rgba(48,78,160,.35);

  /* Primary (utilise par .fg-cta-pill, org portal, etc.) */
  --fg-primary-1: #6576FF;
  --fg-primary-2: #8A6CFF;
}

/* =========================================
   2. RESET & BASE
========================================= */
*,*::before,*::after{ box-sizing:border-box; }

html,body{
  margin:0 !important;
  overflow-x:hidden;
  min-height:100%;
  background:
    radial-gradient(900px 600px at 20% 10%, rgba(40,110,255,.35), rgba(0,0,0,0) 60%),
    radial-gradient(900px 600px at 80% 30%, rgba(0,70,255,.25), rgba(0,0,0,0) 65%),
    linear-gradient(180deg, #07122b 0%, #0b1c3f 45%, #0a2a6b 100%);
}

.wp-site-blocks{padding-top:0!important;margin-top:0!important}
.wp-site-blocks > *:first-child{margin-block-start:0!important}

/* Accessibilité */

.hidden{display:none!important}

/* WP bar */
#wpadminbar{ display:none !important; }
html{ margin-top:0 !important; }

/* empêche “margin collapse” */
.fg-hero,.fg-home-main{ display:flow-root; }

/* Focus (propre + global) */
:where(button, a, input, select, textarea):focus{ outline:none; }
:where(button, a, input, select, textarea):focus-visible{
  outline: 2px solid rgba(255,255,255,.28);
  outline-offset: 2px;
  border-radius: 12px;
}

/* =========================================
   3. HERO & TOPBAR
========================================= */
.fg-hero{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  display:flex;
  flex-direction:column;
  min-height:100svh;
  color:var(--fg-text);
  background:center/cover no-repeat fixed var(--fg-bg-image);
}
.fg-topbar,.fg-hero-inner{position:relative;z-index:1}

/* Topbar (centre VRAI au milieu de l’écran) */
.fg-topbar{
  position:relative;               /* ✅ important */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 24px;
}

/* ✅ le switch est centré sur la PAGE (pas entre logo et bouton) */
.fg-topbar-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  margin:0 !important;

  display:flex;
  justify-content:center;
  align-items:center;
}

.fg-topbar-actions{
  display:flex;
  gap:10px;
  align-items:center;
}

.fg-brand{
  display:flex;
  align-items:center;
  gap:.55rem;
  text-decoration:none;
  color:#fff;
  font-weight:700;
  letter-spacing:.2px;
}
.fg-logo-img{
  height:36px;
  width:auto;
  border-radius:8px;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
}

.fg-login-btn{
  padding:10px 20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(10,18,60,.16);
  color:#fff;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(8,21,59,.18);
  margin-top:2px;
}
.fg-login-btn:hover{background:rgba(10,18,60,.22)}
.fg-login-btn:active{transform:scale(.97)}

/* Hero inner */
.fg-hero-inner{
  width:min(var(--fg-max-width),94%);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(32px,4vh,56px);
  text-align:center;
  padding:120px 0 40px;
}

.fg-h1{
  font-size:clamp(38px,5.2vw,68px);
  line-height:1.05;
  margin:0;
}
.fg-sub{
  color:var(--fg-muted);
  margin:0;
  font-size:clamp(16px,2vw,20px);
}
.fg-hero-text{
  display:grid;
  gap:16px;
  margin-top:48px;
}

/* CTA */
.fg-hero-cta-wrap{
  margin-top:6px;
  display:flex;
  justify-content:center;
}
.fg-cta-pill{
  padding:18px 54px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.55);
  background:linear-gradient(135deg,rgba(132,170,255,.88),rgba(197,210,255,.88));
  color:#fff;
  font-weight:700;
  font-size:18px;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(12,30,88,.35);
  -webkit-tap-highlight-color:transparent;
}
.fg-cta-pill:hover{filter:brightness(1.04)}
.fg-cta-pill:active{transform:scale(.98);filter:brightness(1.06)}

/* Hero video */

/* Hero login */

.fg-login-form{
  width:min(460px,100%);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.fg-login-note{
  margin-top:10px;
  font-size:14px;
  color:#e6f0ff;
}
#fg-login-code{ text-align:center !important; }

/* =========================================
   3bis. SWITCH Startups / Organismes
========================================= */

/* =========================================
   4. HOME MAIN LAYOUT
========================================= */
.fg-home-main{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  color:#fff;
  padding:0 0 80px;
  background:center/cover no-repeat fixed var(--fg-bg-image);
}

/* largeur commune sections */

/* Espacement vertical */

/* HOME (page-id-16) — plus d’air sous les 3 cards */

/* =========================================
   5. HOME – IMPACT
========================================= */

/* =========================================
   6. HOME – NOS SERVICES (rows)
========================================= */

/* =========================================
   6bis. SERVICES – ORBIT
========================================= */

/* =========================================
   7. HOME – EXEMPLE (CAROUSEL)
========================================= */

.fg-example-carousel{
  width:100%;
  padding:20px 18px 24px;
  border-radius:24px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  box-shadow:0 16px 42px rgba(8,21,59,.30);
}

/* Toggle exemple */
.fg-example-toggle{
  width:min(620px,100%);
  margin:0 auto 18px;
  padding:4px;
  border-radius:999px;
  background:transparent;
  display:flex;
  gap:4px;
  position:relative;
}
.fg-example-highlight{
  position:absolute;
  top:3px;bottom:3px;left:3px;
  border-radius:999px;
  background:rgba(101,141,255,.96);
  box-shadow:0 6px 16px rgba(8,21,59,.35);
  width:33.33%;
  transition:transform .25s ease,width .25s ease;
}
.fg-example-tab{
  flex:1;
  border-radius:999px;
  border:none;
  padding:9px 10px;
  background:transparent;
  color:#e6f0ff;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  position:relative;
  z-index:1;
  white-space:nowrap;
}
.fg-example-tab.active{color:#fff}

/* Slides */

.fg-example-track{display:flex;transition:transform .35s ease;}

/* Synthèse profil (slide) */

/* Opportunités (slide) */

/* Plan (slide) */

/* Dots */

.fg-example-dot{width:8px;height:8px;border-radius:999px;border:none;background:rgba(255,255,255,.55);opacity:.6;cursor:pointer;}
.fg-example-dot.active{width:16px;opacity:1;}

/* =========================================
   8. HOME – PRICING
========================================= */

/* PRICING ORG : 4 cartes alignées (hauteur identique + CTA en bas) */

/* Paywall : 1 seule carte -> centrée */

/* =========================================
   9. HOME – TÉMOIGNAGES
========================================= */

/* =========================================
   10. HOME – FAQ
========================================= */

.fg-faq-item{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.06);
  box-shadow:0 8px 20px rgba(8,21,59,.20);
  overflow:hidden;
}
.fg-faq-header{
  width:100%;
  padding:20px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:transparent;
  border:none;
  color:#fff;
  font-size:16px;
  cursor:pointer;
}

/* =========================================
   11. HOME – CONTACT
========================================= */

.fg-contact-form{
  width:100%;
  padding:22px 20px 26px;
  border-radius:22px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 14px 34px rgba(8,21,59,.30);
}

/* =========================================
   12. HOME – LIENS LÉGAUX (footer)
========================================= */

.fg-legal-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}
.fg-legal-link{
  background:transparent;border:none;padding:0;
  color:#e6f0ff;text-decoration:underline;
  cursor:pointer;font:inherit;opacity:1;
}
.fg-legal-link:hover{opacity:1;}

/* =========================================
   13. APP / QUESTIONNAIRE – CONTAINER
========================================= */
.fg-app{
  position:relative;
  min-height:100dvh;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 16px;
  color:#fff;
  background:center/cover no-repeat fixed var(--fg-bg-image);
}
.fg-app-wrap{
  position:relative;
  z-index:1;
  width:min(var(--fg-max-width),96%);
  padding:26px 24px 20px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.26);
  border-radius:22px;
  backdrop-filter:blur(12px) saturate(120%) contrast(.98);
  -webkit-backdrop-filter:blur(12px) saturate(120%) contrast(.98);
  box-shadow:0 24px 60px rgba(8,21,59,.35), inset 0 1px 0 rgba(255,255,255,.35);
  overflow:visible;
}

/* Conseil financement */

/* Progression */
#fg-progress{
  height:12px;border-radius:999px;overflow:hidden;
  margin:4px 0 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 6px 12px rgba(8,21,59,.25), 0 4px 18px rgba(120,180,255,.22);
}
#fg-progress-bar{
  height:100%;width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(160,210,255,.95), rgba(150,140,255,.88));
  box-shadow:0 0 24px rgba(140,200,255,.75), inset 0 1px 1px rgba(255,255,255,.65), inset 0 -2px 6px rgba(28,61,120,.45);
}

/* Step */
#fg-step{position:relative;min-height:140px;display:flex;flex-direction:column;}

@keyframes fgStepInRight{from{opacity:0;transform:translateX(52px);}to{opacity:1;transform:translateX(0);}}
@keyframes fgStepInLeft{from{opacity:0;transform:translateX(-52px);}to{opacity:1;transform:translateX(0);}}

/* Options */

/* Chips multi */

/* Formulaire */

/* ---------- V16 : bouton "Programmes retirés" + drawer corbeille ---------- */

@keyframes fgHiddenDotPulse {
  0%,100% { box-shadow:0 0 0 1px rgba(148,163,184,.32); transform:scale(1); }
  50%     { box-shadow:0 0 0 5px rgba(148,163,184,0);   transform:scale(1.1); }
}

/* Villes */

/* Inputs / selects */

/* Boutons génériques app */

/* =========================================
   14. LOADER
========================================= */

@keyframes fgBounce{
  0%{transform:scale(1)}
  40%{transform:scale(1.08)}
  58%{transform:scale(.98)}
  75%{transform:scale(1.03)}
  100%{transform:scale(1)}
}

/* =========================================
   15. RÉSULTATS — HEADER + TOGGLE + PANELS
========================================= */
#fg-results{margin-top:28px}
.fg-results-list{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:18px;
}

.fg-results-header{
  width:min(var(--fg-max-width),96%);
  margin:0 auto 6px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.fg-results-pill{
  border-radius:999px;
  padding:6px 14px;
  border:1px solid rgba(255,255,255,.60);
  background:rgba(10,18,60,.14);
  color:#f4f7ff;
  font-size:13px;
  white-space:nowrap;
}

.fg-results-toggle-wrap{
  position:sticky;
  top:8px;
  z-index:30;
  padding:8px 0 10px;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

/* Toggle résultats — source unique (final) */
.fg-results-toggle{
  position:relative;
  width:min(var(--fg-max-width),96%);
  margin:0 auto;
  padding:4px;
  gap:4px;
  border-radius:999px;
  background:transparent;
  border:1px solid rgba(230,240,255,.70);
  box-shadow:0 8px 20px rgba(8,21,59,.35);
  display:flex;
  overflow:hidden;
}
.fg-toggle-highlight{
  position:absolute;
  top:2px;
  bottom:2px;
  left:0;
  width:0; /* JS pilote */
  border-radius:999px;
  background:rgba(101,141,255,.96);
  box-shadow:0 8px 18px rgba(8,21,59,.40);
  transform:translateX(0);
  transition:transform .25s ease,width .25s ease;
  pointer-events:none;
}
.fg-toggle-btn{
  flex:1;
  border-radius:999px;
  border:none;
  padding:10px 12px;
  background:transparent;
  color:#e6f0ff;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  position:relative;
  z-index:1;
  white-space:nowrap;
}
.fg-toggle-btn.active{color:#fff}

/* Supprime outlines/borders moches sur onglets */
.fg-results-toggle button,.fg-results-toggle .fg-toggle-btn{
  outline:none !important;
  box-shadow:none !important;
  border:none !important;
}

.fg-results-panels{margin-top:10px}
.fg-panel{display:none}
.fg-panel.active{display:block}
/* =========================
   RESULTS — PANEL DOCS = même largeur que le menu
========================= */
.fg-panel-docs{
  width: min(var(--fg-max-width), 96%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.fg-results-intro{
  text-align:center;
  margin:32px 0 24px;
  color:#fff;
}

/* =========================================
   16. RÉSULTATS — SYNTHÈSE + SWOT + PESTEL
========================================= */
.fg-summary{
  margin:0 auto 26px;
  padding:22px 26px 24px;
  width:min(var(--fg-max-width),96%);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(176,193,255,.94),rgba(132,154,255,.98));
  border:1px solid rgba(255,255,255,.60);
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
  box-shadow:0 20px 48px rgba(48,78,160,.45);
  color:#f7fbff;
}

/* SWOT */

/* =========================================
   17. RÉSULTATS — CARTES PROGRAMMES + ACTIONS
========================================= */
@keyframes fgResultIn{from{opacity:0;transform:translateX(52px);}to{opacity:1;transform:translateX(0);}}
.fg-result-card:nth-child(1){animation-delay:0s}
.fg-result-card:nth-child(2){animation-delay:.08s}
.fg-result-card:nth-child(3){animation-delay:.16s}
.fg-result-card:nth-child(4){animation-delay:.24s}
.fg-result-card:nth-child(5){animation-delay:.32s}

.fg-res-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}

.fg-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}

/* Vigilance */

/* Discours conseillé */

/* Mode résultats : supprimer le gros rectangle global */
.fg-app-wrap.results-mode{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
  overflow:visible !important;
}
.fg-app-wrap.results-mode #fg-step{display:none!important}
.fg-app-wrap.results-mode #fg-progress{display:none!important}

/* =========================================
   20. OPPORTUNITÉS — PATCHES + CATBAR (final)
========================================= */

/* patch KPI card */

.fg-result-card img{max-width:none !important;}

.fg-panel-opps{
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
  overflow-x:hidden;
}
.fg-panel-opps .fg-results-intro{
  width:min(var(--fg-max-width),96%);
  margin-left:auto;
  margin-right:auto;
}
.fg-panel-opps .fg-results-list,.fg-panel-opps .fg-export-wrap{
  max-width:1180px;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}
.fg-panel-opps .fg-result-card,.fg-panel-opps .fg-res-head,.fg-panel-opps .fg-kpis,.fg-panel-opps .fg-sec{min-width:0;}

/* enlève l’ombre UNIQUEMENT dans Opportunités */
.fg-panel-opps .fg-result-card{
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* KPI full width dans opps */
.fg-panel-opps .fg-kpis{ grid-template-columns:1fr !important; }

/* Catbar — version finale : pills séparées (pas de gros wrap) */

/* Désactive sélection bleue dans le summary (bonus) */

/* =========================================
   21. STATUS SUIVI (cards dropdown)
========================================= */

/* Section ENTRY (mode=entry) supprimée — dead code confirmé V05.
   Voir L.6100+ pour les rares règles entry encore actives (portail org). */

/* =========================================
   23. ORG MODE — THEME + AUTH + DASHBOARD
========================================= */

/* =========================================
   23bis. ORG — TABLEAU DE SUIVI (cols .fg-col-*)
   Cols typiques: Startup | ID | Date | Mode | Choisir | État | Action | Lien | Statut
========================================= */

/* ✅ centre uniquement le tiret dans Lien d’envoi + Lien final */

  
/* ✅ ne pas clipper le menu "..." */

/* ✅ Mode + Choisir : autoriser multi-ligne (sinon ton td overflow:hidden coupe tout) */

  

  
  
  

  

  

  /* force table-cell si un vieux CSS a mis du flex */
  

  /* selects dans cellules */
  

  /* boutons action/lien full width */
  

  /* pills état full width */
  

  /* styles état */
  
  
  /* B — wrap texte dans Mode + Choisir */
  

  /* si tu as des <select> natifs */
  

  /* si tu as le dropdown custom (fg-org-dd-btn) */
  

/* Optionnel : boutons fixes + wrap (si tu l’utilises) */

/* =========================================
   23ter. ORG — DROPDOWN CUSTOM (Option B)
   (bouton “pill” + menu, wrap texte OK)
========================================= */

/* =========================================
   24. HOME (page-id-16) — DA “Billing” (lavande)
   ✅ Cards lavande + textes gris (comme ton screenshot)
========================================= */
body.page-id-16{
  /* Texte (gris “clair-foncé”) */
  --fg-text: #595A78;
  --fg-muted: #767496;
  --fg-text-muted: var(--fg-muted);

  /* Cards (billing) */
  --fg-card: rgba(255,255,255,.18);
  --fg-border: rgba(255,255,255,.28);
  --fg-shadow: 0 18px 50px rgba(13,27,60,.18);

  /* Primary */
  --fg-primary-1: #6576FF;
  --fg-primary-2: #8A6CFF;

  /* ⚠️ IMPORTANT :
     Si tu gardes un fond sombre, tes textes gris seront illisibles.
     Donc ici je mets un fond clair “lavande”. Change l’URL si besoin. */
  background: center/cover no-repeat fixed url("https://fundguide.fr/wp-content/uploads/2025/12/Fond-pour-organismes.jpg") !important;
  background-color:#0b1536 !important;
  color: var(--fg-text) !important;
}

html:has(body.page-id-16){
  background: center/cover no-repeat fixed url("https://fundguide.fr/wp-content/uploads/2025/12/Fond-pour-organismes.jpg") !important;
  background-color:#0b1536 !important;
}

/* WP wrappers transparents */
body.page-id-16 .wp-site-blocks,body.page-id-16 .wp-block-post-content,body.page-id-16 .entry-content{
  background:transparent !important;
}

/* On laisse le background au BODY (sinon double fond) */
body.page-id-16 .fg-hero,body.page-id-16 .fg-home-main{
  background:transparent !important;
  color: var(--fg-text) !important;
}

body.page-id-16 .fg-home-main{
  min-height:100vh !important;
  padding-bottom:140px !important;
}
body.page-id-16 .fg-hero{ min-height:57vh !important; }
/* =========================================================
   HOME (page-id-16) — UI billing (brand / switch / CTA)
========================================================= */

/* Brand en gris */
body.page-id-16 .fg-brand,body.page-id-16 .fg-brand *{
  color: var(--fg-text) !important;
}
body.page-id-16 .fg-logo-img{
  box-shadow: 0 10px 26px rgba(13,27,60,.12) !important;
}

/* Switch Startups / Organismes (billing) */

/* CTA HOME page-id-16 : règle supprimée (var --fg-primary-* undefined cassait le bg).
   Remplacée par PASS 30 plus bas (hardcode #6576FF/#8A6CFF). */
/* =========================================================
   HOME (page-id-16) — Cards “Billing” (lavande)
   ✅ une seule source de vérité
========================================================= */
/* HOME cards glass : règle supprimée (overridée plus bas par v2 light DA #fff). */
/* =========================================================
   HOME (page-id-16) — Typo gris (comme screenshot)
========================================================= */

/* Titres / labels */
body.page-id-16 .fg-h1,body.page-id-16 .fg-faq-header{
  color: var(--fg-text) !important;
}

/* Textes secondaires */
body.page-id-16 .fg-sub{
  color: var(--fg-muted) !important;
}
/* =========================================================
   HOME (page-id-16) — Inputs style billing
========================================================= */

/* HOME (page-id-16) — plus d’air au-dessus du titre */
body.page-id-16 .fg-hero-inner{
  padding-top: 170px !important;   /* avant: 96px */
}

/* optionnel: si tu veux déplacer UNIQUEMENT le texte (pas le bouton) */
body.page-id-16 .fg-hero-text{
  margin-top: 72px !important;     /* avant: 48px */
}

/* HOME — espace sous le bouton */
body.page-id-16 .fg-hero-cta-wrap{
  margin-top: 14px !important;     /* avant: 6px */
  margin-bottom: 170px !important;  /* ajoute l’air avant les 3 cards */
}
/* Texte (plus clair) */
:root{
  --fg-text:  #625A8A;  /* un poil plus foncé */
  --fg-muted: #8F8AB3;  /* sous-texte */
}

body.page-id-16{
  --fg-text:  #625A8A;
  --fg-muted: #8F8AB3;
}

body.page-id-16 .fg-hero,body.page-id-16 .fg-home-main{
  color: var(--fg-text) !important;
}

body.page-id-16 .fg-sub{
  color: var(--fg-muted) !important;
}

/* =========================================
   25. CARDS — Uniformiser en “bleu synthèse”
   (final affiché : on applique)
========================================= */
.fg-result-card{
  background: var(--fg-blue-card) !important;
  border: 1px solid var(--fg-blue-card-border) !important;
  box-shadow: var(--fg-blue-card-shadow) !important;
}

/* =========================================
   26. RESPONSIVE GLOBAL
========================================= */
@media (max-width:920px){
  
  
  
  
  .fg-kpis{grid-template-columns:1fr}
  
  
  
  
  .fg-results-toggle-wrap{top:auto}}
@supports (height:100svh){
  .fg-app{min-height:100svh}}

/* =========================================
   27. BACKDROP FALLBACK
========================================= */
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .fg-app-wrap,.fg-result-card,.fg-sec.speech,.fg-summary,.fg-contact-form{
    background-color:rgba(16,28,56,.78)!important;
    border-color:rgba(255,255,255,.12)!important;
    box-shadow:0 8px 22px rgba(8,21,59,.26)!important;
  }}

/* =========================================
   28. PAGES LÉGALES
========================================= */
.fg-legal-page{
  width:min(900px, 94%);
  margin:80px auto 60px;
  padding:24px 26px 40px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 18px 42px rgba(8,21,59,.35);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  color:#fff;
  font-size:15px;
  line-height:1.6;
}
.fg-legal-page h1{margin-top:0;margin-bottom:16px;font-size:26px;text-align:center;}
.fg-legal-page h2{margin-top:24px;margin-bottom:8px;font-size:18px;}
.fg-legal-page h3{margin-top:18px;margin-bottom:6px;font-size:16px;}
.fg-legal-page ul{margin:6px 0 10px;padding-left:20px;}
.fg-legal-page li{margin-bottom:4px}

/* =========================================
   29. EXPORT PDF (window.print)
========================================= */
#fg-print-root,#fg-print-header{ display:none; }

@media print{
  @page{ size: A4; margin: 14mm 12mm 14mm 12mm; }
  html,body{ background:#fff !important; }
  body{-webkit-print-color-adjust: exact; print-color-adjust: exact;}

  
  #fg-print-root,#fg-print-header{ display:block !important; }

  #fg-print-header{
    position:fixed;
    top:0;left:0;right:0;
    padding:10mm 12mm 6mm;
    border-bottom:1px solid rgba(0,0,0,.12);
    background:#fff;
    z-index:9999;
  }
  

  
  
  
  
  
  

  *{ box-shadow:none !important; text-shadow:none !important; backdrop-filter:none !important; }
  a,a:visited{ color:#111 !important; text-decoration:none !important; }

  .fg-result-card,.fg-panel,table,blockquote{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  h1,h2,h3{ break-after:avoid; page-break-after:avoid; }
  p{ orphans:3; widows:3; }

  

  details{ display:block; }
  details > summary{ display:none; }

  button{ display:none !important; }
  #fg-export-modal{ display:none !important; }}

/* =========================================
   Ajustements à ranger au dessus 
========================================= */
/* ===========================
   ORG — SELECT = LOOK BOUTON
   (Mode + Choisir uniquement)
=========================== */

/* Selects "Mode" + "Choisir" (tableau de suivi) */

/* focus propre */

/* optionnel : même largeur/hauteur visuelle que tes boutons */

/* ✅ même taille pour tous les boutons de la barre d’actions en haut */

/* ✅ pas de glow/shadow sur les boutons du tableau (ça fait la tâche derrière) */

/* =========================================
   ORG — BILLING UI (Image 1/2/3)
========================================= */

/* Titre section + trait blanc */

/* Texte "Crédits restants" / "Renouvellement" un poil plus petit */

/* Bouton "Acheter des crédits" à droite + propre */

/* TABLE "Rapports générés" : plus centrée + lignes un peu plus épaisses + arrondis */

/* Billing: bouton à droite + nombre en gras bien visible */

/* Espacement entre les 3 blocs */

/* ✅ Source unique d'espacement sous "Espace Cabinet" */

/* (optionnel) évite les marges par défaut des titres */

/* ✅ L'espacement réel, contrôlé ici */

/* =========================================
   ORG — TUNING TYPO (v4 + un poil)
   ✅ augmente encore les textes "hors titres"
   ❌ ne touche PAS : h3 (titres sections) + th (titres colonnes)
========================================= */

/* ---- Billing: base encore + ---- */

/* nombre (ex 17) : plus lisible */

/* dates / codes dans billing */

/* ---- Tableau de suivi: texte global +, actions un poil - ---- */

/* Nom startup (col Startup) : un poil plus petit que le reste */

/* Actions / boutons : plus petits que le texte */

/* ORG — Tableau de suivi : Mode + Choisir
   ✅ texte un peu plus petit
   ✅ lignes un peu plus hautes (lisibilité)
   ✅ n’impacte pas les autres colonnes
*/

/* si tu es en <select> natif (actuel chez toi) */

/* si jamais tu repasses en dropdown custom (option B) */

/* ORG topbar — email pill aligné à Déconnexion (même hauteur/typo, pas en gras) */

/* ===========================
   ORG — Pagination (footer tableau)
   - select = pill "20 résultats / page" (moins gras + plus clair)
   - flèches = boutons carrés arrondis chevrons
=========================== */

/* Groupe pagination à droite */

/* Boutons flèches : carrés arrondis + chevrons (on masque ← →) */

/* ✅ centré parfait : pseudo-élément ABSOLU au centre */

/* Chevron gauche */

/* Chevron droite */

/* Disabled = plus soft */

/* ORG — perpage (carré arrondi + flèche + pas de coupe du texte) */

/* =========================================
   ORG — Modal "Acheter des crédits" (style image 1)
========================================= */

/* Stripe: badge plus compact + centrage horizontal du logo */

/* Équilibre haut/bas du contenu du modal */

/* On neutralise les marges qui créent un décalage (souvent h3/p) */

/* Même “respiration” en bas (évite un gros vide sous les boutons) */

/* Si tu as un message sous les boutons, il ne doit pas rajouter de vide */

/* Paiement sécurisé : un poil plus petit (reste bold) */

/* ===========================
   ORG — Paramètres / Expertise / Demande
   -> même DA que Billing (titre + séparateur + contenu)
   (ne touche pas aux colonnes des tableaux)
=========================== */

/* Expertise : empilement propre des 2 cartes, comme Billing */

/* On neutralise les margin-top inline éventuels dans Expertise */

/* Titres des blocs (uniquement les h3 directs dans les cards) */

/* Le texte descriptif juste sous le titre (celui qui était énorme) */

/* ===========================
   ORG — Feature request : select "Priorité" comme un bouton dashboard
=========================== */

/* message inline */

/* ORG — Expertise : liste "Concrètement" = même typo que le paragraphe au-dessus */

/* optionnel : le <strong> dans les puces un poil moins violent */

/* ===========================
   ORG — Programmes table : NE DOIT PAS élargir la page
   -> le tableau scrolle dans sa card
=========================== */

/* La card ne doit jamais “déborder” à cause d’un enfant trop large */

/* Le scroll horizontal est ICI */

/* La table peut être plus large que la card */

/* optionnel : scrollbar plus discrète */

/* ===== Programs multiselect UI (pill like image 2) ===== */

/* Bouton pill */

/* Menu */

/* Fondatrice requise (Oui/Non) : pas énorme, pas coupé */

/* Checkbox carrée centrée (Désactivé) */

/* Messages inline (OK/erreur/info) : invisibles par défaut, apparaissent brièvement */

/* =========================
   ORG — JSON / base programmes (clean, sans nouveau système)
========================= */

/* summary JSON spécifique */

/* titre du tableau manuel */

/* barre actions du tableau manuel = DANS le même bloc */

/* ✅ FIX dropdown "..." : le wrapper du tableau clippe le menu */

/* autoriser le dépassement dans la zone du bouton */

/* =========================================================
   LEGAL PAGES (post=93 / 95) — CSS ONLY, keep header like home
   - garde header (logo + FundGuide)
   - supprime menu items, footer, crédits
   - tue le gros rectangle WP (entry-content alignfull)
   - force titres en blanc + typo clean
========================================================= */

/* cible pages */
body.page-id-93,body.page-id-95,body.postid-93,body.postid-95{
  background:center/cover no-repeat fixed var(--fg-bg-image) !important;
  background-color:#0b1536 !important;
  color:#fff !important;
}

/* 1) HEADER : on NE TOUCHE PAS au logo/brand, on masque juste la nav (menu) */
body.page-id-93 .wp-block-navigation,body.page-id-95 .wp-block-navigation,body.postid-93 .wp-block-navigation,body.postid-95 .wp-block-navigation{
  display:none !important;
}

/* si ton “FundGuide” passe en noir, c’est un lien : on force blanc dans le header */
body.page-id-93 header a,body.page-id-95 header a,body.postid-93 header a,body.postid-95 header a,body.page-id-93 header .wp-block-site-title,body.page-id-95 header .wp-block-site-title,body.postid-93 header .wp-block-site-title,body.postid-95 header .wp-block-site-title{
  color:#fff !important;
}

/* 2) FOOTER : on le supprime entièrement (Blog/FAQ/Twenty Twenty-Five/WordPress) */
body.page-id-93 footer,body.page-id-95 footer,body.postid-93 footer,body.postid-95 footer{
  display:none !important;
}

/* 3) RECTANGLE WP DERRIÈRE : c’est entry-content alignfull */
body.page-id-93 .entry-content.alignfull,body.page-id-95 .entry-content.alignfull,body.postid-93 .entry-content.alignfull,body.postid-95 .entry-content.alignfull{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

/* parfois le fond vient d’un group “has-global-padding” autour */
body.page-id-93 main.wp-block-group,body.page-id-95 main.wp-block-group,body.postid-93 main.wp-block-group,body.postid-95 main.wp-block-group{
  background:transparent !important;
}

/* 4) CONTENU : ta vraie carte (le bloc que TU contrôles : .fg-legal-page) */
body.page-id-93 .fg-legal-page,body.page-id-95 .fg-legal-page,body.postid-93 .fg-legal-page,body.postid-95 .fg-legal-page{
  width:min(980px, 92%) !important;
  margin:70px auto 70px !important;

  padding:26px 26px 34px !important;
  border-radius:22px !important;

  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.22) !important;

  backdrop-filter:blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(120%) !important;

  box-shadow:0 18px 50px rgba(0,0,0,.12) !important;

  color:#fff !important;
}

/* 5) TITRE : tu veux blanc, grand, propre */
body.page-id-93 h1.wp-block-post-title,body.page-id-95 h1.wp-block-post-title,body.postid-93 h1.wp-block-post-title,body.postid-95 h1.wp-block-post-title{
  color:#fff !important;
  text-align:center !important;
  font-weight:300 !important;
  letter-spacing:-.02em !important;
  font-size:clamp(34px,4vw,56px) !important;
  line-height:1.05 !important;
  margin:64px auto 26px !important;
  max-width:980px !important;
}

/* texte du contenu */
body.page-id-93 .fg-legal-page,body.page-id-95 .fg-legal-page,body.postid-93 .fg-legal-page,body.postid-95 .fg-legal-page{
  font-size:15px !important;
  line-height:1.65 !important;
}
body.page-id-93 .fg-legal-page * ,body.page-id-95 .fg-legal-page *,body.postid-93 .fg-legal-page *,body.postid-95 .fg-legal-page *{
  color:rgba(255,255,255,.92) !important;
}

/* liens */
body.page-id-93 .fg-legal-page a,body.page-id-95 .fg-legal-page a,body.postid-93 .fg-legal-page a,body.postid-95 .fg-legal-page a{
  color:rgba(230,240,255,.95) !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}
/* =========================================================
   LEGAL 93/95 — Ajout logo + align “comme home”
   (CSS only, sans toucher au HTML)
========================================================= */

/* 1) Header = largeur/align comme une topbar */
body.page-id-93 header.wp-block-template-part,body.page-id-95 header.wp-block-template-part,body.postid-93 header.wp-block-template-part,body.postid-95 header.wp-block-template-part{
  padding:18px 24px !important;
  background:transparent !important;
}

/* on centre le contenu du header */
body.page-id-93 header.wp-block-template-part > *:first-child,body.page-id-95 header.wp-block-template-part > *:first-child,body.postid-93 header.wp-block-template-part > *:first-child,body.postid-95 header.wp-block-template-part > *:first-child{
  width:min(1120px,94%) !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

/* 2) Si le bloc logo existe, on le laisse (et on le stylise) */
body.page-id-93 header .wp-block-site-logo img,body.page-id-95 header .wp-block-site-logo img,body.postid-93 header .wp-block-site-logo img,body.postid-95 header .wp-block-site-logo img{
  height:36px !important;
  width:auto !important;
  border-radius:8px !important;
  box-shadow:0 4px 14px rgba(0,0,0,.25) !important;
  display:block !important;
}

/* 3) Si le bloc logo N’EXISTE PAS, on ajoute un logo en pseudo-élément
      MAIS UNIQUEMENT si aucun .wp-block-site-logo n’est présent */
body.page-id-93 header.wp-block-template-part:not(:has(.wp-block-site-logo)) .wp-block-site-title::before,body.page-id-95 header.wp-block-template-part:not(:has(.wp-block-site-logo)) .wp-block-site-title::before,body.postid-93 header.wp-block-template-part:not(:has(.wp-block-site-logo)) .wp-block-site-title::before,body.postid-95 header.wp-block-template-part:not(:has(.wp-block-site-logo)) .wp-block-site-title::before{
  content:"";
  display:inline-block;
  width:36px;
  height:36px;
  margin-right:10px;
  border-radius:8px;
  background:url("https://fundguide.fr/wp-content/uploads/2025/10/logo.png") center/contain no-repeat;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  vertical-align:middle;
}

/* 4) Titre “FundGuide” align et propre */
body.page-id-93 header .wp-block-site-title,body.page-id-95 header .wp-block-site-title,body.postid-93 header .wp-block-site-title,body.postid-95 header .wp-block-site-title{
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important; /* le gap est géré par ::before */
  font-weight:700 !important;
  letter-spacing:.2px !important;
  line-height:1 !important;
}
body.page-id-93 header .wp-block-site-title a,body.page-id-95 header .wp-block-site-title a,body.postid-93 header .wp-block-site-title a,body.postid-95 header .wp-block-site-title a{
  color:#fff !important;
  text-decoration:none !important;
}

/* Footer links en billing */

/* =========================================
   TOPBAR — Switch Startups/Organismes (wider + equal)
========================================= */

/* séparateur ultra soft (optionnel, mais aide visuellement) */

/* =========================================
   HOME (page-id-16) — footer collé en bas (vraiment)
   - footer en bas du viewport si page courte
   - footer en bas de page si page longue
   - garde le gros espace sous "Nous contacter"
========================================= */

body.page-id-16 .fg-home-main{
  position: relative;
  padding-bottom: 0 !important;     /* ✅ IMPORTANT: sinon le footer remonte */
  min-height: 100vh;               /* ✅ au moins plein écran */
}

/* ✅ On remet l’espace "bas de page" sur le contenu, pas sur le wrapper */
body.page-id-16 #fg-home-sections{
  padding-bottom: 140px;           /* ✅ ton ancien padding-bottom */
}

/* ✅ Footer vraiment en bas, mais PAS sticky: il est dans la home */

/* centrage parfait */
body.page-id-16 .fg-legal-links{
  justify-content: center;
}

/* LOGIN (Accéder à mon dossier) — titre VRAIMENT plus petit */

/* Sous-texte */

/* =========================================================
   APP — /app/?mode=code  (Accéder à mon dossier)
   Hook: champ #fg-login-code
   Objectif:
   - CTA "Valider le code" = même DA que "Lancer l'analyse"
   - Titre moins massif
========================================================= */

body:has(#fg-login-code){
  --fg-code-title: #625A8A;
  --fg-code-muted: rgba(98,90,138,.76);
  --fg-code-cta: linear-gradient(135deg,#6576FF,#8A6CFF);
  --fg-code-cta-shadow: 0 14px 30px rgba(101,118,255,.30);
}

/* Titre (moins énorme) */
body:has(#fg-login-code) .fg-h1{
  font-size: clamp(34px, 4.2vw, 54px) !important;
  font-weight: 600 !important;
  color: var(--fg-code-title) !important;
  letter-spacing: -.02em !important;
}

/* Sous-texte */
body:has(#fg-login-code) .fg-sub,body:has(#fg-login-code) .fg-login-note{
  color: var(--fg-code-muted) !important;
}

/* CTA "Valider le code" — même taille que "Accéder au portail" / "Envoyer" */
body:has(#fg-login-code) button.fg-cta-pill,body:has(#fg-login-code) a.fg-cta-pill{
  background: linear-gradient(135deg,#6576FF,#8A6CFF) !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  box-shadow: 0 14px 30px rgba(101,118,255,.30) !important;
  color:#fff !important;

  border-radius: 999px !important;

  /* ✅ taille harmonisée */
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 26px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body:has(#fg-login-code) .fg-cta-pill:hover{ filter: brightness(1.04); }
body:has(#fg-login-code) .fg-cta-pill:active{ transform: scale(.98); }
/* =========================================================
   APP — /app/?mode=org (Portail organisme)
   Hook: body.fg-org-mode + .fg-org-auth
   Objectif:
   - CTA du formulaire (Connexion / Créer un compte) = DA "Lancer l'analyse"
   - Titre "Portail organisme" = même taille/couleur que "Accéder à mon dossier"
========================================================= */

/* Titre "Portail organisme" */

/* Sous-titre sous le H1 */

/* CTA principal (submit) dans la card d'auth */

/* ORG PORTAL — force CTA Connexion / Créer (ID only, impossible à rater) */

/* =========================================================
   APP / QUESTIONNAIRE — style "home lavande" (texte foncé)
   Objectif: même DA que la home (image 2)
   Scope: uniquement questionnaire (pas résultats)
========================================================= */

.fg-app-wrap:not(.results-mode){
  /* fond plus opaque (lavande claire) */
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  box-shadow: 0 24px 60px rgba(8,21,59,.22), inset 0 1px 0 rgba(255,255,255,.45) !important;

  /* texte global foncé (comme home) */
  color: #595A78 !important;
}

/* Titre question */

/* Options (cases) — base */

/* ✅ Sélection visible SANS trait bleu, SANS ✓
   -> on joue sur fond + bord + ring soft */

/* sécurité: on neutralise tout pseudo-élément de sélection (✓ / barres) */

/* Conseil financement (tip) */

/* Bouton "Retour" + ghost dans le questionnaire */

/* Inputs/selects du questionnaire (texte foncé) */

/* Barre de progression lisible sur fond clair */
.fg-app-wrap:not(.results-mode) #fg-progress{
  background: rgba(255,255,255,.22) !important;
  border-color: rgba(255,255,255,.34) !important;
}

/* ============================
   ORG — Search base programs (DA org / glass)
============================ */

#fg-org-programs-search-q{
  flex: 1 1 320px;
  min-width: 260px;
  height: 42px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color: inherit;
  outline: none;
}

#fg-org-programs-search-q::placeholder{
  color: rgba(255,255,255,.70);
}

#fg-org-programs-search-btn{
  height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.12);
  color: inherit;
  cursor: pointer;
}

#fg-org-programs-search-btn:hover{
  background: rgba(255,255,255,.16);
}

/* Search = mêmes boutons que Charger/Enregistrer */

/* Input aligné DA */

/* MultiSelect: menu au-dessus de tout, non tronqué par les scroll containers */

/* MultiSelect: menu au-dessus de tout, non tronqué par les scroll containers */

/* Select natifs : éviter que le texte/chevron soit coupé */

/* IMPORTANT: uniformiser la taille de police (Type / Géo / Dilutif / Stage / etc.) */

/* ORG Programs table : textarea pour champs longs */

/* IMPORTANT: uniformiser la taille de police partout (ajoute textarea) */

/* Inputs du tableau Programmes (DA) */

/* Focus propre */

/* Si tu utilises textarea pour certains champs */

/* HOME preview cards */

/* HOME preview: centrage + largeur max */

.fg-home-panels{
  max-width: 1120px;
  margin: 16px auto 0 auto;
}

/* cards: centrées + espacement */

/* HOME preview cards: typo + densité (comme les cards Impact) */

/* Espace entre Aperçu et Tarifs organismes */

/* HOME preview cards: même opacité que les autres rectangles */

/* =========================================
   HOME — Aperçu du livrable : opacity + spacing
   (à coller TOUT EN BAS du CSS)
========================================= */

/* 1) Cartes "Aperçu du livrable" : même opacité que le reste */

/* 2) Espacement : éloigner les cartes du titre "Ils utilisent FundGuide" */

/* =========================
   HOME ORG — aligne Pack 50 avec Pack 25 (même offset "popular")
   ========================= */

/* =========================
   HOME — CTA packs organismes : bouton moins haut
   ========================= */

/* =========================
   HOME — CTA "Envoyer" (contact) : même style compact partout
   ========================= */

/* =========================================
   HOME — Aperçu du livrable : cartes plus hautes (x2)
========================================= */

/* =========================================
   HOME — Aperçu du livrable : répartition sans gros vide
========================================= */

/* ✅ pousse légèrement la liste vers le centre sans trou énorme */

/* HOME — Aperçu du livrable : réduire un peu la hauteur */

/* Alerte paiement (question "country") */

/* =========================================
   APP (questionnaire) — Pricing step : texte plus foncé (comme home)
   Scope: seulement .fg-app-wrap (pas home, pas résultats)
========================================= */

/* Titres + prix (plus foncés) */

/* Puces */

/* Optionnel : tagline/notes si tu en as dans cette étape */

/* Optionnel : cercle icône un poil plus contrasté */

/* Paiement: ne pas donner un feeling "interdit" */

/* Si tu as un style global de loading qui change le curseur */

/* ===== PAY UX polish ===== */

@keyframes fgFadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* =========================================================
   RESULTS — Harmoniser tailles texte (Détails + Financement proposé)
   Objectif: même taille que .fg-speech-text (15px)
========================================================= */

/* 1) Titre "Détails du dispositif" (summary) */

/* 2) Contenu "Financement proposé" (valeur) */

/* si tu veux aussi aligner le label "Financement proposé" */

/* =========================================================
   ORG — FIX HARD: selects "Mode" + "Choisir" lisibles en mobile
========================================================= */

/* =========================================================
   ORG — Compacte colonnes Startup / ID / Date (pour libérer l’espace)
========================================================= */

/* applique les variables même si des règles plus bas les écrasent */

/* =========================================
   ORG — Toggle ID/Date (via flèche dans TH "Startup")
   - défaut: cache ID/Code + Date en < 760px
   - si body.fg-org-show-meta: affiche
========================================= */

/* UI du header "Startup" + flèche */

/* =========================================
   ORG — Toggle ID/Date (GLOBAL, toutes tailles)
   - par défaut: caché
   - visible si body.fg-org-show-meta
========================================= */

/* ORG — Header "Startup" centré même avec la flèche */

/* le texte reste centré */

/* la flèche se place à droite sans décaler le centre */

/* Garde une hauteur stable pour l'en-tête */

/* === ORG — bouton flèche header (propre, pas "rond moche") === */

/* Optionnel: petit feedback au hover */

/* === ORG — Lien final = même rendu que Lien d'envoi === */

/* boutons "Copier lien final" = full width, centrés, même hauteur */

/* le tiret "—" centré aussi */

/* =========================================
   RESULTS — Réponses au questionnaire
========================================= */

/* ✅ sections en pleine largeur */

/* =========================
   RÉPONSES AU QUESTIONNAIRE — anti-texte coupé
========================= */

/* 1) Le row doit autoriser le shrink propre */

/* 2) Chips : 2 lignes max (au lieu de 1 ligne + ellipsis) */

/* 3) Option : sur hover, tu peux afficher complet sans casser le layout */
/* =========================
   RESULTS — Plan d'action : full width centré (symétrique)
   IMPORTANT: à mettre tout en bas du CSS
========================= */
@media (min-width: 1100px){
  .fg-panel-plan{
    width: min(var(--fg-max-width),96%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* board = 100% du même conteneur */
  .fg-panel-plan #fg-board-host{
    max-width: 100% !important;
  }

  /* 3) safety: le board occupe toute la largeur du host */
  .fg-panel-plan #fg-board-preview{
    width: 100% !important;
  }}

/* =========================
   PLAN (OS) — 4 cartes (style FundGuide / board)
   - Texte sombre lisible
   - Cards colorées (lavande/bleu)
========================= */

/* titres */

/* grid */

/* =========================
   PLAN (OS) — 4 cartes : NEUTRE (pas bleu)
========================= */

/* ✅ kill les variations bleues */

/* head */

/* content */

/* export wrap spacing */

/* =========================================
   RESULTS — TYPO UNIFICATION (Synthèse profil)
   - Titres de section = style "Aperçu évaluatif"
   - Sous-titres internes = style "Strengths"
   À coller TOUT EN BAS
========================================= */

/* ---------- 1) Titres de section (H3) = Aperçu évaluatif ---------- */
/* Aperçu évaluatif est déjà .fg-eval-h3 -> on aligne les autres dessus */

/* ---------- 2) Sous-titres internes = Strengths ---------- */
/* SWOT: Strengths/Weaknesses/Opp/Threats */

/* Questionnaire: "Identité & localisation" etc. (summary du details) */

/* Aperçu évaluatif: titres des cards (Traction estimée, etc.)
   -> il faut cibler le label interne si tu l’as.
   Dans ton CSS tu as .fg-eval-title (bon) */

/* Optionnel: homogénéiser les petits textes sous les sous-titres (lisibilité) */

/* =========================================
   RESULTS — Réponses questionnaire : STOP TRONCATURE
   (à coller tout en bas)
========================================= */

/* La grille doit autoriser le texte à respirer */

/* LABEL: plus de clamp, plus d’ellipsis */

/* ZONE VALEURS: autorise wrap + pas de coupe */

/* CHIPS: plus d’ellipsis, texte visible */

/* (optionnel) donne un poil plus d’air vertical pour les gros contenus */

/* =========================================
   QUESTIONNAIRE — Labels / sous-titres en foncé (lavande)
   A COLLER TOUT EN BAS
========================================= */

/* Couleur de texte par défaut dans le questionnaire */
.fg-app-wrap:not(.results-mode){
  color: #595A78 !important;
}

/* 1) Labels de champs (ex: "Décris ton concept...", "Pré-inscriptions...") */
.fg-app-wrap:not(.results-mode) .fg-login-note{
  color: rgba(98,90,138,.78) !important;
}

/* 2) Titres de sections dans les formulaires (tes séparateurs "Revenus récurrents – B2C", etc.) */

/* 3) Sous-titres / aides qui sont parfois en <p> sous le titre */

/* 4) Au cas où une règle globale force tout en blanc dans le form */

/* 5) MAIS on garde le texte des inputs lisible (tu l’as déjà, je verrouille) */

/* =========================================================
   ORG (cabinet) — inputs/textarea/search/json lisibles (texte foncé)
========================================================= */

/* placeholders (sinon ils restent blancs) */

/* zones “search programme existant” + “JSON import/export” + “règles” */

/* ENTRY (mode=entry / portail org / reset) — source unique */

/* ===========================
   ORG PORTAL (/app/?mode=org) — CTA comme HOME
   (Connexion + Créer)
   À COLLER TOUT EN BAS
=========================== */

/* ORG PORTAL — CTA Connexion / Créer (même taille que .fg-entry-btn) */

/* =========================================
   30. RESULTS — THEME "ESPACE CABINET" (v2 / SOURCE UNIQUE)
   Objectif:
   - même DA que cabinet: texte foncé, surfaces glass claires, CTA violet
   - couvre: Synthèse, Plan d’attaque, Réponses, SWOT, PESTEL, Programmes,
            Plan d’action (timeline + board), Mes documents
   Important:
   - scope startup: .fg-app-wrap.results-mode
   - scope cabinet: body.fg-org-mode (UNIQUEMENT sur les composants résultats)
   Notes:
   - ✅ pas de "rectangle" ajouté sur l’intro (50 opportunités…) : on ne touche pas au BG
   - ✅ typo/poids/couleurs alignés sur “Crédits et facturation”
========================================= */
/* ====== TOKENS (STARTUP RESULTS) — v2 (texte moins sombre) ====== */
.fg-app-wrap.results-mode{
  /* ✅ Texte (comme “lavande” / moins contrasté) */
  --fg-r-text:   rgba(89,90,120,.92);   /* #595A78 */
  --fg-r-muted:  rgba(89,90,120,.74);
  --fg-r-muted2: rgba(89,90,120,.60);

  /* surfaces (toggles/pills seulement; PAS header/intro) */
  --fg-r-surface: rgba(255,255,255,.16);

  /* cards */
  --fg-r-card:        rgba(255,255,255,.22);
  --fg-r-card-strong: rgba(255,255,255,.30);
  --fg-r-border:      rgba(255,255,255,.28);
  --fg-r-shadow:      0 18px 50px rgba(13,27,60,.14);
  --fg-r-radius:      18px;

  /* CTA */
  --fg-r-primary-1: #6576FF;
  --fg-r-primary-2: #8A6CFF;

  /* typo (cabinet-like) */
  --fg-r-fs-h2: 20px;      /* ex: Synthèse de votre profil */
  --fg-r-fs-h3: 18px;      /* ex: Aperçu évaluatif, Réponses, SWOT, PESTEL… */
  --fg-r-fs-h4: 15px;      /* sous-titres internes */
  --fg-r-fs-body: 15.5px;  /* corps cabinet */
  --fg-r-fs-small: 13px;   /* meta */

  color: var(--fg-r-text) !important;
}

/* ====== TOKENS (CABINET / ORG) — uniquement variables, pas de style global ====== */

/* =========================================================
   A) HEADER / INTRO (TYPO ONLY) — pas de rectangle ajouté
========================================================= */
.fg-app-wrap.results-mode .fg-results-header,.fg-app-wrap.results-mode .fg-results-intro{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--fg-r-text) !important;
}

/* Compteurs (x / total) */

/* Pills email/code */
.fg-app-wrap.results-mode .fg-results-pill{
  background: rgba(255,255,255,.24) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color: var(--fg-r-text) !important;
}

/* =========================================================
   B) Toggle résultats (onglets) — surface “cabinet”
========================================================= */
.fg-app-wrap.results-mode .fg-results-toggle{
  background: var(--fg-r-surface) !important;
  border: 1px solid var(--fg-r-border) !important;
  box-shadow: var(--fg-r-shadow) !important;
}
.fg-app-wrap.results-mode .fg-toggle-highlight{
  background: linear-gradient(135deg,var(--fg-r-primary-1),var(--fg-r-primary-2)) !important;
  box-shadow: 0 12px 26px rgba(101,118,255,.26) !important;
  /* Slide premium : plus long + overshoot plus marqué pour se faire remarquer */
  transition:
    transform .55s cubic-bezier(.28, 1.6, .5, 1),
    width     .55s cubic-bezier(.28, 1.6, .5, 1),
    box-shadow .35s ease !important;
  will-change: transform, width;
}

/* Pendant le slide : le pill se "lift" (ombre plus marquée) — via le parent en :has() */
.fg-app-wrap.results-mode .fg-results-toggle:has(.fg-toggle-btn:active) .fg-toggle-highlight{
  box-shadow: 0 18px 34px rgba(101,118,255,.38) !important;
}

/* No-anim : bloque TOUTES les transitions pendant l'init / restauration d'onglet */

@media (prefers-reduced-motion: reduce) {
  .fg-app-wrap.results-mode .fg-toggle-highlight{
    transition: transform .2s linear, width .2s linear, box-shadow .2s linear !important;
  }}
.fg-app-wrap.results-mode .fg-toggle-btn{
  color: var(--fg-r-muted) !important;
  font-weight: 900 !important;
}
.fg-app-wrap.results-mode .fg-toggle-btn.active{ color:#fff !important; }

/* =========================================================
   C) CARDS (source unique) — résultats (startup + cabinet)
   -> couvre la liste “Crédits et facturation” + Programmes + Plan + Docs
========================================================= *//* Aperçu évaluatif *//* Réponses au questionnaire *//* SWOT *//* PESTEL *//* Programmes *//* Plan (timeline) *//* Plan subcards *//* Docs cards *//* Cadre d’exécution / conseils *//* Docs conseils généraux *//* Discours conseillé */
.fg-app-wrap.results-mode :is(
  .fg-eval-card,              
  details.fg-answers-sec,     
  .fg-swot-item,              
  .fg-pestel-item,            
  .fg-result-card,            
.fg-summary,
.fg-planos,
  .fg-plan-period,            
  .fg-plan-subcard,           
  .fg-docs-card,              
  .fg-plan-advice-box,        
  .fg-docs-general-box,       
  .fg-sec.speech              
){
  background: var(--fg-r-card) !important;
  border: 1px solid var(--fg-r-border) !important;
  border-radius: var(--fg-r-radius) !important;
  box-shadow: var(--fg-r-shadow) !important;

  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;

  color: var(--fg-r-text) !important;
}

/* Sous-surfaces (plus “soft”) = Détails du dispositif */
.fg-app-wrap.results-mode :is(.fg-prog-details, .fg-prog-block){
  background: var(--fg-r-card-strong) !important;
  border: 1px solid var(--fg-r-border) !important;
  box-shadow: none !important;
  color: var(--fg-r-text) !important;
}

/* IMPORTANT: neutralise les couleurs/blancs résiduels DANS les composants résultats */
.fg-app-wrap.results-mode :is(
  .fg-summary,.fg-eval-card,details.fg-answers-sec,.fg-swot-item,.fg-pestel-item,
  .fg-result-card,.fg-plan-period,.fg-plan-subcard,.fg-docs-card,.fg-planos,.fg-planos-card,
  .fg-plan-advice-box,.fg-docs-general-box,.fg-sec.speech,.fg-prog-details,.fg-prog-block
) :where(h1,h2,h3,h4,h5,h6,p,span,small,li,summary,label,div,td,th,strong,em){
  color: inherit !important;
}

/* =========================================================
   D) TYPO — aligné “Crédits et facturation”
   (couvre exactement les éléments que tu as listés)
========================================================= */

/* Titres de sections (H3 “cabinet”) *//* Aperçu évaluatif *//* Réponses au questionnaire *//* Analyse SWOT *//* Analyse PESTEL *//* Plan d’action *//* Mes documents – Conseils généraux (si présent) */
.fg-app-wrap.results-mode :is(
  .fg-eval-h3,          
  .fg-answers-h3,       
  .fg-swot-title,       
  .fg-pestel-title,     
  .fg-plan-title,       
  .fg-docs-general-title
){
  font-size: var(--fg-r-fs-h3) !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
  margin: 0 0 12px 0 !important;
  color: var(--fg-r-text) !important;
}

/* Synthèse (titre principal) */

/* Sous-titres internes (H4 “cabinet”) *//* Traction estimée, etc. *//* Strengths, etc. *//* Politique, etc. *//* Identité & localisation, etc. *//* Détails du dispositif *//* Discours conseillé *//* Pitch deck / BP / Projections *//* Diagnostic & objectif / doctrine / hypothèses / pilotage / cadre… *//* Cadre d’exécution (si titre dédié) */
.fg-app-wrap.results-mode :is(
  .fg-eval-title,               
  .fg-swot-label,               
  .fg-pestel-label,             
  details.fg-answers-sec>summary,
  .fg-prog-details>summary,      
  .fg-sec.speech h4,             
  .fg-docs-card-title,           
  .fg-planos-title,              
  .fg-plan-advice-title,          
  .fg-kpi-label,
  .fg-docs-general-title
){
  font-size: var(--fg-r-fs-h4) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  color: var(--fg-r-text) !important;
}

/* Corps / secondaires = NON GRAS (ton point “elles influencent principalement”) */
.fg-app-wrap.results-mode :is(
  .fg-summary-sub,
  .fg-res-sub,
  .fg-speech-text,
  .fg-swot-list, .fg-swot-list li,
  .fg-pestel-list, .fg-pestel-list li,
  .fg-answers-long,
  .fg-plan-sub,
  .fg-plan-list, .fg-plan-list li,
  .fg-planos-text,
  .fg-planos-list, .fg-planos-list li,
  .fg-docs-card-sub,
  .fg-docs-card-advice, .fg-docs-card-advice li,
  .fg-docs-general-box,
  .fg-docs-general-list, .fg-docs-general-list li,
  .fg-prog-block p, .fg-prog-block ul, .fg-prog-block li,
  .fg-list-ok li,
  .fg-vigilance
){
  font-size: var(--fg-r-fs-body) !important;
  font-weight: 500 !important;            /* ✅ non gras */
  line-height: 1.55 !important;
  color: var(--fg-r-muted) !important;
}

/* =========================================================
   E) PROGRAMMES — titre “Programme • … • Deadline …” + KPI
========================================================= */

/* =========================================================
   F) PESTEL — “Impacts …” (tags) + Conseils *3
========================================================= */

/* Conseils (list items) */
.fg-app-wrap.results-mode :is(.fg-plan-advice-list li, .fg-docs-general-list li){
  font-size: var(--fg-r-fs-body) !important;
  font-weight: 500 !important;
  color: var(--fg-r-muted) !important;
}

/* =========================================================
   G) SWOT / PESTEL — retire aplats flashy, garde repère fin
========================================================= */
.fg-app-wrap.results-mode :is(.fg-swot-s,.fg-swot-w,.fg-swot-o,.fg-swot-t){
  background: var(--fg-r-card) !important;
}

.fg-app-wrap.results-mode :is(.fg-pestel-p,.fg-pestel-e,.fg-pestel-s,.fg-pestel-t,.fg-pestel-en,.fg-pestel-l){
  background: var(--fg-r-card) !important;
}

/* =========================================================
   H) CTA (Exporter / Générer...) — même DA que cabinet
   Référence: bouton "Enregistrer" (règles d’experts)
========================================================= */

/* Ghost */

/* =========================================================
   I) PLAN D’ACTION — BOARD (Backlog 3 + colonnes)
   -> support “kanban” courants + fallback #fg-board-host
========================================================= */
.fg-app-wrap.results-mode #fg-board-host{
  color: var(--fg-r-text) !important;
}

/* Colonnes */
.fg-app-wrap.results-mode #fg-board-host :is(.kanban-board, .fg-board-col, .fg-board-column){
  background: var(--fg-r-card) !important;
  border: 1px solid var(--fg-r-border) !important;
  border-radius: var(--fg-r-radius) !important;
  box-shadow: var(--fg-r-shadow) !important;
}

/* Titres colonnes */
.fg-app-wrap.results-mode #fg-board-host :is(.kanban-title-board, .fg-board-col-title, .fg-board-title){
  color: var(--fg-r-text) !important;
  font-weight: 950 !important;
  font-size: var(--fg-r-fs-h4) !important;
}

/* Cartes */
.fg-app-wrap.results-mode #fg-board-host :is(.kanban-item, .fg-board-card, .fg-card){
  background: rgba(255,255,255,.28) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 26px rgba(13,27,60,.10) !important;
  color: var(--fg-r-text) !important;
}

/* =========================================================
   J) Liens “texte” (sans casser les boutons)
========================================================= */
.fg-app-wrap.results-mode a:not(.fg-btn):not(.fg-link-btn){
  color: var(--fg-r-primary-1) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* =========================================
   RESULTS — HEADER BUTTONS LEFT/RIGHT
   (Relancer à gauche, Modifier à droite)
========================================= */

.fg-app-wrap.results-mode .fg-results-header{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

/* groupes */

/* ===========================
   ORG PORTAL — Tabs Connexion / Créer un compte (FIX HARD)
   But: identique au switch "Startups / Organismes" MAIS en DA lavande
   => Texte foncé, pill active lavande/bleu
=========================== */

/* =========================================
   RESULTS — PLAN PANEL WIDTH (SOURCE UNIQUE)
   Objectif: même largeur que .fg-summary
========================================= */

/* Le panel Plan (parent de .fg-planos + #fg-board-host) */
.fg-panel.fg-panel-plan{
  width: min(var(--fg-max-width), 96%) !important;
  margin-left: auto !important;
  margin-right: auto !important;

  /* si tu avais mis du padding dans un ancien full-bleed */
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Plan d’attaque = doit remplir le panel, pas 100vw */

/* =========================================================
   RESULTS — Headers comme "Mes documents"
   (Synthèse profil + Plan d’attaque)
========================================================= */

/* 1) Synthèse profil : header centré + trait */

/* 2) Plan d’attaque : header centré + trait
   ⚠️ on cible fg-planos-top (pas fg-planos-head) */

/* =========================================================
   FORCE TRAIT — Synthèse profil (robuste, sans ::after)
========================================================= */

/* =========================================
   RESULTS — Synthèse profil : enlever le rectangle englobant
   (garder les sous-cards)
========================================= */

/* le wrapper global de synthèse (celui qui englobe tout) */
.fg-app-wrap.results-mode .fg-panel-profile .fg-summary{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;            /* enlève le padding du gros rectangle */
}

/* garde une largeur/centrage propre */
.fg-app-wrap.results-mode .fg-panel-profile .fg-summary-block{
  width: min(var(--fg-max-width), 96%) !important;
  margin: 0 auto 22px !important;
}
/* =========================================
   RESULTS — Synthèse profil : + d'espace entre sections
   (Aperçu / Réponses / SWOT / PESTEL)
   À COLLER TOUT EN BAS
========================================= */

/* Optionnel: un peu plus d'air sous les titres (h3) */
.fg-app-wrap.results-mode .fg-panel-profile :is(.fg-eval-h3,.fg-answers-h3,.fg-swot-title,.fg-pestel-title){
  margin-bottom: 30px !important;
}
/* =========================================
   OPPORTUNITÉS — supprimer l’ombre des cartes (les 50 programmes)
   (override FINAL, après le bloc "30. RESULTS — THEME ...")
========================================= */
.fg-app-wrap.results-mode .fg-panel-opps .fg-result-card{
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* optionnel: enlève aussi l’ombre du bouton Export dans Opps */

/* =========================
   EVAL — FIX PROPRE (typo d'origine + align exact + espacement plus serré)
========================= */

/* 1) Inset horizontal commun (réduit l'espace entre 0..5) */

/* 2) Track = même inset que les chiffres */

/* 3) Le rond : centré sur son % (sans changer sa taille) */

/* 4) Ligne 0..5 : on RESTORE la typo/couleur d'avant */

/* on ne touche PAS taille/couleur des chiffres */

/* =========================
   RESULTS — Sous-blocs programmes : même DA que "Détails du dispositif"
   (Financement + Discours = même surface que .fg-prog-details)
   À coller TOUT EN BAS
========================= */

.fg-app-wrap.results-mode .fg-result-card :is(
  .fg-kpi-cell,
  .fg-sec.speech
){
  background: var(--fg-r-card-strong) !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* =========================
   OPPORTUNITÉS — Compatibilité pliable (même style que "Détails du dispositif")
========================= */

/* SUMMARY = sous-titre interne (pas un gros titre) */

/* pas de marker natif */

/* ✅ flèche petite, discrète (comme détails) */

/* =========================
   RESULTS — Espacement entre "Compatibilité" (details) et "Discours conseillé"
   À coller TOUT EN BAS
========================= */

/* 1) Le bloc details (Détails/Compat) ne doit pas pousser trop bas */

/* 2) Le bloc discours ne doit pas repousser vers le bas */
.fg-app-wrap.results-mode .fg-sec.speech{
  margin-top: 10px !important;    /* ajuste: 6–14 */
}

/* =========================================================
   RESULTS — FIX TRAIT “TEMPORAIRE” (active/focus) sur <summary>
   (Réponses questionnaire + Détails dispositif + Compatibilité)
   À COLLER TOUT EN BAS
========================================================= */

/* 1) Réponses au questionnaire */

/* 2) Opportunités — Détails du dispositif */

/* 3) Opportunités — TON <details> “Vous avez XX%...” (si c’est un details sans classe dédiée)
   -> on couvre large, mais uniquement dans les cards opportunités */
.fg-app-wrap.results-mode .fg-result-card details > summary{
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
.fg-app-wrap.results-mode .fg-result-card details > summary:focus,.fg-app-wrap.results-mode .fg-result-card details > summary:focus-visible,.fg-app-wrap.results-mode .fg-result-card details > summary:active{
  outline: none !important;
  box-shadow: none !important;
}
/* =========================
   OPPORTUNITÉS — Discours conseillé pliable (details)
========================= */

/* supprime le “trait noir” focus/active sur summary */

/* =========================
   DETAILS — FLÈCHE UNIQUE (comme compatibilité)
========================= */

/* 1) supprime marker natif */
.fg-app-wrap.results-mode details > summary::-webkit-details-marker{ display:none !important; }
.fg-app-wrap.results-mode details > summary::marker{ content:"" !important; }

/* 2) supprime toute flèche HTML éventuelle (⌄ / svg) si tu en as) */
.fg-app-wrap.results-mode details > summary svg,.fg-app-wrap.results-mode details > summary .chev{
  display:none !important;
}

/* 3) la flèche CSS (TA référence) appliquée à TOUS les details concernés */

/* flèche fermée */

/* flèche ouverte */

/* =========================
   OPPS — Financement proposé : texte normal, chiffres bleus OK
========================= */

/* 1) Texte financement = PAS gras */

/* 2) Si le texte est wrap dans <strong>, on neutralise aussi */

/* 3) MAIS les chiffres bleus restent gras (tes spans fg-num/fg-pct/fg-money) */

/* ===========================
   BOARD — HEADER comme "image 2"
   - titre centré
   - sous-texte + trait fin
   - Reset à droite
=========================== */

/* le trait fin sous le sous-texte */

/* =========================
   BOARD — FULL BLEED (CLEAN, même pattern que .fg-hero / .fg-app)
   Objectif:
   - #fg-board-host = 100vw centré sur viewport
   - on ne touche PAS à la largeur des colonnes
========================= */
.fg-app-wrap.results-mode .fg-panel-plan #fg-board-host{
  /* reset des tentatives précédentes */
  left: auto !important;
  right: auto !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  width: 100vw !important;
  max-width: 100vw !important;

  /* padding latéral pour respirer */
  padding-left: 24px !important;
  padding-right: 24px !important;

  box-sizing: border-box !important;
}

/* le board (rectangle) occupe toute la largeur du host */
.fg-app-wrap.results-mode .fg-panel-plan #fg-board-preview{
  width: 100% !important;
  max-width: 100% !important;
}

/* IMPORTANT: ne pas laisser un parent clipper horizontalement */
.fg-app-wrap.results-mode .fg-panel-plan{
  overflow-x: visible !important;
}

/* =========================================================
   FUNDGUIDE — EMAIL MODAL (Premium / DA) — CLEAN (NO DUPLICATES)
   À coller tel quel dans TON fichier CSS global.
   Requiert tes classes HTML :
   - .fg-modal.fg-email-modal
   - .fg-email-card .fg-email-head .fg-email-title .fg-email-close
   - .fg-email-body .fg-email-ta
   - .fg-email-foot (ou .fg-email-actions) .fg-email-note .fg-email-copy .fg-email-msg
   ========================================================= */

/* Overlay (lavande clair + blur doux) */

/* Card (glass clair, cohérent FundGuide) */

/* Top bar (bande lavande, pas bleu) */

/* Title */

/* Close button */

/* Body */

/* Textarea (clair, lisible, “email editor”) */

/* Footer */

/* Si tu utilises un wrapper dédié aux actions */

/* Note (pro, discret) */

/* Copy button (CTA violet FundGuide) */

/* Message */

/* Mobile */

/* Bleu du pourcentage dans le summary compat (sans toucher aux autres) */

/* Compat summary: empêcher le layout en colonnes / espaces bizarres */

/* Si un style global met summary en flex */

/* =========================================================
   FINANCEMENT PROPOSÉ — FIX PADDING + SAME LOOK
   (match ton HTML actuel: <details class="... fg-finacc"> + <div class="fg-fin-body">)
   À COLLER TOUT EN BAS
========================================================= */

/* summary (garde ta typo, pas de font-size forcé) */

/* no marker */

/* arrow */

/* titre gauche */

/* preview droite clamp */

/* chiffres bleus dans preview */

/* ✅ LE POINT CLÉ : padding sur TON conteneur réel (.fg-fin-body) */

/* ton texte (si tu utilises <p class="fg-fin-text">) */

/* anti-puces hard (si un UL/OL traîne) */

/* FINANCEMENT — preview à droite + clamp */

/* .fg-fin-preview dans SUMMARY : le style "clamp 2 lignes à droite" est géré par
   la règle > summary .fg-fin-preview plus bas. Ici on ne clamp plus : dans le body
   ouvert, la phrase prend toute la largeur. */

/* Body ouvert : phrase IA occupe toute la largeur, lisible à gauche */

/* Chiffres en bleu dans toute la section Financement proposé (summary + body ouvert) */

/* FINANCEMENT PROPOSÉ — taille du texte OUVERT (uniquement ici) */

/* ===== FINANCEMENT PROPOSÉ — summary en 1 phrase (pas 2 colonnes) ===== */

/* clamp 2 lignes SUR LA PHRASE */

/* Chiffres en bleu dans toute la section Financement proposé (summary + body ouvert) */

/* =========================================================
   EXPORT MODAL — v2 clean (ciblage par classes, pas de > div > div)
   Remplace toutes les règles legacy #fg-export-modal > div ...
========================================================= */

/* Overlay */
#fg-export-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: rgba(15, 22, 41, .45) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Card */

@keyframes fg-exp-pop {
  from { opacity: 0; transform: translateY(12px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Header */

/* Body */

/* Radio cards (Excel / PDF) */

/* Advanced options */

/* Message */

/* Footer */

/* Bouton statut (pill) — plus discret */

/* Retire aussi le contour blanc du wrapper si c'est lui */

/* Hover doux */

/* Focus: pas de ring/outline */

/* (Optionnel) Dot moins visible */

/* OPPORTUNITÉS — Bouton statut (pill) lavande + un poil bleuté (plein, sans transparence) */

/* V13.1 — .fg-eval-wrap { display:none } retiré. L'évaluation IA est maintenant
   visible dans l'onglet "Évaluation" de la modale Mon dossier. Les styles actifs
   pour .fg-eval-wrap / .fg-eval-grid / .fg-eval-card sont plus bas (l.12217+). */
/* Bloc OPPORTUNITY MODAL déplacé et unifié — cf PASS 81 tout en bas du fichier. */
/* =========================================================
   ORG — Explorer base FundGuide
========================================================= */

/* =========================================================
   ORG — Modal détails programme
========================================================= */

/* =========================================================
   ORG — Base cabinet en cartes + modale éditable
========================================================= */

/* =========================================================
   ORG — SEARCH BARS FINAL FIX
   restaure le design de la 1re barre
   et applique exactement le même à la 2e
========================================================= */

/* ORG — bouton Importer via JSON */

/* =========================================================
   OPPORTUNITÉS — Tableau Kanban (cases répliquées)
========================================================= */

/*LOGOS de financement*/

/* Kanban = plus petit que maintenant */

/* Compatibilité = double visuellement */

/* Financement proposé = double visuellement */

/* Détails du dispositif = double visuellement */

/* Discours conseillé = double visuellement */

/* ===========================
   DOCS BAR + PLAN SHELL
   - même largeur
   - même flèche
   - même inclinaison
   - même comportement
=========================== */

#fg-plan-shell{
  width: min(var(--fg-max-width), 96%);
  margin: 0 auto 10px auto;
  box-sizing: border-box;
}

#fg-board-docsbar{
  width: min(calc(var(--fg-max-width) - 84px), calc(96% - 84px));
  margin: 0 auto 10px auto;
  box-sizing: border-box;
}

#fg-board-docsbar details,#fg-plan-shell details{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.30);
  background: rgba(255,255,255,.32);
  box-shadow: 0 16px 44px rgba(8,21,59,.10);
  overflow: hidden;
}

#fg-board-docsbar summary,#fg-plan-shell summary{
  list-style: none !important;
  cursor: pointer;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

#fg-board-docsbar summary::-webkit-details-marker,#fg-plan-shell summary::-webkit-details-marker{
  display: none !important;
}

#fg-board-docsbar summary::marker,#fg-plan-shell summary::marker{
  content: "" !important;
}

#fg-board-docsbar summary:focus,#fg-board-docsbar summary:focus-visible,#fg-board-docsbar summary:active,#fg-plan-shell summary:focus,#fg-plan-shell summary:focus-visible,#fg-plan-shell summary:active{
  outline: none !important;
  box-shadow: none !important;
}

#fg-plan-shell .fg-export-wrap{
  margin: 14px 0 0 0 !important;
  padding: 0 !important;
}

/* =========================
   ORG PASSWORD TOGGLE
   ========================= */

/* ============================================================
   V06 MERGE 2026-04-13 — fundguide-v2.css mergé ici
   Tout le contenu ci-dessous provient de fundguide-v2.css
   (migration dark→light DA, PASS 1-30 + ajouts V05.1 status).
   Loaded APRÈS les règles originales → !important gagne les
   batailles de spécificité comme avant.
============================================================ */

/* ============================================================
   HOMEPAGE MIGRATION — dark → light overrides
   These override existing fg-* classes to apply the new DA.
   NOT inside @layer so they win over legacy styles.
   To rollback: delete this entire block.
   ============================================================ */

/* --- 0. ROOT: override dark variables --- */
:root {
  --fg-bg-image: none;
  --fg-bg-image-2: none;
  --fg-text: #0D1B3C;
  --fg-muted: #6a7a9a;
  --glass-alpha: 0;
  --glass-border: rgba(230,236,247,1);
}

/* Kill ALL dark backgrounds */
html {
  background: #f8faff !important;
}
body {
  background: #f8faff !important;
}
body.page-id-6,body.page-id-7,body.page-id-8,body.page-id-9,body.page-id-16,body.page-id-93,body.page-id-95{
  background: #f8faff !important;
}
html:has(body.fg-org-mode),html:has(body.page-id-6),html:has(body.page-id-16){
  background: #f8faff !important;
}

/* Override local-overrides.css --fg-text on page-id-6 */
body.page-id-6 {
  --fg-text: #0D1B3C !important;
  --fg-muted: #6a7a9a !important;
}

/* --- 1. HERO --- */
.fg-hero {
  background: #f8faff !important;
  color: #0D1B3C !important;
}

.fg-brand { color: #0D1B3C !important; }
.fg-h1 { color: #0D1B3C !important; }
.fg-sub { color: #6a7a9a !important; }

/* === Brand logo upgrade (V11 — 2026-04-30) — typo refined + halo soft === */
.fg-topbar .fg-brand {
  font-weight: 800 !important;
  font-size: 16.5px !important;
  letter-spacing: -0.015em !important;
  gap: 11px !important;
  transition: opacity .22s, transform .22s !important;
}
.fg-topbar .fg-brand:hover {
  opacity: 0.78 !important;
  transform: translateY(-1px) !important;
}
.fg-topbar .fg-logo-img {
  display: none !important;
}
.fg-topbar .fg-brand::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><defs><linearGradient id='g' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%236576FF'/><stop offset='100%25' stop-color='%238A6CFF'/></linearGradient></defs><path fill='url(%23g)' d='M12 2 22 7v10l-10 5L2 17V7z'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
  transition: transform .22s !important;
}
.fg-topbar .fg-brand:hover::before {
  transform: scale(1.08) rotate(8deg);
}
.fg-topbar .fg-brand-text {
  display: inline-block;
  background: linear-gradient(135deg, #0D1B3C 0%, #2A3A6E 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* === Login btn "J'ai un code" upgrade — icône clé + hover violet refined === */
.fg-login-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 9px 18px 9px 14px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #0D1B3C !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.06) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  transition: transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s, border-color .22s, color .22s !important;
}
.fg-login-btn .fg-login-btn-ic {
  color: #6576FF !important;
  flex-shrink: 0 !important;
  transition: transform .22s !important;
}
.fg-login-btn:hover {
  background: #fff !important;
  color: #6576FF !important;
  border-color: rgba(101, 118, 255, 0.42) !important;
  box-shadow: 0 8px 22px rgba(101, 118, 255, 0.18) !important;
  transform: translateY(-1px) !important;
}
.fg-login-btn:hover .fg-login-btn-ic {
  transform: rotate(-12deg) scale(1.1) !important;
}
.fg-login-btn:active { transform: scale(0.97) !important; }

.fg-cta-pill {
  background: linear-gradient(135deg, #6576FF, #8A6CFF) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 8px 28px rgba(101,118,255,.28) !important;
}

/* Mode switch */

/* --- 2. HOME MAIN --- */
.fg-home-main {
  background: #f8faff !important;
  color: #0D1B3C !important;
}

/* --- 3. IMPACT CARDS --- */

/* --- 4. SERVICES --- */

/* --- 5. PREVIEW SECTION --- */

.fg-toggle-btn { color: #6a7a9a !important; }
.fg-toggle-btn.active { color: #0D1B3C !important; font-weight: 700 !important; }
.fg-toggle-highlight {
  background: linear-gradient(135deg, #6576FF, #8A6CFF) !important;
}

/* --- 6. PRICING --- */

/* --- 7. TESTIMONIALS --- */

/* --- 8. FAQ --- */

.fg-faq-item {
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.04) !important;
}
.fg-faq-header { color: #0D1B3C !important; }

/* --- 9. CONTACT --- */

.fg-contact-form {
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 4px 16px rgba(48,78,160,.06) !important;
}

/* --- 10. LEGAL/FOOTER --- */

.fg-legal-link { color: #5765db !important; }

/* --- 11. FOCUS STATES --- */
:where(button, a, input, select, textarea):focus-visible {
  outline: 2px solid rgba(101,118,255,.4) !important;
}

/* --- 12. ORG MODE bg --- */
html:has(body.fg-org-mode) {
  background: #f8faff !important;
  background-image: none !important;
}

/* --- 13. NEW HOMEPAGE SECTIONS (mockup migration) --- */

/* Gradient text */
.fg-gradient-text {
  background: linear-gradient(135deg, #6576FF 0%, #8A6CFF 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Trust Bar */

/* Section layout */

/* Showcase Card */

/* Steps Grid */

/* Variante 3 cards (cabinet "Intégrez FundGuide dans votre pratique") */

/* Features Grid */

/* Dashboard Mockup */

/* Responsive for new sections */

/* --- 14. LOGIN --- */
.fg-login-form { color: #0D1B3C !important; }
.fg-login-note { color: #6a7a9a !important; }

/* --- 15. MODE TOGGLE (pill style from mockup) --- */
.fg-mode-toggle {
  display: inline-flex !important;
  background: #eef3ff !important;
  border-radius: 999px !important;
  padding: 4px !important;
  border: 1px solid #e6ecf7 !important;
}
.fg-mode-toggle-btn {
  padding: 10px 28px !important;
  border-radius: 999px !important;
  border: none !important;
  background: transparent !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #6a7a9a !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}
.fg-mode-toggle-btn.active {
  background: #fff !important;
  color: #0D1B3C !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.06) !important;
}

/* --- 16. PRICING V2 (from mockup) --- */

/* 2 mentions latérales discrètes sous la card principale (V12.1) */

/* ============================================================
   17. FAQ v2 (details/summary — native browser accordion)
   ============================================================ */

/* ============================================================
   18. CTA Final (gradient violet section)
   ============================================================ */

/* ============================================================
   19. Contact v2
   ============================================================ */

/* ============================================================
   20. Footer v2
   ============================================================ */

/* ============================================================
   21. QUESTIONNAIRE — mockup-matching styles
   ============================================================ */

/* App container */
.fg-app {
  background: #f8faff !important;
  color: #0D1B3C !important;
  /* V3 — card ancrée près du haut (au lieu de flotter au centre vertical) */
  align-items: flex-start !important;
  padding: clamp(40px, 6vh, 80px) 16px 80px !important;
}

/* Card wrapper */
.fg-app-wrap,.fg-app-wrap:not(.results-mode){
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  border-radius: 24px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 8px 32px rgba(48,78,160,.06) !important;
  max-width: 760px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* V3 — bouton Continuer en disabled visuel plutôt que masqué */

/* Topbar */

/* Progress bar — full width, no border, gradient */
.fg-app-wrap:not(.results-mode) #fg-progress,#fg-progress{
  height: 6px !important;
  border-radius: 0 !important;
  background: #eef3ff !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  width: 100% !important;
}
#fg-progress-bar {
  background: linear-gradient(90deg, #6576FF, #8A6CFF) !important;
  box-shadow: none !important;
  border-radius: 0 4px 4px 0 !important;
  transition: width 0.5s cubic-bezier(.4,0,.2,1) !important;
}

/* Step body — generous padding */
#fg-step {
  min-height: 300px !important;
  padding: 32px 32px 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Question title */

/* Options — with radio dot */

/* Radio dot via pseudo-element */

/* Chips multi-select */

/* Inputs & Selects */

/* Form labels */

/* Tip box */

/* Nav — border-top, space between */

/* City suggestions */

/* Form separator */

/* Hide topbar + progress in results mode */
.fg-app-wrap.results-mode #fg-progress { display: none !important; }
.fg-app-wrap.results-mode { padding: 26px 24px 20px !important; max-width: none !important; }

/* Loading state */

/* ============================================================
   HOMEPAGE MIGRATION — dark → light overrides
   These override existing fg-* classes to apply the new DA.
   NOT inside @layer so they win over legacy styles.
   To rollback: delete this entire block.
   ============================================================ */

/* --- 0. ROOT: override dark variables --- */
:root {
  --fg-bg-image: none;
  --fg-bg-image-2: none;
  --fg-text: #0D1B3C;
  --fg-muted: #6a7a9a;
  --glass-alpha: 0;
  --glass-border: rgba(230,236,247,1);
}

/* Kill ALL dark backgrounds */
html {
  background: #f8faff !important;
}
body {
  background: #f8faff !important;
}
body.page-id-6,body.page-id-7,body.page-id-8,body.page-id-9,body.page-id-16,body.page-id-93,body.page-id-95{
  background: #f8faff !important;
}
html:has(body.fg-org-mode),html:has(body.page-id-6),html:has(body.page-id-16){
  background: #f8faff !important;
}

/* Override local-overrides.css --fg-text on page-id-6 */
body.page-id-6 {
  --fg-text: #0D1B3C !important;
  --fg-muted: #6a7a9a !important;
}

/* --- 1. HERO --- */
.fg-hero {
  background: #f8faff !important;
  color: #0D1B3C !important;
}

.fg-brand { color: #0D1B3C !important; }
.fg-h1 { color: #0D1B3C !important; }
.fg-sub { color: #6a7a9a !important; }

/* === Brand logo upgrade (V11 — 2026-04-30) — typo refined + halo soft === */
.fg-topbar .fg-brand {
  font-weight: 800 !important;
  font-size: 16.5px !important;
  letter-spacing: -0.015em !important;
  gap: 11px !important;
  transition: opacity .22s, transform .22s !important;
}
.fg-topbar .fg-brand:hover {
  opacity: 0.78 !important;
  transform: translateY(-1px) !important;
}
.fg-topbar .fg-logo-img {
  display: none !important;
}
.fg-topbar .fg-brand::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><defs><linearGradient id='g' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%236576FF'/><stop offset='100%25' stop-color='%238A6CFF'/></linearGradient></defs><path fill='url(%23g)' d='M12 2 22 7v10l-10 5L2 17V7z'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
  transition: transform .22s !important;
}
.fg-topbar .fg-brand:hover::before {
  transform: scale(1.08) rotate(8deg);
}
.fg-topbar .fg-brand-text {
  display: inline-block;
  background: linear-gradient(135deg, #0D1B3C 0%, #2A3A6E 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* === Login btn "J'ai un code" upgrade — icône clé + hover violet refined === */
.fg-login-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 9px 18px 9px 14px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #0D1B3C !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.06) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  transition: transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s, border-color .22s, color .22s !important;
}
.fg-login-btn .fg-login-btn-ic {
  color: #6576FF !important;
  flex-shrink: 0 !important;
  transition: transform .22s !important;
}
.fg-login-btn:hover {
  background: #fff !important;
  color: #6576FF !important;
  border-color: rgba(101, 118, 255, 0.42) !important;
  box-shadow: 0 8px 22px rgba(101, 118, 255, 0.18) !important;
  transform: translateY(-1px) !important;
}
.fg-login-btn:hover .fg-login-btn-ic {
  transform: rotate(-12deg) scale(1.1) !important;
}
.fg-login-btn:active { transform: scale(0.97) !important; }

.fg-cta-pill {
  background: linear-gradient(135deg, #6576FF, #8A6CFF) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 8px 28px rgba(101,118,255,.28) !important;
}

/* Mode switch */

/* --- 2. HOME MAIN --- */
.fg-home-main {
  background: #f8faff !important;
  color: #0D1B3C !important;
}

/* --- 3. IMPACT CARDS --- */

/* --- 4. SERVICES --- */

/* --- 5. PREVIEW SECTION --- */

.fg-toggle-btn { color: #6a7a9a !important; }
.fg-toggle-btn.active { color: #0D1B3C !important; font-weight: 700 !important; }
.fg-toggle-highlight {
  background: linear-gradient(135deg, #6576FF, #8A6CFF) !important;
}

/* --- 6. PRICING --- */

/* --- 7. TESTIMONIALS --- */

/* --- 8. FAQ --- */

.fg-faq-item {
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.04) !important;
}
.fg-faq-header { color: #0D1B3C !important; }

/* --- 9. CONTACT --- */

.fg-contact-form {
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 4px 16px rgba(48,78,160,.06) !important;
}

/* --- 10. LEGAL/FOOTER --- */

.fg-legal-link { color: #5765db !important; }

/* --- 11. FOCUS STATES --- */
:where(button, a, input, select, textarea):focus-visible {
  outline: 2px solid rgba(101,118,255,.4) !important;
}

/* --- 12. ORG MODE bg --- */
html:has(body.fg-org-mode) {
  background: #f8faff !important;
  background-image: none !important;
}

/* --- 13. NEW HOMEPAGE SECTIONS (mockup migration) --- */

/* Gradient text */
.fg-gradient-text {
  background: linear-gradient(135deg, #6576FF 0%, #8A6CFF 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Trust Bar */

/* Section layout */

/* Showcase Card */

/* Steps Grid */

/* Variante 3 cards (cabinet "Intégrez FundGuide dans votre pratique") */

/* Features Grid */

/* Dashboard Mockup */

/* Responsive for new sections */

/* --- 14. LOGIN --- */
.fg-login-form { color: #0D1B3C !important; }
.fg-login-note { color: #6a7a9a !important; }

/* --- 15. MODE TOGGLE (pill style from mockup) --- */
.fg-mode-toggle {
  display: inline-flex !important;
  background: #eef3ff !important;
  border-radius: 999px !important;
  padding: 4px !important;
  border: 1px solid #e6ecf7 !important;
}
.fg-mode-toggle-btn {
  padding: 10px 28px !important;
  border-radius: 999px !important;
  border: none !important;
  background: transparent !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #6a7a9a !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}
.fg-mode-toggle-btn.active {
  background: #fff !important;
  color: #0D1B3C !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.06) !important;
}

/* --- 16. PRICING V2 (from mockup) --- */

/* 2 mentions latérales discrètes sous la card principale (V12.1) */

/* ============================================================
   17. FAQ v2 (details/summary — native browser accordion)
   ============================================================ */

/* ============================================================
   18. CTA Final (gradient violet section)
   ============================================================ */

/* ============================================================
   19. Contact v2
   ============================================================ */

/* ============================================================
   20. Footer v2
   ============================================================ */

/* ============================================================
   22b. RAPPORT — COMPLETE VISUAL REDESIGN (CSS-only)
   Matches the mockup DA without changing HTML/JS
   ============================================================ */

/* ===== TOGGLE TABS ===== */
.fg-results-toggle {
  background: #eef3ff !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.04) !important;
}
.fg-toggle-highlight {
  background: linear-gradient(135deg, #6576FF, #8A6CFF) !important;
  box-shadow: 0 6px 16px rgba(101,118,255,.25) !important;
}
.fg-toggle-btn { color: #6a7a9a !important; }
.fg-toggle-btn.active { color: #fff !important; }

/* ===== HEADER ===== */

.fg-results-pill{
  background: #eef3ff !important;
  border: 1px solid #e6ecf7 !important;
  color: #0D1B3C !important;
}
.fg-results-intro { color: #0D1B3C !important; }

/* ===== SUMMARY CARD ===== */
.fg-summary {
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 4px 16px rgba(48,78,160,.06) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #0D1B3C !important;
}

/* ===== EVAL CARDS (scores) ===== */

/* ===== ANSWERS (questionnaire responses) ===== */

/* ===== SWOT ===== */

/* ===== PESTEL ===== */

/* ===== OPPORTUNITY CARDS ===== */
.fg-result-card {
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 16px rgba(48,78,160,.06) !important;
  color: #0D1B3C !important;
  padding: 20px 22px !important;
}
.fg-result-card:hover {
  box-shadow: 0 8px 32px rgba(48,78,160,.10) !important;
  transform: translateY(-2px) !important;
}

.fg-kpis {
  background: #f8faff !important;
  border-radius: 12px !important;
  border: 1px solid #e6ecf7 !important;
}

/* Compatibility section in cards */

/* Program details */

/* Speech/discours */
.fg-sec.speech{
  background: #f8faff !important;
  border: 1px solid #e6ecf7 !important;
  border-radius: 12px !important;
  border-left: 3px solid #8A6CFF !important;
  color: #3a4a6a !important;
}

/* Financial accordion */

/* Category filter bar */

/* Action buttons */

/* Status pills — PASS V05.1 couverture complète */

/* Status variantes — dot couleurs */

/* Checklist */

/* ===== PLAN / ACTION BOARD ===== */

/* .fg-planos-block : neutralisé PASS 18 (était white card avec border + shadow + padding 24px) */

/* Kanban board (plan) */
/* ===== BOARD / KANBAN — maquette style ===== */
#fg-board-preview {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 14px !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
@media (max-width: 740px) {
  #fg-board-preview { grid-template-columns: repeat(2, 1fr) !important; }}

/* Override inline <style> that sets purple bg on board cards */
/* Cards par défaut blanches — SAUF les data-prio qui sont colorées par PASS 21 */

/* Board card checks */

/* ===== DOCUMENTS ===== */

/* ===== GLOBAL TEXT FIX ===== */
/* 2026-09-25 (harmonisation admin) — ces deux règles forçaient la couleur des titres et de TOUT span de la zone résultats ;
   elles ne s'appliquent plus à la vue admin (body.fg-admin-view), qui a ses propres tokens (fg-src/16-admin-view-restyle.js). */
body:not(.fg-admin-view) .fg-app-wrap h2,body:not(.fg-admin-view) .fg-app-wrap h3,body:not(.fg-admin-view) .fg-app-wrap h4,body:not(.fg-admin-view) #fg-results h2,body:not(.fg-admin-view) #fg-results h3,body:not(.fg-admin-view) #fg-results h4{
  color: #0D1B3C !important;
}
body:not(.fg-admin-view) #fg-results p,body:not(.fg-admin-view) #fg-results li,body:not(.fg-admin-view) #fg-results span{
  color: inherit !important;
}

/* === MEGA OVERRIDE — same selectors as fundguide.css line 6287-6326 === */
.fg-app-wrap.results-mode :is(
  .fg-eval-card, details.fg-answers-sec,
  .fg-result-card, .fg-summary, .fg-planos, .fg-plan-period, .fg-plan-subcard,
  .fg-docs-card, .fg-plan-advice-box, .fg-docs-general-box, .fg-sec.speech
){
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #0D1B3C !important;
}

/* Sub-surfaces */
.fg-app-wrap.results-mode :is(.fg-prog-details, .fg-prog-block){
  background: #f8faff !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #0D1B3C !important;
}

/* Text inheritance */
.fg-app-wrap.results-mode :is(
  .fg-summary,.fg-eval-card,details.fg-answers-sec,.fg-swot-item,.fg-pestel-item,
  .fg-result-card,.fg-plan-period,.fg-plan-subcard,.fg-docs-card,.fg-planos,.fg-planos-card,
  .fg-plan-advice-box,.fg-docs-general-box,.fg-sec.speech,.fg-prog-details,.fg-prog-block
) :where(h1,h2,h3,h4,h5,h6,p,span,small,li,summary,label,div,td,th,strong,em) {
  color: #0D1B3C !important;
}

/* SWOT individual colors — AFTER the mega override */

/* PESTEL individual colors */

/* Speech blocks — override to keep border-left */
.fg-app-wrap.results-mode .fg-sec.speech,.fg-sec.speech{
  background: #f8faff !important;
  border-left: 3px solid #8A6CFF !important;
}

/* Planos cards */

/* Pestel tags */

/* Toggle */
.fg-app-wrap.results-mode .fg-results-toggle,.fg-results-toggle{
  background: #eef3ff !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.04) !important;
}
.fg-toggle-highlight {
  background: linear-gradient(135deg, #6576FF, #8A6CFF) !important;
  box-shadow: 0 6px 16px rgba(101,118,255,.25) !important;
}

/* Results pills */
.fg-results-pill{
  background: #eef3ff !important;
  border: 1px solid #e6ecf7 !important;
  color: #0D1B3C !important;
}

/* ============================================================
   23. PORTAIL ORGANISME — dark -> light overrides
   Overrides for body.fg-org-mode (Cabinet portal at /app/?mode=org)
   Same palette as homepage migration. NOT inside @layer.
   ============================================================ */

/* --- A. BODY & GLOBAL ORG TEXT --- */

html:has(body.fg-org-mode) {
  background: #f8faff !important;
  background-image: none !important;
  background-color: #f8faff !important;
}

/* --- Topbar brand in org --- */

/* --- B. AUTH SCREENS (login/register) --- */

/* --- C. SHELL LAYOUT --- */

/* Sidebar */

/* Nav buttons */

/* Main area */

/* --- D. DASHBOARD CARDS --- */

/* --- E. TABLES --- */

/* Search input */

/* --- F. BUTTONS --- */

/* --- G. PILLS & STATUS --- */

/* --- H. SELECTS --- */

/* Page size select */

/* --- I. DROPDOWN CUSTOM --- */

/* --- J. MODAL --- */

/* --- K. PROGS TABLE --- */

/* --- L. BRANDING / SETTINGS --- */

/* --- M. SAVEBAR --- */

/* --- N. INLINE EDIT BAR --- */

/* --- O. EVAL CARDS --- */

/* --- P. TEXTAREA RULES --- */

/* ============================================================
   24. SYNTHESE PROFIL — Full visual redesign matching mockup
   ============================================================ */

/* === Summary card (header) === */
.fg-summary {
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  border-radius: 20px !important;
  box-shadow: 0 4px 16px rgba(48,78,160,.06) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #0D1B3C !important;
  padding: 28px 32px !important;
  text-align: center !important;
}

/* Meta chips (pills) */

/* === Eval scores === */

/* === Answers accordion === */

/* === SWOT === */

.fg-app-wrap.results-mode :is(.fg-swot-item){
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.04) !important;
}

/* SWOT individual colors — must beat the :is() selector */

/* === PESTEL === */

.fg-app-wrap.results-mode :is(.fg-pestel-item){
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 2px 8px rgba(48,78,160,.04) !important;
}

/* PESTEL individual colors */

/* ============================================================
   25. OPPORTUNITES — mockup classes (rp-opp-*)
   ============================================================ */

/* Opps header */

/* Filter pills */

/* Opp card */

/* Opp head */

/* Opp details */

/* Actions */

/* ============ Maquette: details/summary reset for <details> accordion ============ */

/* V11 2026-04-20 : espacer les sections Financement / Compatibilité / Détails
   (avant : collées car margin:0 plus haut). */

/* Espace aussi avant la 1ère section (sous le header card) */

/* V11 : retirer le border-top qui crée un trait entre les sections alors qu'on a déjà un espace */

/* V11 : retirer tout trait bottom parasite dans le body des sections + après la dernière */

/* Kill the ▾ pseudo-element from old fundguide.css */

/* Override old fundguide.css rule that hides all SVGs in summary in results-mode */

/* Force ALL accordion summaries in opp cards to same style regardless of details class */

@keyframes rpFadeUp {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============ Maquette: IA + Data sub-blocks ============ */

/* ============ Maquette: Compat checks grid ============ */

/* ============ Maquette: Detail cards grid ============ */

/* ============ Maquette: Speech block ============ */

/* ============ Financement summary: truncate preview ============ */

/* ============ Plan d'action: remove white bg ============ */

/* ============ Kanban board → maquette style ============ */

/* Kanban cards */

/* ============ Questionnaire synthèse → maquette style ============ */

/* Accordion sections for profile answers */

/* rp-accordion-body: when inside <details>, browser handles show/hide natively */

/* When NOT in <details>, JS toggle uses .open class */

/* Meta chips row */

/* ============ Questionnaire synthèse: accordion with <details> ============ */

/* Force SVGs visible in synthèse accordions */

/* Q&A items inside accordion */

/* ============================================================
   ESPACE CABINET — Migration maquette unifiée (2026-04-13)
   Scope : body.fg-org-mode
   Remappe .fg-org-* vers le look de la maquette (aside/nav/kpi/table)
   ============================================================ */

/* --- SIDEBAR --- */

/* --- MAIN --- */

/* --- TOGGLE MODE --- */

/* --- KPI GRID --- */

/* --- TABLE --- */

/* Startup cell (maquette) */

/* Code pill */

/* Mode badge */

/* Mode badge select : combine look badge + <select> natif fonctionnel.
   La regression precedente rendait un span non cliquable sauf en edit mode.
   Ici, le select est TOUJOURS interactif mais style comme un badge. */

/* State ico */

/* Status select (maquette) */

/* Link btn (Copier lien) */

/* Table footer */

/* END ESPACE CABINET migration */

/* ============================================================
   ESPACE CABINET — PASS 3 : alignement exact sur la maquette
   Objectif : styles issus de .shell / .main-top / .btn / .search-input /
   .pagination / .link-btn / .status-select / .main-top h1 + .sub
   tels que definis dans maquette_unifiee_fundguide.html (l. 5180-5765).
   Scope strict body.fg-org-mode.
   ============================================================ */

/* --- Shell : espacement sidebar <-> main (maquette = 280px 1fr) --- */

/* --- Main-top : titre + sous-titre comme maquette .main-top h1 / .sub --- */

/* --- Bouton Deconnexion (maquette .btn.ghost) --- */

/* --- Barre d'outils tableau : exactement comme .table-tools maquette --- */

/* --- Search input : exactement comme .search-input maquette avec icone SVG --- */

/* --- Toolbar bouton "Modifier" + "Acheter des credits" utilisent style ghost maquette --- */

/* --- Table : typographie + padding lisibles maquette --- */

/* --- Boutons dans le tableau : .btn.ghost mini (padding 6px 12px / fs 11px maquette) --- */

/* --- Link btn (Copier lien / Copier lien final) : maquette .link-btn --- */

/* --- Status select mini-chip maquette (7px 12px / 12px / rad 8) --- */

/* --- Client view "Choisir" select : meme style --- */

/* --- Pagination bas de tableau : maquette .pagination --- */

/* --- Mode badge select : garanti visuel maquette "chip" compact --- */

/* ---- fin PASS 3 ---- */

/* ============================================================
   PASS 4 — SECTION CREDITS & FACTURATION (renderBilling)
   Maquette : .credits-card / .packs / .pack / .tx-table
   Structure JS : .fg-bill-grid > .fg-bill-credits-card + .fg-bill-packs
                  + .fg-bill-tx-table
   ============================================================ */

/* --- HERO CARD CREDITS --- */

/* --- PACKS --- */

/* --- TRANSACTIONS TABLE --- */

/* ---- fin PASS 4 ---- */

/* ============================================================
   PASS 5 - Sections cabinet : Programmes / Regles / Feature / Demo / Settings
   Date: 2026-04-13
   Restyle des fonctions render existantes vers la maquette unifiee.
   Tous les selecteurs sont scopes body.fg-org-mode pour ne pas fuiter.
   Aucun changement structurel HTML n a ete fait pour les uploads
   (zone sensible) - uniquement override visuel.
   ============================================================ */

/* ---- Tokens locaux mappes vers fv2 ---- */

/* =========================================================
   COMMUN - cards / boutons / inputs / selects / textareas
   pour les onglets programs/expert_rules/feature/demo/settings
   ========================================================= */

/* Inputs / selects / textareas */

/* Boutons */

/* fg-field labels */

/* =========================================================
   PROGRAMMES (tab=programs)
   ========================================================= */

/* Toolbar de recherche - grille type maquette */

/* Liste resultats - mise au format maquette (.fg-prog-row, .cab-prog-row) */

/* La fonction fgRenderCabinetProgramsList / fgOrgProgramsSearchInit produit
   souvent des items sous diverses formes - on enrobe avec un look de carte */

/* Card 2 - Votre base de programmes */

/* Footer actions de la card cabinet */

/* Panel JSON */

/* =========================================================
   REGLES D'EXPERTS (tab=expert_rules)
   ========================================================= */

/* =========================================================
   FEATURE REQUEST (tab=feature)
   ========================================================= */

/* =========================================================
   DEMO / TUTORIEL (tab=demo)
   ========================================================= */

/* =========================================================
   PARAMETRES / BRANDING (tab=settings) - VISUEL UNIQUEMENT
   On NE TOUCHE PAS au HTML/JS des dropzones (uploads sensibles).
   ========================================================= */

/* Drop zone (logo + bg) */

/* Statuts - editor table */

/* ---- fin PASS 5 ---- */

/* ============================================================
   PASS 6 — STRUCTURE EN 2 CARDS (sidebar + main)
   Objectif : sidebar et main content en cards séparées, padding
   autour, gap entre les deux. Donne une vraie respiration visuelle.
   Scope : body.fg-org-mode
   ============================================================ */

/* Le top bar reste à l'intérieur de la card main, pas de border-bottom dur */

/* Sidebar scrollbar discrète */

/* Responsive : empile les 2 cards en colonne sous 980px */

/* ---- fin PASS 6 ---- */

/* ============================================================
   PASS 7 — RESET WORDPRESS CHROME pour espace org
   Le portail est rendu dans une chaîne de wp-block-group avec
   padding/margin globaux qui parasitent la mise en page.
   On neutralise tout pour que .fg-org-shell prenne le viewport.
   ============================================================ */

/* La shell prend tout l'écran, sans fond bleuté */

/* ---- fin PASS 7 ---- */

/* ============================================================
   PASS 8 — Fond bleuté restauré + sidebar et main collés
   Napa : garder le fond bleuté léger, et coller les 2 cards
   (moins d'espace entre, moins d'espace autour).
   ============================================================ */

/* ---- fin PASS 8 ---- */

/* ============================================================
   PASS 9 — Sidebar pleine hauteur + bleu clair dans main + zéro marge
   ============================================================ */

/* Les cards et tableaux dans le main restent blancs pour ressortir sur fond bleu clair */
/* IMPORTANT : ne PAS forcer .fg-bill-credits-card (gradient violet) ni .fg-bill-pack (style propre) */

/* ---- fin PASS 9 ---- */

/* ============================================================
   PASS 10 — Pagination numérotée + alignement table + boutons compacts
   ============================================================ */

/* Footer table : pagination poussée à droite */

/* Numéros de page */

/* Boutons prev/next plus discrets */

/* Boutons toolbar tableau plus compacts */

/* Search input dans toolbar plus fin */

/* Alignement colonnes table : header et content alignés à gauche par défaut,
   et centrés pour les colonnes courtes (Date, Mode, Etat, Action, Choisir, Statut) */

/* Centrer aussi les contenus inline (badges, boutons, selects) dans ces cellules */

/* ---- fin PASS 10 ---- */

/* ============================================================
   PASS 11 — Programmes : style maquette .cab-prog-row
   Restyle .fg-org-program-row pour ressembler aux rows compactes
   de la maquette (badge + name + meta sur 1 ligne, action à droite).
   ============================================================ */

/* Même traitement pour les résultats de recherche dans la base FG */

/* ---- fin PASS 11 ---- */

/* ============================================================
   PASS 12 — MODALES DA LIGHT (2026-04-13)
   Harmonise les 10 modales existantes avec la maquette unifiée.
   Système de référence : .fg-modal-overlay / .fg-modal-card.
   Stratégie : cibler les classes existantes (fg-org-modal,
   fg-pay-overlay, fg-org-prog-modal, fg-email-modal, fg-export-modal,
   fg-opp-modal, fg-qa-modal) et les restyles sans toucher au JS.
   Gradient violet #6576FF→#8A6CFF, fond ice #f8faff, radius 16-18,
   shadows douces, boutons pill.
   ============================================================ */

/* --- 1) OVERLAY COMMUN (backdrop blur, centrage, fade) --- */
#fg-export-modal,#fg-qa-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  background: rgba(13, 27, 60, 0.42) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  backdrop-filter: blur(6px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  animation: fgV2FadeIn .18s ease !important;
}
@keyframes fgV2FadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fgV2PopIn { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }

/* --- 2) CARTE COMMUNE (blanc, radius, shadow, animation) --- */
#fg-email-modal > div,#fg-export-modal > div{
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 1px solid #e6ecf7 !important;
  box-shadow: 0 16px 56px rgba(48, 78, 160, .10) !important;
  width: 100% !important;
  max-width: 560px !important;
  max-height: 88vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  animation: fgV2PopIn .22s ease !important;
  padding: 0 !important;
  color: #0D1B3C !important;
}

/* tailles larges pour les modales complexes */
#fg-email-modal > div{
  max-width: 1000px !important;
}
#fg-export-modal > div {
  max-width: 560px !important;
}

/* --- 3) HEADER GRADIENT (pour modales "feature" : crédits, stripe) --- */

/* stripe head : h3+close côte à côte */

/* --- 4) HEADER NEUTRE (modales "formulaire" : new dossier, cabinet program, email, export, qa) --- */

/* bouton "Fermer" du cabinet program : pill ghost */

/* --- 5) BOUTONS CLOSE (pastille ronde, hover soft) --- */

/* --- 6) BODY COMMUN --- */

/* --- 7) FOOTER ICE --- */

/* --- 8) BOUTONS PILL HARMONISÉS --- */

/* primary (pay, valider, créer) */

/* --- 9) INPUTS HARMONISÉS (fond ice, focus blue ring) --- */
#fg-qa-modal input[type="text"],#fg-qa-modal input[type="number"],#fg-qa-modal input[type="date"]{
  width: 100% !important;
  padding: 11px 14px !important;
  border-radius: 12px !important;
  border: 1.5px solid #e6ecf7 !important;
  background: #f8faff !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: #0D1B3C !important;
  transition: all .2s !important;
  box-sizing: border-box !important;
}
#fg-qa-modal input:focus {
  outline: none !important;
  border-color: #6576FF !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(101, 118, 255, .10) !important;
}

/* labels (h4 dans fg-org-prog-modal) */

/* --- 10) MODALE CRÉDITS : pack row + secure row --- */

/* --- 11) MODALE STRIPE (paiement) : legal rows + status --- */

/* --- 12) MODALE CABINET PROGRAM : grid 2 cols --- */

/* --- 13) TOAST "Dossier créé" (fg-org-modal-card sans foot) --- */

/* --- 14) MODALE EMAIL GÉNÉRÉ (fg-email-modal) --- */
#fg-email-modal textarea{
  width: 100% !important;
  min-height: 280px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  padding: 16px !important;
  border: 1.5px solid #e6ecf7 !important;
  border-radius: 12px !important;
  background: #f8faff !important;
  color: #0D1B3C !important;
  resize: vertical !important;
}
#fg-email-modal textarea:focus {
  outline: none !important;
  border-color: #6576FF !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(101, 118, 255, .10) !important;
}
#fg-email-modal button {
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  transition: all .2s !important;
  border: 1.5px solid #e6ecf7 !important;
  background: #ffffff !important;
  color: #3a4a6a !important;
}
#fg-email-modal button.primary,#fg-email-modal button[data-action="copy"]{
  background: linear-gradient(135deg, #6576FF 0%, #8A6CFF 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 28px rgba(101, 118, 255, .28) !important;
}

/* --- 15) MODALE EXPORT (fg-export-modal) — light au lieu du glassmorphism sombre --- */
#fg-export-modal > div {
  background: #ffffff !important;
  color: #0D1B3C !important;
  border: 1px solid #e6ecf7 !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 56px rgba(48, 78, 160, .10) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  max-width: 560px !important;
  max-height: 88vh !important;
}
#fg-export-modal h2,#fg-export-modal h3{
  color: #0D1B3C !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e6ecf7 !important;
  padding: 18px 22px !important;
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}
#fg-export-modal label,#fg-export-modal p,#fg-export-modal div{
  color: inherit !important;
}
#fg-export-modal input[type="radio"],#fg-export-modal input[type="checkbox"]{
  accent-color: #6576FF !important;
}
#fg-export-modal button {
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  transition: all .2s !important;
  border: 1.5px solid #e6ecf7 !important;
  background: #ffffff !important;
  color: #3a4a6a !important;
}
#fg-export-modal button.primary,#fg-export-modal button[type="submit"]{
  background: linear-gradient(135deg, #6576FF 0%, #8A6CFF 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 28px rgba(101, 118, 255, .28) !important;
}

/* --- 16) MODALE DÉTAIL OPPORTUNITÉ : retirée, gérée par PASS 81 en fin de fichier --- */

/* --- 17) MODALE QA AFFINAGE (fg-qa-modal) --- */

/* intro QA (zone explicative) */

/* --- 18) DÉTAILS PROGRAMME (browse modal générée via fg-org-modal) --- */
/* La modale détails programme (lecture seule) réutilise fg-org-modal + contenu sections */

/* --- 19) AFFINAGES HEADER (modales sans head explicite : new-case) --- */

/* --- 20) BUY MSG (feedback Stripe création PI) --- */

/* ---- fin PASS 12 ---- */

/* ===========================================================
   PASS 13 — REVERT MODALE "ACHETER CRÉDITS" (2026-04-13)
   Neutralise les overrides PASS 12 spécifiques à fg-buy-* afin
   de retrouver le rendu d'origine (avant restyle DA light).
   On conserve UNIQUEMENT le radius + shadow + bg blanc de base
   de la modale (.fg-org-modal .fg-org-modal-card), et on relâche
   tout le reste : header gradient, select-row, secure, btn restyle,
   foot-ice background, etc. Les bindings JS / IDs sont intacts.
   =========================================================== */

/* Header crédits : on enlève le gradient violet et on revient neutre */

/* Pack row (select pack) : on enlève le fond ice + border + ico violet */

/* Bandeau "Paiement sécurisé via Stripe" : retour ligne discrète */

/* Foot actions : retour neutre (pas de fond ice ni séparateur épais) */

/* Boutons buy : pill simple, pas de gradient violet sur le primary */

/* Body : padding sain, sans bg ice forcé */

/* ---- fin PASS 13 ---- */

/* ===========================================================
   PASS 14 — RETOURS NAPA 2026-04-13
   - Org : Règles d'experts redesign (intro pastel + cards + editor)
   - Rapport : nav onglets style maquette
   - Rapport : opportunités sous-catégories
   - Rapport : kanban Plan d'action style "Pilotage humain"
   - Rapport : Cadre d'exécution restyle
   =========================================================== */

/* --- 14.1) ORG — RÈGLES D'EXPERTS --- */

/* --- 14.2) RAPPORT STARTUP — NAV ONGLETS (Synthèse / Opportunités / Plan / Docs) --- */
.fg-app-wrap.results-mode .fg-results-toggle-wrap {
  display: flex !important;
  justify-content: center !important;
  margin: 18px auto 22px !important;
  padding: 0 16px !important;
}
.fg-app-wrap.results-mode .fg-results-toggle {
  position: relative !important;
  display: inline-flex !important;
  gap: 4px !important;
  padding: 5px !important;
  background: #fff !important;
  border: 1px solid #e6ecf7 !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 22px rgba(48,78,160,.08) !important;
}
.fg-app-wrap.results-mode .fg-results-toggle .fg-toggle-btn {
  position: relative !important;
  z-index: 1 !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #6a7a9a !important;
  cursor: pointer !important;
  transition: color .2s ease !important;
}
.fg-app-wrap.results-mode .fg-results-toggle .fg-toggle-btn:hover { color: #0D1B3C !important; }
.fg-app-wrap.results-mode .fg-results-toggle .fg-toggle-btn.active {
  background: linear-gradient(135deg, #6576FF 0%, #8A6CFF 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(101,118,255,.30) !important;
}
.fg-app-wrap.results-mode .fg-results-toggle .fg-toggle-highlight {
  display: none !important;
}

/* --- 14.3) RAPPORT — OPPORTUNITÉS sous-catégories (board) --- */

/* --- 14.4) RAPPORT — KANBAN PLAN D'ACTION (titres colonnes style maquette) --- */

/* badge count à droite (auto via .fg-colcount si présent, fallback ::after sinon) */

/* Couleur de la pastille selon colonne */

/* --- 14.5) RAPPORT — CADRE D'EXÉCUTION (details collapsible + 4 cards) --- */

.fg-app-wrap.results-mode .fg-export-wrap {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 16px !important;
}

/* ---- fin PASS 14 ---- */

/* ===========================================================
   PASS 15 — RETOURS NAPA 2026-04-13 (suite)
   - Kanban : titres colorés + icônes visibles (surcharger #fg-board-preview)
   - Cadre d'exécution : rectangle BLANC (pas lavande)
   - Cadre d'exécution : fix grid cassé à gauche (parent .fg-planos est display:grid 4col)
   - Pré-requis dossier : card blanche avec icône gradient header
   =========================================================== */

/* --- 15.1) KANBAN PLAN — surcharges sur #fg-board-preview (spécificité #id) --- */

/* Couleur par data-col — blue / amber / violet (2x) / mint */

/* Pastille avant titre DÉSACTIVÉE (on a mis un vrai SVG maintenant) */

/* --- 15.2) CADRE D'EXÉCUTION — rectangle BLANC et non lavande --- */

/* Ré-afficher les SVG dans les summary (surcharge globale qui les cachait) */

.fg-app-wrap.results-mode #fg-board-docsbar-details > summary svg {
  display: inline-block !important;
  vertical-align: middle !important;
}

/* --- 15.3) CADRE D'EXÉCUTION — fix grid cassé à gauche --- */
/* Cause racine : .fg-planos a display:grid;grid-template-columns:repeat(4,1fr) (cf. fundguide-v2.css l.5704)
   Quand il contient .fg-planos-grid (rp-cadre-grid), ce dernier devient la 1ère cellule = 1/4 de largeur.
   On force .fg-planos à display:block dans le contexte du cadre d'exécution. */

/* Le grid 2x2 des 4 articles */

/* Cards du cadre — blanc propre avec header gradient icon */

/* --- 15.4) PRÉ-REQUIS DOSSIER — card blanche avec header gradient --- */
.fg-app-wrap.results-mode #fg-board-docsbar-details {
  background: #ffffff !important;
  border: 1px solid #e6ecf7 !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 18px rgba(48,78,160,.06) !important;
  overflow: hidden !important;
  margin: 16px 0 !important;
}
.fg-app-wrap.results-mode #fg-board-docsbar-details > summary {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  background: #ffffff !important;
  border-bottom: 1px solid transparent !important;
  cursor: pointer !important;
  list-style: none !important;
}
.fg-app-wrap.results-mode #fg-board-docsbar-details[open] > summary {
  border-bottom-color: #e6ecf7 !important;
}
.fg-app-wrap.results-mode #fg-board-docsbar-details > summary::-webkit-details-marker {
  display: none !important;
}
/* Icône avant le titre via ::before (pas de modif JS nécessaire) */
.fg-app-wrap.results-mode #fg-board-docsbar-details > summary::before {
  content: "" !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236576FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='16' y1='13' x2='8' y2='13'/><line x1='16' y1='17' x2='8' y2='17'/><polyline points='10 9 9 9 8 9'/></svg>") no-repeat center center,
    linear-gradient(135deg, #eef3ff 0%, #f3eeff 100%) !important;
  border: 1px solid #e6ecf7 !important;
}

/* ---- fin PASS 15 ---- */

/* ============================================================
   PASS 18 — Wrappers vraiment invisibles + alignement explicite
   Spécificité maximale via #fg-results pour battre tous les overrides.
   ============================================================ */

/* .fg-planos-block + .fg-planos invisibles totalement */

/* .rp-sicon transparent partout (battre les inline styles bleu et violet) */

/* Cadre + Pré-requis : alignement explicite, même width, même margin auto */
.fg-app-wrap.results-mode .fg-panel-plan #fg-plan-shell,.fg-app-wrap.results-mode .fg-panel-plan #fg-board-host,.fg-app-wrap.results-mode .fg-panel-plan #fg-board-docsbar{
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto 14px auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.fg-app-wrap.results-mode #fg-plan-shell-details,.fg-app-wrap.results-mode #fg-board-docsbar-details{
  width: 100% !important;
  /* V11 2026-04-20 : cadre d'exécution aligné avec la largeur naturelle du menu 3 catégories
     (Opportunités/Mes documents/Postuler) qui fait ~1000px en desktop. Responsive via min(). */
  max-width: min(1000px, 100%) !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* La planos-top (titre Plan d'action — Board) reste centrée mais sans wrapper */

/* ---- fin PASS 18 ---- */

/* ============================================================
   PASS 19 — Harmonisation logo + flèche Cadre / Pré-requis
   - Pré-requis : logo SVG inline sans pastille (comme Cadre)
   - Pré-requis : flèche SVG identique à Cadre (chevron-right closed)
   - Cadre + Pré-requis : flèche dans pastille ronde, rotate 90deg open
   ============================================================ */

/* Neutralise la pastille pseudo ::before sur Pré-requis (ancien logo doc) */
.fg-app-wrap.results-mode #fg-board-docsbar-details > summary::before {
  content: none !important;
  display: none !important;
}

/* Logo Pré-requis (SVG inline ajouté dans JS) — sans pastille */

/* Flèche Pré-requis : pastille ronde identique à Cadre, rotation 90deg open */

/* Flèche Cadre : même SVG chevron-right + rotate 90deg open (cohérence) */

/* Le SVG arrow de Cadre était chevron-down ; on le remplace visuellement
   par chevron-right via overrides path/polyline impossibles → on cache
   l'ancien SVG et on injecte un chevron-right via ::after pseudo */

/* ---- fin PASS 19 ---- */

/* ============================================================
   PASS 21 — Cards kanban : couleur légère par priorité
   + bouton "œil" en SVG clean (à la place de l'emoji 👁)
   Palette douce dans la DA :
   - P1 (urgent)  : rouge très clair  #fef2f2 + border #fecaca
   - P2 (medium)  : ambre très clair  #fffbeb + border #fde68a
   - P3 (normal)  : bleu très clair   #eff6ff + border #bfdbfe
   ============================================================ */

/* Double-ID prefix pour battre la règle inline `#fg-board-host #fg-board-preview .fg-card { bg:#fff }` */

/* Bouton œil SVG : pastille discrète qui devient violette au hover */

/* ---- fin PASS 21 ---- */

/* ============================================================
   PASS 22 — SWOT puces colorées + PESTEL redesign maquette
   - SWOT : titres déjà colorés, on enrichit les puces (couleur + taille)
   - PESTEL : cards blanches, lettre BIG colorée, name semi-bold,
     status pill (favorable / neutre / vigilance), description élégante
   - Très peu d'ombre partout
   ============================================================ */

/* ---- SWOT puces colorées + un peu plus grosses ---- */

/* ---- PESTEL : redesign cards style maquette ---- */

/* Header letter+label : passer en BIG letter + name à la ligne */

/* La pastille letter blanche (span avec #fff bg) → texte color BIG, sans pastille */

/* Le name à la ligne, semi-bold dark */

/* Status pill (À analyser / favorable / vigilance) */

/* Description (ul li) : plus élégante */

/* ---- fin PASS 22 ---- */

/* ============================================================
   PASS 23 — PESTEL bis : forcer fond blanc + impact bien encadré
   Spec 0,4,0 pour battre la règle :is() qui imposait #eff6ff/etc.
   ============================================================ */

/* Letter color : préfixer #fg-results pour battre #fg-results span { color: inherit !important } */

/* Impact tag : doit s'adapter (inline-block + wrap) sans déborder */

/* ---- fin PASS 23 ---- */

/* ============================================================
   PASS 24 — SWOT titres colorés + accordéons questions resserrés
   + format des Q/A à l'ouverture comme la maquette
   ============================================================ */

/* SWOT : forcer les titres (h3) colorés (battre #fg-results h3 { color: inherit }) */

/* Aussi pour les SVG dans les h3 (stroke color) */

/* Réduire l'espace entre sections d'accordéons (de moitié) */

/* Q/A à l'ouverture : format maquette .rp-qa-item (vertical Q sur A + border-bottom) */

/* Sous mobile/petit écran : la grille de 2 sections passe en 1 col */

/* ---- fin PASS 24 ---- */

/* ============================================================
   PASS 25 — Opportunités : pills filtre style maquette
   Bat la règle dark glass `.fg-panel-opps #fg-opps-catbar .fg-opps-cat-btn`
   (spec 0,1,2 → la mienne 0,1,4,1)
   Maquette : pill blanche bordure soft, hover bleu,
              actif gradient violet + shadow-btn
   ============================================================ */

.fg-app-wrap.results-mode .fg-panel-opps #fg-opps-catbar {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

/* ---- fin PASS 25 ---- */

/* ============================================================
   PASS 26 — Kanban : colonnes bleutées + trait header + cards compactes
   - Colonnes : fond #f0f4fb (bleuté très léger)
   - Trait sous le header de colonne (border-bottom 2px)
   - Cards : padding réduit ~1/3 + font compacte
   ============================================================ */

/* Colonnes : fond bleuté + radius (battre #fg-board-host #fg-board-preview .fg-col) */

/* Header colonne : trait 2px solid sous le titre
   Spec 0,2,3 pour battre `#fg-board-host #fg-board-preview .fg-col-h { border-bottom:0 }` injecté par actionboardpreview.js */

/* Body de colonne sans padding (déjà géré par padding du parent) */

/* Cards plus compactes : padding réduit ~1/3 + font légèrement plus petite */

/* Réduire padding de la zone checks/check-row dans la card */

/* Top row plus compact (titre + bouton œil) */

/* ---- fin PASS 26 ---- */

/* ============================================================
   PASS 27 — Opportunités : harmoniser les 5 sections accordéons
   - Espacement uniforme (8px entre chaque)
   - Fond bleuté plus léger (au lieu du fg-r-card-strong heavy)
   - Typo summary identique pour les 5 (15px / 700 / inter)
   ============================================================ */

#fg-results .fg-result-card details:first-of-type {
  margin-top: 12px !important;
}

/* Summary uniforme pour les 5 sections */

/* Body uniforme : padding propre, fond légèrement plus clair */

/* SVG icons des summaries : taille uniforme 16×16 */

/* Chevron à droite, rotation à l'open */

/* ---- fin PASS 27 ---- */

/* ============================================================
   PASS 28 — Mes documents : header centré + icônes SVG DA + typo
   - .rp-stitle dans .fg-docs : centré (texte + icône)
   - Icônes des cards : pastille gradient violet + SVG blanc
   - Typo : h2 24/800, sub 14 muted centré, card-title 16/800,
     card-sub 13 muted line-height aérée
   ============================================================ */

/* Header section centré (battre l'inline style="margin-bottom:0") */

/* V11 2026-04-20 — Harmonisation DA header Postuler sur Mes documents :
   même icône pastille 56x56 arrondie, même taille titre 24px/800, même sous-titre 14px centré.
   Override explicite de la règle 16786 qui met background transparent sur tous les .rp-sicon. */

/* V11 2026-04-20 — Bouton "Mon dossier" cloné dans la section Mes documents (entre titre et sous-titre).
   Contexte horizontal, centré. Réutilise les classes .fg-dossier-side et .fg-dossier-btn pour la sync auto. */

/* V11 — Badge compteur dans le bouton "Mes documents" du menu 3 catégories */
.fg-app-wrap.results-mode .fg-results-toggle .fg-toggle-btn .fg-toggle-badge,.fg-results-toggle .fg-toggle-btn .fg-toggle-badge{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 8px !important;
  padding: 2px 8px !important;
  min-width: 34px !important;
  height: 20px !important;
  border-radius: 10px !important;
  background: rgba(101,118,255,.14) !important;
  color: #4E5BE8 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
}
.fg-app-wrap.results-mode .fg-results-toggle .fg-toggle-btn.active .fg-toggle-badge,.fg-results-toggle .fg-toggle-btn.active .fg-toggle-badge{
  background: rgba(255,255,255,.22) !important;
  color: #fff !important;
}
.fg-app-wrap.results-mode .fg-results-toggle .fg-toggle-btn .fg-toggle-badge[hidden]{
  display: none !important;
}

/* Cards Mes documents : icône en pastille gradient violet */

/* Si l'ancienne <img> reste cachée par d'autres versions */

/* Bouton CTA Générer : pill gradient comme la maquette */

/* Grille 3 colonnes en desktop */

/* ---- fin PASS 28 ---- */

/* ============================================================
   PASS 29 — Conseils dans cards Mes documents : compact + élégant
   - Repliés par défaut (details/summary)
   - Summary discret avec compteur "N conseils" et chevron
   - Liste compacte, puces fines, line-height aéré
   ============================================================ */

/* Liste : compacte, puce fine bullet violette */

/* ---- fin PASS 29 ---- */

/* ============================================================
   PASS 30 — Force violet sur boutons CTA HERO (top de page)
   .fg-cta-pill = bouton hero (Lancer l'analyse / Acceder portail)
   Spec 0,1,2 pour battre body.page-id-16 .fg-cta-pill
   ============================================================ */

body.page-id-16 .fg-cta-pill,body.page-id-16 .fg-org-pack-cta,body .fg-cta-pill,html body .fg-cta-pill{
  background: linear-gradient(135deg, #6576FF 0%, #8A6CFF 100%) !important;
  background-color: #6576FF !important;
  background-image: linear-gradient(135deg, #6576FF 0%, #8A6CFF 100%) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 12px 28px rgba(101,118,255,0.30) !important;
}

/* ---- fin PASS 30 ---- */

/* ===========================================================
   PASS 31 — FIX ORG AUTH PANEL VISIBILITY (2026-04-14)
   Rule perdue lors du merge V06. Ne montre que le panel actif
   dans le Portail partenaire (login / créer un compte).
   =========================================================== */

/* ---- fin PASS 31 ---- */

/* =========================================
   32. SCAN & VEILLE (org portal — Programmes tab)
   2026-04-14 — feature: veille IA appels a projets
========================================= */

/* Evite que les wrappers de mode forcent la grille parente a depasser
   la largeur du conteneur (sinon les rows de programmes debordent). */

@keyframes fg-pulse-dot{ 0%,100%{opacity:1} 50%{opacity:.4} }

@keyframes fg-scan-spin{ to{ transform:rotate(360deg); } }

/* Config modal */

/* ---- fin PASS 32 (scan veille) ---- */

/* =========================================
   33. MES DOCUMENTS — Upload utilisateur
   2026-04-14 — feature : upload + multimodal IA
========================================= */

/* ---- fin PASS 33 (user docs upload) ---- */

/* =========================================
   34. MES DOCUMENTS — triangle + numerotation sections
========================================= */

/* ---- fin PASS 34 (mes documents flow) ---- */

/* =========================================
   35. MES DOCUMENTS — Chat IA (Echange)
========================================= */

@keyframes fg-chat-bounce{
  0%,80%,100%{ transform:scale(.7); opacity:.5; }
  40%{ transform:scale(1); opacity:1; }
}

/* ---- fin PASS 35 (chat IA) ---- */

/* =========================================
   36. OPPORTUNITES — toggle mode d'affichage
========================================= */

/* ---- Mode COMPACT : grille de cartes condensees et cliquables ---- */
.fg-panel-opps[data-view="compact"] .fg-results-list{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
}
@media(max-width:1100px){
  .fg-panel-opps[data-view="compact"] .fg-results-list{ grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }}
@media(max-width:680px){
  .fg-panel-opps[data-view="compact"] .fg-results-list{ grid-template-columns:1fr !important; }}

.fg-panel-opps[data-view="compact"] .fg-result-card{
  padding:20px 22px !important;
  margin:0 !important;
  cursor:pointer !important;
  transition:all .15s ease !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:200px;
}
.fg-panel-opps[data-view="compact"] .fg-result-card:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 8px 24px rgba(101,118,255,.12) !important;
  border-color:#6576FF !important;
}

/* On masque TOUT ce qui n'est pas le header en compact */
.fg-panel-opps[data-view="compact"] .fg-result-card details{
  display:none !important;
}

/* Header en grille : (icon | score) au-dessus, (info pleine largeur) en bas */

/* Status pill kanban masque en compact (visible dans la modale) */

/* Status control (si present) reste en bas, discret */

/* Hint visuel : chevron subtil pour indiquer "cliquable" */
.fg-panel-opps[data-view="compact"] .fg-result-card::after{
  content:'›';
  position:absolute;
  bottom:10px; right:14px;
  color:#c9d4ec;
  font-size:18px; font-weight:700;
  transition:all .15s ease;
  pointer-events:none;
}
.fg-panel-opps[data-view="compact"] .fg-result-card{ position:relative; }
.fg-panel-opps[data-view="compact"] .fg-result-card:hover::after{
  color:#6576FF; transform:translateX(3px);
}
/* ---- fin PASS 36 (opps view toggle) ---- */

/* =========================================
   37. RAPPORT — boutons header + barre edit (DA refresh)
========================================= */

/* --- Boutons "Affinage" et "Modifier le rapport" --- */
.fg-app-wrap.results-mode #fg-refine-report,.fg-app-wrap.results-mode #fg-edit-report{
  display:inline-flex;
  align-items:center !important;
  gap:7px !important;
  padding:10px 20px !important;
  border-radius:999px !important;
  background:#ffffff !important;
  color:#3a4a6a !important;
  border:1.5px solid #c9d4ec !important;
  font:inherit !important;
  font-size:13px !important;
  font-weight:700 !important;
  cursor:pointer !important;
  transition:all .15s ease !important;
  box-shadow:0 2px 6px rgba(13,27,60,.04) !important;
  background-image:none !important;
  text-shadow:none !important;
}
.fg-app-wrap.results-mode #fg-refine-report:hover,.fg-app-wrap.results-mode #fg-edit-report:hover{
  border-color:#6576FF !important;
  color:#4E5BE8 !important;
  background:#f8faff !important;
  transform:translateY(-1px);
}

/* Le bouton "Modifier le rapport" devient legerement plus marque (action principale) */
.fg-app-wrap.results-mode #fg-edit-report{
  background:linear-gradient(135deg, rgba(101,118,255,.06), rgba(138,108,255,.06)) !important;
  border-color:rgba(101,118,255,.30) !important;
  color:#4E5BE8 !important;
}

/* --- Bouton "Exporter" (en bas du panneau Opportunites) --- */
.fg-app-wrap.results-mode .fg-export-wrap{
  display:flex !important;
  justify-content:center !important;
  margin:24px 0 12px !important;
}

/* --- Barre edit inline : FIXED bottom au lieu de sticky cassee --- */

@keyframes fg-edit-bar-in{
  from{ opacity:0; transform:translateY(20px); }
  to  { opacity:1; transform:translateY(0); }
}

/* On laisse de la marge en bas pour ne pas masquer le contenu */

/* ---- fin PASS 37 (header buttons + edit bar) ---- */

/* =========================================
   38. MES DOCUMENTS — alignement boutons + notif Affinage
========================================= */
/* Cartes de generation IA : meme hauteur, bouton aligne en bas */

/* Notification dot sur "Affinage" — rouge tant que pas fait, vert apres */
#fg-refine-report{ position:relative !important; }
#fg-refine-report[data-refined]::after{
  content:'';
  position:absolute;
  top:-3px; right:-3px;
  width:11px; height:11px;
  border-radius:50%;
  border:2px solid #ffffff;
}
#fg-refine-report[data-refined="0"]::after{
  background:#E5484D;
  box-shadow:0 2px 6px rgba(229,72,77,.40);
  animation:fg-notif-pulse 2s infinite ease-in-out;
}
#fg-refine-report[data-refined="1"]::after{
  background:#19C37D;
  box-shadow:0 2px 6px rgba(25,195,125,.45);
}
@keyframes fg-notif-pulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%    { transform:scale(1.15); opacity:.7; }
}
/* ---- fin PASS 38 ---- */

/* =========================================
   39. MODALE AFFINAGE (#fg-qa-modal) — DA refresh
========================================= */
#fg-qa-modal{
  background: rgba(13,27,60,.42) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  padding: 32px 16px !important;
}

/* ---- fin PASS 39 (modale affinage) ---- */

/* =========================================
   40. MODALE EXPORT (#fg-export-modal) — DA refresh
========================================= */
#fg-export-modal{
  position:fixed; inset:0; z-index:999999;
  display:flex; align-items:center; justify-content:center;
  padding:24px 16px;
  background:rgba(13,27,60,.42);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

@keyframes fg-exp-in{
  from{ opacity:0; transform:translateY(20px) scale(.98); }
  to  { opacity:1; transform:translateY(0) scale(1); }
}

/* ---- fin PASS 40 (modale export) ---- */

/* =========================================
   41. OPP CARDS — bulles laterales (Discours / Infos niche)
   + side drawer
========================================= */
.fg-result-card{
  position:relative;
  overflow:visible !important;
}
/* On reserve une marge a droite du panel pour que les bulles externes ne soient
   pas coupees par overflow-x:hidden et n'invitent pas de scroll horizontal. */
.fg-panel-opps{ padding-left:110px !important; padding-right:110px !important; }

/* Règles centralisées PASS 80 plus bas */
@media(max-width:1100px){
  .fg-panel-opps{ padding-left:24px !important; padding-right:24px !important; }
  
  .fg-panel-opps .fg-result-card{ padding-top:60px !important; }}

/* Badge de notification sur la bulle "Infos niche" quand Grok a trouve des infos */

@keyframes fg-niche-badge-in{
  from{ opacity:0; transform:scale(.3); }
  to  { opacity:1; transform:scale(1); }
}
/* Quand la bulle est active (popup ouvert), on masque le badge pour pas surcharger */

/* En vue compact, bulles externes plus discretes */

/* ---- Popup floating : position:fixed cale a droite de la card ----
   La card ne bouge pas. Le popup vit en enfant de <body> pour echapper
   aux overflow:hidden parents. Largeur calculee en JS selon l'espace dispo. */

@keyframes fg-popup-in{
  from{ opacity:0; transform:translateX(-10px); }
  to  { opacity:1; transform:translateX(0); }
}

/* Reduit la largeur max des cards d'opportunites pour laisser de la place
   au popup floating a droite (sans toucher la card elle-meme quand ferme). */
.fg-panel-opps .fg-results-list,.fg-panel-opps .fg-export-wrap{
  max-width:880px !important;
}

/* Popup INFOS NICHE (Grok) */

@keyframes fg-niche-spin{ to { transform:rotate(360deg); } }

/* CTA "Lancer la recherche" (pas de trigger auto) */

/* Bulle active : highlight selon le kind */

/* Style checklist dans le popup */

/* ---- fin PASS 41 (bulles + drawer) ---- */

/* ============================================================
 * PASS 42 — Crésus, agent IA conversationnel (rapport)
 * 2026-04-14
 *
 *  - FAB diamant en bas à gauche, toujours visible sur le rapport
 *  - Panel slide-in droit (420px) avec chat bubbles
 *  - Bulle "action proposée" ludique avec confirm/cancel
 *  - Toast feedback applicatif
 *  - DA FundGuide light (violet + neutres clairs)
 * ============================================================ */

/* ---------- variables Crésus ---------- */
:root{
  --fgc-violet: #6f5cff;
  --fgc-violet-dark: #5d4ce0;
  --fgc-violet-soft: #efebff;
  --fgc-bg: #ffffff;
  --fgc-bg-soft: #f6f4ff;
  --fgc-border: #ece9f7;
  --fgc-text: #1f1c33;
  --fgc-text-soft: #6b6889;
  --fgc-shadow: 0 18px 48px -12px rgba(43, 32, 110, .22), 0 4px 14px -6px rgba(43,32,110,.18);
  --fgc-radius: 18px;
}

/* ---------- FAB ---------- */
#fg-cresus-fab{
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 9998;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px 12px 14px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  background: linear-gradient(135deg, var(--fgc-violet) 0%, #8a78ff 100%);
  color: #fff;
  font-family: inherit;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .2px;
  box-shadow: 0 14px 32px -10px rgba(111, 92, 255, .55), 0 4px 12px -4px rgba(111,92,255,.3);
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
  overflow: visible;
}
#fg-cresus-fab:hover{ transform: translateY(-2px); box-shadow: 0 22px 44px -12px rgba(111,92,255,.6), 0 6px 18px -6px rgba(111,92,255,.4); }
#fg-cresus-fab:active{ transform: translateY(0); }

@keyframes fgc-pulse{
  0%   { opacity: .9; transform: scale(1); }
  100% { opacity: 0;  transform: scale(1.45); }
}
@keyframes fgc-spin-slow{
  0%, 85% { transform: rotate(0deg); }
  92%     { transform: rotate(-12deg); }
  96%     { transform: rotate(12deg); }
  100%    { transform: rotate(0deg); }
}

/* ---------- Backdrop (mobile only) ---------- */
#fg-cresus-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(20, 16, 50, .35);
  backdrop-filter: blur(2px);
  z-index: 9997;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

/* ---------- Panel ---------- */
#fg-cresus-panel{
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: 440px;
  max-width: 100vw;
  z-index: 9999;
  background: var(--fgc-bg);
  display: flex;
  flex-direction: column;
  transform: translateX(110%);
  transition: transform .35s cubic-bezier(.18,.78,.35,1.0);
  box-shadow: var(--fgc-shadow);
  border-left: 1px solid var(--fgc-border);
  font-family: inherit;
  color: var(--fgc-text);
}

@media (max-width: 720px){
  #fg-cresus-panel{ width: 100vw; border-left: 0; }}

/* Header */

/* Body / chat */

@keyframes fgc-float{
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes fgc-dots{
  0%   { content: ''; }
  25%  { content: '.'; }
  50%  { content: '..'; }
  75%  { content: '...'; }
  100% { content: ''; }
}

/* Bubbles */
.fg-cresus-bubble{
  display: flex;
  max-width: 100%;
  animation: fgc-bubble-in .28s ease-out both;
}

.fg-cresus-bubble strong{ font-weight: 700; }
.fg-cresus-bubble em{ font-style: italic; }
@keyframes fgc-bubble-in{
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Typing dots */

@keyframes fgc-bounce{
  0%, 80%, 100% { transform: scale(.7); opacity: .35; }
  40% { transform: scale(1.1); opacity: 1; }
}

/* Action proposée — carte ludique */

@keyframes fgc-action-pop{
  from { opacity: 0; transform: translateY(10px) scale(.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fgc-spark{
  0%, 60%, 100% { transform: scale(1); opacity: 1; }
  30% { transform: scale(1.25) rotate(10deg); opacity: .85; }
}

/* Input — bien visible, contraste fort */

/* Toast */

/* Évite collision visuelle FAB / barre édition inline (qui est bottom-right) */

/* Évite que le FAB recouvre le footer en page courte */
@media (max-width: 720px){
  #fg-cresus-fab{ left: 16px; bottom: 16px; padding: 10px 14px 10px 12px; }
  
  #fg-cresus-fab{ width: 50px; height: 50px; padding: 0; justify-content: center; }}

/* ---- fin PASS 42 (Crésus) ---- */

/* ============================================================
 * PASS 43 — Crésus, refonte ludique
 * 2026-04-14
 *
 *  - FAB déplacé en bas à droite avec avatar (image roi couronné)
 *  - Écran sommeil au 1er open : Crésus dort + Zzz animés + bouton réveil
 *  - Anim "se réveille…" puis bascule vers la conversation
 *  - Header avec mini avatar + sous-titre dynamique
 * ============================================================ */

/* ---------- FAB v2 : bas-droite + avatar ---------- */
#fg-cresus-fab{
  /* override PASS 42 (left → right) */
  left: auto !important;
  right: 24px !important;
  bottom: 24px !important;
  /* refonte visuelle : pastille ronde avec image */
  width: 64px !important;
  height: 64px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #fff5d6 0%, #f6c560 60%, #c79100 100%) !important;
  border: 3px solid #fff !important;
  box-shadow: 0 14px 30px -8px rgba(199, 145, 0, .55), 0 0 0 1px rgba(199,145,0,.15) !important;
  overflow: visible;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#fg-cresus-fab:hover{
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 22px 40px -10px rgba(199, 145, 0, .65), 0 0 0 1px rgba(199,145,0,.25) !important;
}
/* Cache l'ancien label PASS 42 si jamais il est rendu */

@keyframes fgc-ring-rotate{
  to { transform: rotate(360deg); }
}

/* Si la barre éditer (bottom-right) est active, décale Crésus à gauche */

@media (max-width: 720px){
  #fg-cresus-fab{
    right: 16px !important;
    bottom: 16px !important;
    width: 56px !important;
    height: 56px !important;
  }
  
  }

/* ---------- Header v2 : avatar mini ---------- */

/* L'attribut [hidden] doit toujours masquer (sinon nos display:flex écrasent) */
#fg-cresus-panel [hidden]{ display: none !important; }

/* ---------- Écran sommeil ---------- */

@keyframes fgc-stars-twinkle{
  0%, 100% { opacity: .35; }
  50% { opacity: .8; }
}

@keyframes fgc-breath{
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.02); }
}

@keyframes fgc-zzz-float{
  0%   { opacity: 0; transform: translate(0, 6px) scale(.6); }
  20%  { opacity: 1; }
  60%  { opacity: 1; transform: translate(20px, -34px) scale(1.05); }
  100% { opacity: 0; transform: translate(40px, -70px) scale(.7); }
}

@keyframes fgc-wake-shine{
  0%   { left: -75%; }
  60%  { left: 125%; }
  100% { left: 125%; }
}

/* Animation au clic réveil */

@keyframes fgc-zzz-vanish{
  to { opacity: 0; transform: translate(40px, -90px) scale(.4); }
}

@keyframes fgc-sleep-wake{
  0%   { transform: translateY(0) scale(1) rotate(0deg); }
  40%  { transform: translateY(-12px) scale(1.06) rotate(-3deg); }
  100% { transform: translateY(-30px) scale(.7) rotate(8deg); opacity: 0; }
}

@keyframes fgc-btn-fade{
  to { opacity: 0; transform: translateY(8px); }
}

/* ---- fin PASS 43 (Crésus refonte ludique) ---- */

/* ============================================================
 * PASS 44 — Crésus dans la section "Mes documents"
 * 2026-04-14
 *
 *  - Section labels avec avatar Crésus rond doré
 *  - Boutons CTA "Façonner avec Crésus" : avatar + accent doré
 *  - Bulles chat AI : avatar Crésus à gauche de la bulle
 *  - Empty state du chat : avatar + ton chaleureux
 * ============================================================ */

/* --- Section labels avec avatar Crésus --- */

/* --- Boutons CTA "Façonner avec Crésus" --- */

/* --- Cartes IA : effet doré au hover du contour --- */

/* --- Chat docs : bulles AI avec avatar Crésus à gauche --- */

/* Optionnel : teinte la bulle IA légèrement dorée */

/* --- Suggestions : titre "Suggestions du roi" un poil plus chaud --- */

/* --- Empty state : avatar + ton --- */

/* --- Reset button : ton roi --- */

/* ---- fin PASS 44 (Crésus dans Mes documents) ---- */

/* ============================================================
 * PASS 45 — Le Lynx, éclaireur invoqué par Crésus
 * 2026-04-14
 *
 *  - Carte d'invocation (kind=lynx) : palette ambre/forêt
 *  - Bouton "Invoquer le Lynx" doré-ambre + quota X/5
 *  - Animation leap-out (lynx bondit hors du panel)
 *  - Bandeau "Le Lynx rôde…" avec pas pattes animés
 *  - Bulle résultat signée Lynx + sources cliquables
 * ============================================================ */

:root{
  --fgl-amber: #c97c20;
  --fgl-amber-dark: #9a5c10;
  --fgl-amber-soft: #fff4e3;
  --fgl-forest: #2e3d2c;
}

/* ---------- Carte invocation ---------- */

@keyframes fgc-paw-step{
  0%, 100% { transform: rotate(-12deg); }
  50%      { transform: rotate(8deg); }
}

/* ---------- Animation : lynx qui bondit hors du panel ---------- */

@keyframes fgl-leap{
  0%   { opacity: 0; transform: scale(.4) translate(0, 30px); }
  20%  { opacity: 1; transform: scale(1.15) translate(0, -20px) rotate(-8deg); }
  55%  { opacity: 1; transform: scale(1.0)  translate(120px, -100px) rotate(12deg); }
  100% { opacity: 0; transform: scale(.6)   translate(380px, -260px) rotate(28deg); }
}

/* ---------- Bandeau "Le Lynx rôde…" (persistant pendant la chasse) ---------- */

@keyframes fgl-banner-shimmer{
  0%   { background-position: -100% 0, 0 0; }
  100% { background-position: 200% 0, 0 0; }
}

@keyframes fgl-paw-appear{
  0%   { opacity: 0; transform: translateX(-4px) translateY(0); }
  20%  { opacity: 1; }
  60%  { opacity: 1; transform: translateX(0) translateY(-2px); }
  100% { opacity: 0; transform: translateX(8px) translateY(0); }
}

/* ---------- Bulle résultat Lynx ---------- */

/* Animation arrivée du résultat Lynx */

@keyframes fgl-arrive{
  0%   { opacity: 0; transform: translateX(60px) scale(.95); box-shadow: 0 0 0 4px rgba(201,124,32,.4); }
  60%  { box-shadow: 0 0 0 8px rgba(201,124,32,.25); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}

/* ---- fin PASS 45 (Lynx) ---- */

/* ============================================================
 * PASS 46 — Onglet "Postuler" : Pilote humain vs Pilote Crésus
 * 2026-04-15
 *
 *  - Toggle large en haut de la section (2 pilules)
 *  - Mode Humain : contenu existant (cadre + kanban)
 *  - Mode Crésus : étapes de setup + dashboard mockup
 *  - DA cohérente Crésus (or + violet), gamifiée mais sobre
 * ============================================================ */

/* Affichage des panneaux */

/* ---------- Toggle pilote ---------- */

/* ---------- Bandeau beta ---------- */

/* ---------- Étapes ---------- */

/* Gmail connect */

/* Bibliothèque de documents */

/* Dossiers autopilot */

/* Toggle switch 2-états Humain / Crésus */

/* Bouton de lancement */

/* Dashboard mockup */

/* ---- fin PASS 46 (Postuler + Crésus en action) ---- */

/* ============================================================
 * PASS 50 — Postuler : flow chronologique (header + config→flèche→dossiers + board)
 * 2026-04-15
 * ============================================================ */

/* Paramètres */

/* Flèche */

/* Dossiers grid */

/* Card dossier */

@keyframes fg-cs-card-blink{
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .3; transform: scale(1.3); }
}

@keyframes fg-cs-seg-glow{
  0%, 100% { box-shadow: 0 0 0 0 rgba(199,145,0,.5); }
  50%      { box-shadow: 0 0 4px 1px rgba(199,145,0,.4); }
}

/* ============================================================
 *  Board kanban détail dossier
 * ============================================================ */

@keyframes fg-cs-board-in{
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---- fin PASS 50 (Postuler chrono flow) ---- */

/* ============================================================
 * PASS 50.1 — Switch cartes v2 (restauré)
 * ============================================================ */

/* ---- fin PASS 50.1 ---- */

/* ============================================================
 * PASS 51 — Postuler layout : params large + dossiers 1 col + board inline
 * 2026-04-15
 *
 *  - Flow en grid : 3 cols (params / arrow / dossiers) → 4 cols quand board
 *  - Paramètres plus large (380px) avec style rehaussé
 *  - Dossiers en 1 colonne (stack vertical) centré
 *  - Click card → .has-board → grid 4 cols, board à droite, flow garde sa place
 *  - Flèche SVG moderne animée (ligne qui progresse + chevron + point pulsant)
 *  - Board devient 4ᵉ child de .fg-cs-flow
 * ============================================================ */

/* Override layout de PASS 50 */

/* Quand le board est ouvert : 4 colonnes, plus de centrage */

/* Paramètres — plus riche et plus aéré */

/* Flèche — container vertical centré */

/* Dossiers — 1 colonne */

/* Carte dossier adaptée (plus large, plus info) */

/* Carte ajouter : placer en dernier, pleine largeur */

/* Board — devient 4ᵉ enfant du flow (colonne de droite) */

@keyframes fg-cs-board-slide{
  from { opacity: 0; transform: translateX(16px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Header board plus compact */

/* Kanban : colonnes plus compactes pour tenir dans 1fr */

/* ---- fin PASS 51 (Layout params large + board inline) ---- */

/* ============================================================
 * PASS 51.1 — Breakout viewport quand board ouvert
 * ============================================================ */

/* Le board prend toute la place restante */

/* Kanban fluide */

/* ---- fin PASS 51.1 ---- */

/* ============================================================
 * PASS 51.2 — Compacter params+dossiers quand board ouvert
 * pour laisser ~70% de largeur au kanban
 * ============================================================ */

/* Grille rééquilibrée : params/dossiers compacts, board prend la majorité */

/* Params compact en mode board */

/* Dossiers compacts en mode board : pas de progress bar, juste badge + nom + meta */

/* Flèche plus petite en mode board */

/* Board : kanban a toute la place */

/* ---- fin PASS 51.2 ---- */

/* ============================================================
 * PASS 52 — Thread messagerie (remplace kanban pour dossier unique)
 * + params & dossiers gardent leurs tailles fixes
 * 2026-04-15
 * ============================================================ */

/* Override PASS 51.2 : on ne compacte plus rien quand board ouvert */

/* Restaure les tailles normales (annule PASS 51.2) */

/* Hide old kanban styles if the kanban gets rendered somewhere */

/* ============================================================
 *  Thread messagerie
 * ============================================================ */

@keyframes fg-cs-msg-pulse{
  0%, 100% { box-shadow: 0 0 0 0 rgba(199,145,0,.5); }
  50%      { box-shadow: 0 0 0 8px rgba(199,145,0,0); }
}

/* ---- fin PASS 52 (Thread messagerie) ---- */

/* ============================================================
 * PASS 53 — Section 3 "Suivi" permanente + empty state
 * La grid a toujours 4 colonnes, la section 3 garde sa place
 * 2026-04-15
 * ============================================================ */

/* Grille : toujours 4 colonnes (overrides PASS 51/52) */

/* Désactive le breakout viewport (plus besoin puisque le layout est statique) */

/* ============================================================
 *  Section 3 — Wrapper
 * ============================================================ */

/* Empty state */

@keyframes fg-cs-empty-stars{
  0%, 100% { opacity: .35; }
  50% { opacity: .7; }
}

@keyframes fg-cs-empty-float{
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes fg-cs-empty-wave{
  0%, 100% { transform: translateX(0) rotate(0); }
  50% { transform: translateX(-10px) rotate(-10deg); }
}

/* Board : quand activé, remplace l'empty state dans .fg-cs-col3 */

/* ---- fin PASS 53 ---- */

/* ============================================================
 * PASS 53.1 — Breakout permanent du flow (pour que section 3 ait de la place)
 * ============================================================ */

/* ---- fin PASS 53.1 ---- */

/* ============================================================
 * PASS 53.2 — Force breakout flow (viewport full width)
 * ============================================================ */

/* ---- fin PASS 53.2 ---- */

/* ============================================================
 * PASS 54 — Cards dossier minimalistes
 *  - Bordure gauche colorée = statut
 *  - Titre uniquement
 *  - 5 dots discrets pour la progression
 *  - Petite icône à droite si action requise (✍️ / 🔔)
 *  - Plus de montant, plus de date, plus de barre lourde
 * 2026-04-15
 * ============================================================ */

/* Override : reset visuel des cards */

/* Statuts (override les anciennes décorations lourdes) */

@keyframes fg-cs-card-bar-pulse{
  0%, 100% { box-shadow: 0 0 0 0 rgba(199,145,0,.4); }
  50%      { box-shadow: 0 0 0 4px rgba(199,145,0,0); }
}

/* Sélection (clic) */

/* Cache tout l'ancien (badge, sub, progress) */

/* Titre */

/* Footer : 5 dots + icône action éventuelle */

/* Icône action (en haut à droite) */

/* Card "ajouter" garde son style */

/* Override aussi en mode has-board (PASS 52 forçait le progress) */

/* ---- fin PASS 54 ---- */

/* ============================================================
 * PASS 55 — 2 flèches simples + grid 5 colonnes
 * 2026-04-15
 * ============================================================ */

/* Grid : 5 colonnes (params · → · dossiers · → · suivi) */

/* Flèches : container vertical centré, plus de padding lourd */

/* ---- fin PASS 55 ---- */

/* ============================================================
 * PASS 56 — Thread simplifié : neutre, un seul accent (or pour pending)
 * 2026-04-15
 * ============================================================ */

/* Tous les markers en neutre par défaut */

/* Seul "À valider" garde sa couleur or */

/* Cards des messages : tout en neutre */

/* Pending : seule carte avec un accent (or doux) */

/* Labels "kind" : tous en gris neutre, seul pending reste or */

/* Body : fond gris clair uniforme, plus de bordure colorée */

/* Boutons : ghost neutre par défaut, primary or pour la validation */

/* Ligne verticale de timeline plus discrète */

/* Pièces jointes en gris doux */

/* ---- fin PASS 56 ---- */

/* ============================================================
 * PASS 57 — Switch pilote en boutons ronds compacts
 * 2026-04-15
 * ============================================================ */

/* Cache l'ancienne version cards */

/* Container : 2 boutons ronds côte à côte */

/* Avatar Crésus dans le bouton rond */

/* Indicateur "Bêta" minuscule pour Crésus */

/* Label sr-only */

/* ---- fin PASS 57 ---- */

/* ============================================================
 * PASS 58 — Switch pilote centré + gamifié
 * 2026-04-15
 *  - Switch centré dans la page
 *  - Thumb (pastille) qui slide entre les 2 boutons
 *  - Label "Mode : ..." sous le switch
 *  - Halo subtil pulsant autour de l'actif
 * ============================================================ */

/* Thumb : pastille blanche qui suit l'actif */

/* Halo pulsant subtil derrière le thumb actif */

@keyframes fg-pilote-halo{
  0%   { opacity: .55; transform: scale(1); }
  100% { opacity: 0;   transform: scale(1.35); }
}

/* Avatar Crésus opacity tweak en mode actif */

/* Label "Mode : ..." sous le switch */

/* ---- fin PASS 58 ---- */

/* ============================================================
 * PASS 59 — Postuler P1+P3 : états dynamiques (loading, CTA, indicateurs)
 * 2026-04-15
 * ============================================================ */

/* Indicateur pilote (mini-couronne avatar) sur card */

/* L'icône action (✍️/🔔) garde sa place — décale-la si pilote actif */

/* Empty state quand 0 programme */

/* CTA dans le board (handover / draft initial) */

/* Loading skeleton dans le board */

/* ---- fin PASS 59 ---- */

/* ============================================================
 * PASS 60 — Sprint 3 hardening
 *  - Mobile safeguard < 600px (évite scroll horizontal involontaire)
 *  - z-index strategy documenté
 *  - Style "Envoi disponible bientôt" pour M6
 * 2026-04-15
 *
 *  Z-INDEX REGISTRY (ne pas toucher sans vérifier conflits) :
 *    Crésus FAB       : 9998
 *    Crésus panel     : 9999
 *    Crésus backdrop  : 9997
 *    Toast            : 10000
 *    Popups niche     : 50-100 (relatif au .fg-result-card)
 *    Modaux export    : 10001
 * ============================================================ */

/* Force layout 1 colonne en dessous de 600px (évite scroll horizontal du flow Postuler) */

/* Petit badge "Envoi disponible bientôt" pour les drafts en attente d'OAuth Gmail */

/* ---- fin PASS 60 ---- */

/* ============================================================
 * PASS 61 — Modernisation kanban Plan d'action (mode Pilote humain)
 * 2026-04-15
 *
 *  Override haute spécificité du CSS legacy injecté par
 *  actionboardpreview.1701.js (lignes 1041+). On ne touche pas au JS,
 *  on remplace seulement le rendu via cascade.
 *
 *  DA cible : cohérente avec PASS 54 (cards Postuler IA)
 *   - Cards blanches, border-left 3px coloré par priorité
 *   - Typo sobre (700 au lieu de 950)
 *   - Pills compactes neutres
 *   - Hover lift subtil
 *   - Colonnes avec header propre + count
 * ============================================================ */

/* ---------- Reset des styles legacy ---------- */

/* Statut couleur via priorité (lue depuis le DOM legacy) */

/* Si pas de data-prio, le legacy peut utiliser une classe : ajoute fallback */

/* ---------- Titres et meta ---------- */

/* ---------- Pills ---------- */

/* Badge statut (P1/P2/P3) : couleur en fonction du libellé */

/* P1 = violet dense, P2 = vert, P3 = gris doux (cohérent avec border-left) */

/* ---------- Row + check ---------- */

/* ---------- Colonnes ---------- */

/* Compteur dans header de colonne */

/* ---------- Body colonne (drop zone) ---------- */

/* ---------- Sélecteurs / dropdowns dans cards ---------- */

/* Header global du board */

/* ============================================================
 * PASS 61.1 — Override des styles legacy par priorité (lignes 17795+)
 *  Spécificité plus forte (#fg-board-host #fg-board-preview .fg-card[data-prog][data-prio=...])
 *  pour battre les anciens styles roses/jaunes/bleus criards.
 * ============================================================ */

/* Reset : toutes les cards en blanc, peu importe la priorité */

/* La couleur de priorité s'affiche via le pseudo-element ::before défini en PASS 61 */

/* Reset des autres styles colorés legacy */

/* ---- fin PASS 61.1 ---- */
/* ---- fin PASS 61 ---- */

/* ============================================================
 * PASS 62 — Connecteur visuel "fork" docs uploadés → 3 livrables IA
 * 2026-04-15
 *  Aide la personne à comprendre que ce qu'elle upload alimente
 *  les 3 documents générés par Crésus.
 * ============================================================ */

/* ---- fin PASS 62 ---- */

/* ============================================================
 * PASS 63 — Modale confirm génération doc + ajustements fork
 * 2026-04-15
 * ============================================================ */

/* Hauteur fork élargie (pour la nouvelle géométrie 1000×140) */

/* ============================================================
 *  Modale confirm génération doc
 * ============================================================ */

@keyframes fg-gc-fade{ from { opacity: 0; } to { opacity: 1; } }

@keyframes fg-gc-pop{
  from { opacity: 0; transform: translateY(20px) scale(.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ---- fin PASS 63 ---- */

/* ============================================================
 * PASS 64 — Switch "Vue compacte" sur kanban Plan d'action
 * 2026-04-15
 *  Toggle qui masque checklist + meta IA pour densifier le board.
 * ============================================================ */

/* ---------- Toolbar au-dessus de la grille ---------- */

/* Switch type pill (pattern Crésus) */

/* ---------- Mode compact : masque checklist + meta IA ---------- */

/* Garde le badge prio et le titre, c'est tout */

/* Colonnes plus serrées en compact */

/* Note : padding colonne et min-height conservés identiques entre modes */

/* ---- fin PASS 64 ---- */

/* ============================================================
 * PASS 65 — Toolbar kanban v2 : segment control "Détaillée / Compacte"
 * 2026-04-15
 *  Remplace le toggle pill du PASS 64 par un segment control plus clair.
 *  S'assure aussi que les to-do lists sont bien masquées en compact.
 * ============================================================ */

/* Hide les anciens éléments du PASS 64 */

/* ---------- Toolbar bandeau ---------- */

/* ---------- Segment control ---------- */

/* ---------- Mode compact : masquer checks + toolbar contact ---------- */
/* Spécificité haute pour battre toutes les règles legacy.
   V11 2026-04-20 : + masquer .fg-card-contact-bar (nouvelle toolbar Contact/Site/Générer email)
   qui sinon flow en row à cause du display:contents des parents, écrasant le titre. */

/* V11 2026-04-20 — Vue compacte redesign : 1 ligne propre, icône + titre + pill priorité.
   Structure flex imbriquée (pas de display:contents qui créait des bugs de layout sur certaines
   cards). Ellipsis fiable sur le titre, pill max-width + ellipsis pour éviter débordement. */

/* V11 2026-04-20 : en vue compacte, pill priorité = P1/P2/P3 via CSS (text original masqué,
   text court injecté par ::before). Évite la troncature moche "ORITÉ MODÉRÉE". */

/* La pseudo-bordure de prio reste visible */

/* (Padding colonne identique entre modes pour éviter que la carte change de largeur) */

/* ============================================================
 * PASS 66 — Toolbar discret centré + cols largeur stable
 * ============================================================ */

/* Toolbar minimaliste centré au-dessus du board */

/* Séparateur en pipe entre les 2 boutons */

/* ---- Largeur des colonnes stable entre les modes ---- */

/* ---- fin PASS 66 ---- */
/* ---- fin PASS 65 ---- */

/* PASS 67 + 68 (croix modale opp) retirés : gérés par PASS 81 en fin de fichier. */

/* ---- Popups latéraux : AU-DESSUS de la modale (sinon invisibles derrière)
   + ombre marquée + bord coloré pour bien faire ressortir l'ouverture ---- */

@keyframes fg-opp-popup-pop {
  from { opacity: 0; transform: translateX(-12px) scale(.96); }
  to   { opacity: 1; transform: translateX(0) scale(1); }
}

/* Croix bien visible côté popup */

/* Petit décrochage visuel : la card avec popup montre une "ligne de connexion" subtile */
.fg-result-card.has-popup{
  box-shadow: 0 0 0 2px rgba(111,92,255,.15);
  transition: box-shadow .2s;
}

/* ---- fin PASS 68 ---- */

/* ============================================================
 * PASS 69 — Postuler v2 (vertical : Paramètres → 2 zones DnD → Suivi)
 * 2026-04-15
 *  DA héritée (violet+or), drag & drop entre humain et Crésus.
 * ============================================================ */

/* Cache l'ancien flow horizontal du Postuler */

/* ============================================================
 *  Étapes (numéro + titre)
 * ============================================================ */

/* Flèches verticales entre étapes */

/* ============================================================
 *  Étape 2 : 2 zones drag & drop côte à côte
 * ============================================================ */

/* ---- Card draggable ---- */

@keyframes fg-cs2-pulse{
  0%, 100% { box-shadow: 0 0 0 0 rgba(199,145,0,.4); }
  50%      { box-shadow: 0 0 0 4px rgba(199,145,0,0); }
}

/* Pont central ↔ */

/* ============================================================
 *  Étape 3 : zone de suivi
 * ============================================================ */

/* ---- fin PASS 69 ---- */

/* ============================================================
 * PASS 70 — Postuler v3 (vraiment chronologique haut→bas)
 * 2026-04-15
 *  Sections empilées : Paramètres / Dossiers / Crésus / Suivi
 *  Cards horizontales compactes en grid auto-fill
 * ============================================================ */

/* Cache l'ancien layout v2 */

/* ---------- Section bloc générique ---------- */

/* ---------- Paramètres : checks list verticale ---------- */

/* ---------- Cards grid horizontal compact ---------- */

/* Override fg-cs2-card pour mode horizontal compact dans fg-cs3-cards-grid.
   Hauteur identique entre zones "Tes dossiers" et "Crésus s'en occupe".
   Ajustée à 72px pour que le titre du ticket + footer soient entièrement
   visibles (52px coupait le titre). */

/* ---------- Suivi du dossier — empty state animé ---------- */

@keyframes fg-cs3-wave{
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-6px) rotate(-10deg); }
}

/* Board interne (déjà stylé dans PASS 50, 52 etc.) — assure la visibilité */

/* ---- fin PASS 70 ---- */

/* ============================================================
 * PASS 71 — Cards Mes documents : boutons alignés en bas
 *  Grid 3-rows : header (auto) / advice (1fr) / button (auto)
 *  → tous les boutons des cards sont à la même hauteur,
 *    quel que soit le contenu intermédiaire.
 * ============================================================ */

/* Force le bouton à occuper la 3e row (en bas) */

/* ---- fin PASS 71 ---- */

/* ============================================================
 * PASS 72 — État "Document généré" sur cards Mes documents
 *  Bouton change visuel après génération + lien Régénérer.
 * ============================================================ */

/* Cache l'avatar Crésus dans le bouton quand il est en mode "généré" (sinon doublon avec le check vert) */

/* ---- fin PASS 72 ---- */

/* =========================================
   73. DOCS VIEWER — zone unifiée sous les 3 cards.
   Les cards gardent leur taille. Click sur card générée → affiche doc
   dans la zone viewer commune (fg-docs-unified-viewer).
========================================= */

/* Card générée → fond légèrement teinté + bordure bleue douce + petit chevron en haut droite */
/* Card générée = cliquable. Indice visuel discret : bordure bleue subtile.
   Pas d'encoche/chevron. Le bouton "Document généré" (vert) sert déjà d'indicateur
   de génération, la bordure sert d'affordance au click. */

/* Card active (doc affiché dans la zone en dessous) : ring bleu net. */

/* Zone viewer unifiée */

/* Iframe docs-editor : occupe toute la zone */

/* Docs editor — header (action bar + toolbar formatage) */

/* Toolbar formatage — visible uniquement en mode édition */

/* Banner download post-génération */

/* Pitch deck — slides avec aspect 16:9 et layouts spécifiques */

/* Layout : cover */

/* Layout : statement_big */

/* Layout : cards_3 */

/* Layout : icon_rows */

/* Layout : split_text_metrics */

/* Layout : metrics_list */

/* Layout : split_two_cols */

/* Layout : team_cards */

/* Layout : timeline_4 */

/* Layout : pie_breakdown */

/* Responsive : slides restent propres sur petit écran */

/* Bizplan sections */

/* Projections table */

/* ---- fin PASS 73 (docs viewer inline) ---- */

/* =========================================
   74. Boutons header rapport — icon only
========================================= */

/* ---- fin PASS 74 ---- */

/* =========================================
   75. Popup Kanban : sélecteur de colonne + todo list
========================================= */

/* ---- fin PASS 75 ---- */

/* =========================================
   76. Postuler — pilule "Crésus" inline dans h4 étape 3
========================================= */

/* ---- fin PASS 76 ---- */

/* =========================================
   77. Synthèse profil — questionnaire : layout simple aligné à gauche
========================================= */

/* Badge count à droite du summary (X/Y) */

/* Body ouvert : liste verticale simple, tout aligné à gauche */

/* ---- fin PASS 77 ---- */

/* ---- fin PASS 78 (retiré : remplacé par bulle Notes en PASS 79) ---- */

/* =========================================
   79. 4ème bulle "Notes" + popup
========================================= */

/* ---- fin PASS 79 ---- */

/* =========================================
   PASS 81 — MODALE OPPORTUNITÉ — architecture unique et clean
   Remplace tous les blocs legacy dispersés. Seul ce bloc gère #fg-opp-modal.
   Blocs retirés : cluster p.6870, cluster v2 partagé p.16074, cluster p.16648,
   et l'ancien PASS 80. Règles en cascade cohérente :
     1. Overlay (fond assombri, centrage, no flou)
     2. Card papier (seul fond blanc)
     3. Wrappers internes transparents
     4. Card clonée : transparente + width réduite pour bulles
     5. Bulles : absolute right:-58px dans l'espace réservé
     6. Bouton X
     7. Bulles vue d'ensemble (compact) masquées + kanban Postuler
========================================= */

/* 1. Overlay : porte le scroll vertical (overflow auto). Aucun ancêtre interne
   n'a d'overflow → les bulles peuvent sortir librement de la card.
   Centrage vertical : align-items center, mais grâce au padding important + scroll,
   ça reste utilisable sur petit écran. */

@keyframes fg-opp-modal-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fg-opp-modal-pop {
  from { opacity: 0; transform: translateY(16px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* 2. Card papier (LE SEUL fond blanc) — width réduite + overflow:visible pour
   laisser les bulles sortir à droite. Le scroll vertical va sur modal-body. */

/* 3. Wrappers internes 100% transparents, AUCUN overflow (pour laisser les
   bulles sortir librement à droite). Le scroll va sur l'overlay (.fg-opp-modal). */

/* 4. Card clonée : transparente, occupe toute la modal-card.
   Les bulles à right:-78px sortent sur le fond overlay sombre, donc plus de
   doublon de fond blanc derrière elles. */

/* Sous-sections (accordéons Financement/Compatibilité/Détails/Kanban) : fond doux */

/* 5. Bulles d'actions — base commune + visibles dans la modale */

/* 6. Bouton X */

/* Croix legacy autres à masquer */

/* 7. Bulles en vue d'ensemble (compact) masquées.
   Vue détaillée (data-view="list" ou défaut) : visibles comme toujours. */

/* Kanban Postuler (cards dans .fg-cs-board) : espace réservé + bulles visibles */

/* ============================================================
   V11 2026-04-16 — Portail partenaire (login cabinet) polish
   Fix : fond trop plat + rectangle blanc nu + logo souligné + Retour cheap
   ============================================================ */

/* Décor hero — blobs dégradés subtils pour donner de la vie au fond */

/* Logo FundGuide : supprimer soulignement + tout descendant */

/* Bouton Retour : pill premium sur fond clair (plus d'effet cheap) */

/* Carte auth : sortir du look "rectangle blanc nu" */

/* Liseré dégradé discret en haut de la carte */

/* Lien "Mot de passe oublié" : supprimer le underline brutal, sobre */

/* ---- fin PASS 81 ---- */

/* Séparateurs sidebar cabinet */

/* Cacher la bannière paiement prématurée (proposition UX) */

/* ============================================================
   V11 — Statuts redesign (settings > paramètres)
   ============================================================ */

/* Virer l'apparence tableau brut */

/* Input statut : plus clean */

/* Clé : badge discret au lieu de texte brut */

/* Bouton supprimer : rouge subtil */

/* ============================================================
   V12 — Login cabinet (Maquette proposition 3)
   Titre dans la carte, tabs underline, labels visibles, bouton gradient net
   ============================================================ */

/* Hero pleine hauteur, centrage vertical strict pour cette vue de login */

/* Carte auth v2 — dimensions fixes maquette */

/* Liseré dégradé en haut (conserver) */

/* Header dans la carte (titre + sous-titre) */

/* Tabs — passage pill → underline */

/* Panneaux (padding interne card) */

/* Form spacing */

/* Labels visibles (couleur foncée, petit) */

/* Inputs — format full-width, padding cohérent */

/* Champ password : laisser le wrap gérer le positionnement de l'œil */

/* Mot de passe oublié — aligné à droite, lien texte */

/* Submit (Se connecter / Créer mon compte) — bouton full-width gradient */

/* ============================================================
   V12 — Questionnaire (Maquette proposition 6)
   Progress bar multi-étapes, hint sous titre, centrage
   ============================================================ */

/* Masquer l'ancien progress/step counter quand la v2 est active (questionnaire uniquement, pas rapport) */
.fg-app-wrap:not(.results-mode) #fg-progress{
  display: none !important;
}

/* Masquer la progress v2 sur la vue rapport (results-mode) */

/* Hint sous le titre de question */

/* Centrage du contenu questionnaire uniquement (pas le rapport) */
.fg-app-wrap:not(.results-mode):has(.fg-q-progress-v2){
  max-width: 720px !important;
  margin: 0 auto !important;
}

/* ============================================================
   V12 — Code d’accès : icône clé DA FundGuide (match edit-report)
   ============================================================ */

/* Popup code d’accès */

@keyframes fgCodePopIn {
  from { opacity: 0; transform: translateY(-4px) scale(.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ============================================================
   V13 — Dossier profil : icône topbar + red dot + modale 3 sous-onglets
   ============================================================ */

/* Bouton icône dossier-profil — même style que code-icon et edit-report */

/* Red dot notification */

@keyframes fgProfileDotPulse {
  0%, 100% { box-shadow: 0 0 0 2px rgba(239,68,68,.18); }
  50%      { box-shadow: 0 0 0 6px rgba(239,68,68,0); }
}

/* Modale profil */

/* Scrollbar plus douce dans la modale */

/* Lock body scroll quand modale ouverte */

/* Sous-onglets Questionnaire / SWOT / PESTEL */

/* Panneaux (un seul visible à la fois) */

@keyframes fgProfilePanelIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Responsive */

/* ============================================================
   V13 — FAB Affiner (bottom-right, au-dessus de Crésus)
   Icône wand + sparkle, ring tournant, red dot pulse — DA FundGuide
   ============================================================ */
#fg-refine-fab{
  position: fixed;
  right: 24px;
  bottom: 108px; /* au-dessus de Crésus (bottom 24 + 64 + ~20 gap) */
  z-index: 9997;
  width: 64px;
  height: 64px;
  padding: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, #6576FF 0%, #8A6CFF 60%, #A5C4FF 100%);
  border: 3px solid #fff;
  box-shadow:
    0 14px 30px -8px rgba(101,118,255,.55),
    0 0 0 1px rgba(101,118,255,.15);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  font-family: inherit;
  transition: transform .2s cubic-bezier(.22,1,.36,1), box-shadow .2s;
  animation: fgRefineFabIn .4s cubic-bezier(.22,1,.36,1);
}
@keyframes fgRefineFabIn {
  from { opacity: 0; transform: translateY(16px) scale(.8); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
#fg-refine-fab[hidden]{ display: none !important; }

#fg-refine-fab:hover{
  transform: translateY(-3px) scale(1.05);
  box-shadow:
    0 22px 40px -10px rgba(101,118,255,.7),
    0 0 0 1px rgba(101,118,255,.25);
}
#fg-refine-fab:active{ transform: translateY(0) scale(.98); }

/* Ring tournant (style Crésus, mais indigo dashed) */

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

/* Glow pulsé derrière le FAB */

@keyframes fgRefineGlowPulse{
  0%, 100% { opacity: .45; transform: scale(1); }
  50%      { opacity: .9;  transform: scale(1.18); }
}

/* Red dot (cachée si déjà affiné) */

@keyframes fgRefineDotPulse{
  0%, 100% { box-shadow: 0 0 0 2px rgba(239,68,68,.22); transform: scale(1); }
  50%      { box-shadow: 0 0 0 8px rgba(239,68,68,0); transform: scale(1.12); }
}
/* V15 : quand data-refined=1, le FAB reste visible mais son halo s'atténue */

/* ============================================================
   V13 — Flèches entre onglets rapport (funnel Opps → Docs → Postuler)
   Indigo muted, statiques, lisibles, pas de flicker
   ============================================================ */
.fg-results-toggle .fg-toggle-arrow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 18px;
  color: rgba(101,118,255,.7);
  pointer-events: none;
  position: relative;
  z-index: 1;
  transition: color .18s ease, transform .18s ease;
}
.fg-results-toggle .fg-toggle-arrow svg{
  display: block;
  stroke: currentColor;
  width: 14px;
  height: 14px;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.5));
}

/* En mode results (rapport) : couleur indigo franche mais pas criarde */
.fg-app-wrap.results-mode .fg-results-toggle .fg-toggle-arrow{
  color: #8A9CFF;
}

/* Au hover d'un onglet voisin → flèche devient indigo plein */
.fg-app-wrap.results-mode .fg-toggle-btn:hover + .fg-toggle-arrow,.fg-app-wrap.results-mode .fg-toggle-arrow:has(+ .fg-toggle-btn:hover){
  color: #6576FF;
  transform: translateX(1px);
}

/* Mobile : masquer pour éviter l'encombrement */
@media (max-width: 520px) {
  .fg-results-toggle .fg-toggle-arrow{ display: none; }}

/* ============================================================
   V13 — Icône tile sur cards kanban Pilotage humain (parité Opportunités)
   Spécificité montée pour battre le `display:block !important` injecté
   ============================================================ */

/* Mode compact : icône un peu plus petite, gap réduit */

/* ============================================================
   V14 — Kanban hybride : dossier latéral gamifié sobre
   Full-bleed déplacé depuis #fg-board-host vers .fg-kanban-hybrid
   ============================================================ */

/* Override de l'ancien full-bleed de #fg-board-host quand il est dans le hybride */

/* Sidebar dossier (colonne fixée à gauche)
   V11 2026-04-20 : margin-top calé sur la hauteur de la toolbar "Détaillée/Compacte" (≈ 49px)
   → le haut du bouton rond se retrouve aligné avec le haut visuel des colonnes kanban (.fg-col),
   PAS avec le haut de la toolbar. */

/* Variante docs : pas de margin-top (horizontale, placée dans le header Mes documents) */

/* Bouton rond dossier */

/* Pulse au sync/add */

@keyframes fgDossierPulse {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* Label sous le bouton */

/* Tonalité par niveau (subtile) */

/* Modale dossier */

/* Liste IA */

/* V16 — bouton désactivé : doc pas encore généré via Crésus */

/* ============================================================
   V16 — Parcours startup verrouillé : CTA "Lancer l'analyse"
   rendu non-interactif avec badge "Bientôt disponible" +
   modale d'information pro quand on clique.
   ============================================================ */
.fg-cta-pill.is-coming-soon{
  position: relative;
  background: linear-gradient(135deg, #aab0c7, #c1c7df) !important;
  color: #fff !important;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(136,146,180,.22) !important;
}
.fg-cta-pill.is-coming-soon:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
}
.fg-cta-pill.is-coming-soon::after{
  content: "🔒";
  font-size: 14px;
  margin-left: 8px;
  filter: grayscale(1) brightness(1.3);
}

/* Modale "Accès startup en finalisation" */

/* Drop zone */

/* Liste uploads */

/* V10 — Docs agrégés des opportunités (remplace "fichiers additionnels") */

/* V10-bis3 — bouton "Déjà OK" pour marquer sans upload */

/* État "skipped" : slot vert avec check, sans nom de fichier */

/* Responsive : sidebar en haut sur mobile */

/* ============================================================
   V15 — Bulle "Attention" (éligibilité) + modale critères + popup retirer
   ============================================================ */

/* Pending (pas encore validé) : dot indigo doux */

/* KO : dot rouge pulse urgent */

@keyframes fgAlertDotPulsePending {
  0%, 100% { box-shadow: 0 0 0 1px rgba(101,118,255,.28); transform: scale(1); }
  50%      { box-shadow: 0 0 0 5px rgba(101,118,255,0);   transform: scale(1.1); }
}

@keyframes fgAlertDotPulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(239,68,68,.25); transform: scale(1); }
  50%      { box-shadow: 0 0 0 5px rgba(239,68,68,0);   transform: scale(1.12); }
}

/* Modale éligibilité */

/* Spinner 3-dots */

@keyframes fgEligDot {
  0%, 80%, 100% { opacity: .25; transform: scale(.75); }
  40%           { opacity: 1;   transform: scale(1); }
}

/* Popup de confirmation retirer */

/* V16 — fix liste des opportunités incompatibles : forçage color pour éviter
   le texte blanc sur fond blanc (héritage CSS) */

/* Toast Affinage régénéré */

/* Loading state FAB */
#fg-refine-fab.is-loading{
  pointer-events: none;
  opacity: .7;
}

/* ============================================================
   V15 — Modale récap Éligibilité auto (s'ouvre après génération)
   ============================================================ */

/* Intro explicatif (fond lavande) */

/* Questionnaire flat list */

/* OK green, KO red visuels sur la pill sélectionnée */

/* ancien .fg-elig-recap-list conservé pour compat */

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

/* Flash card au jump */

@keyframes fgEligFlash {
  0%   { box-shadow: 0 0 0 0 rgba(101,118,255,0); }
  30%  { box-shadow: 0 0 0 6px rgba(101,118,255,.22); }
  100% { box-shadow: 0 0 0 0 rgba(101,118,255,0); }
}

/* ============================================================
   V16 — Bulles Docs + Actions (sur cards opp) + modale checklist
   + Sections Docs/Actions sur cards kanban
   ============================================================ */

/* Badge compteur — V10-bis2: format harmonisé avec le badge "Infos niche"
   (::after-like : 18x18, gradient, top/right -5px, police 10px 900, shadow colored) */

/* V16 — harmonise le badge "Documents" sur le style dot de la bulle Éligibilité :
   petit dot bleu pulsant, sans chiffre, au lieu d'un gros badge coloré.
   Pattern repris de .fg-opp-bubble-alert .fg-opp-bubble-dot. */

/* V10-bis2/3 — retire le trait en bas du summary quand ouvert (border + différence bg) */

/* Unifie les backgrounds summary<->body quand ouvert : plus de démarcation visuelle */

/* V10 — Séparateur entre le groupe intel (elig/niche/notes) et le groupe actionable (docs/actions/discours/kanban) */

/* V10 — Popups latéraux : Éligibilité (alert) */

/* V10 — Popups latéraux : Documents / Actions */

/* Modale checklist docs/actions */

/* V09 — Checklist progress cards (remplace les anciennes sections fg-card-todo-*) */

/* V10-bis3 — éligibilité (orange/amber) sur les cards kanban */

/* critère KO présent → teinter en rouge pour alerte */

/* V09 — Cartes Kanban : line-clamp titre, width uniforme colonnes, gestion overflow */

/* V09 — Compact : on masque les progress cards (garde seulement titre + prio pill) */

/* ============================================================
   V10 — Kanban centré + icône DANS le rectangle blanc du titre
   ============================================================ */

/* Centrage horizontal du board grid */

/* L'icône type rejoint le titre + pill dans une seule "boîte d'en-tête" */

/* .fg-card-main devient neutre (plus de sous-rectangle séparé) */

/* La card globale passe à un fond très légèrement teinté pour distinguer la head-box blanche */

/* Si la barre edit inline est active, décaler le FAB à gauche (comme Crésus) */

/* Respecte reduced-motion */

/* Mobile */
@media (max-width: 720px){
  #fg-refine-fab{
    right: 16px;
    bottom: 92px;
    width: 54px;
    height: 54px;
  }
  
  }

/* ============================================================
 * V13.1 — Icône pro dans les titres de question (remplace emojis)
 * ============================================================ */

.fg-q-title-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(101,118,255,.12), rgba(138,108,255,.08));
  color: #6576FF;
  flex-shrink: 0;
}
.fg-q-title-ico svg {
  width: 22px;
  height: 22px;
  display: block;
}
@media (max-width: 720px) {
  .fg-q-title-ico { width: 34px; height: 34px; min-width: 34px; border-radius: 10px; }
  .fg-q-title-ico svg { width: 18px; height: 18px; }}

/* ============================================================
 * V13 — "+ Ajouter une opportunité" card (mode édition)
 * ============================================================ */

.fg-add-opp-title { font-size: 15px; font-weight: 800; color: #1a2450; }

/* ============================================================
 * V13 — Modale recherche programmes
 * ============================================================ */
.fg-add-opp-ov {
  position: fixed; inset: 0; z-index: 100001;
  background: rgba(15,23,51,.55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .25s ease;
  font-family: -apple-system, "Manrope", system-ui, sans-serif;
}
.fg-add-opp-ov.is-open { opacity: 1; }
.fg-add-opp-card-modal {
  background: #fff; border-radius: 20px;
  max-width: 640px; width: calc(100% - 48px); max-height: 80vh;
  box-shadow: 0 24px 80px rgba(20,30,80,.35);
  display: flex; flex-direction: column;
  transform: translateY(10px);
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.fg-add-opp-ov.is-open .fg-add-opp-card-modal { transform: translateY(0); }
.fg-add-opp-head {
  padding: 22px 26px 12px;
  border-bottom: 1px solid #eef2fb;
}
.fg-add-opp-head h3 { margin: 0 0 8px; font-size: 19px; color: #1a2450; font-weight: 900; letter-spacing: -.2px; }
.fg-add-opp-head p { margin: 0 0 14px; font-size: 13px; color: #6b7696; }
.fg-add-opp-search {
  position: relative;
  display: flex; align-items: center;
  background: #f4f7ff; border: 1px solid #e5e8f2; border-radius: 12px;
  padding: 10px 14px; gap: 10px;
  transition: all .18s;
}
.fg-add-opp-search:focus-within {
  border-color: #6576FF;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(101,118,255,.12);
}
.fg-add-opp-search input {
  flex: 1; border: 0; background: transparent; outline: 0;
  font: inherit; font-size: 14px; color: #1a2450;
}
.fg-add-opp-search .fg-add-opp-ico { color: #8a93b0; flex-shrink: 0; }
.fg-add-opp-body {
  flex: 1; overflow-y: auto; padding: 12px 26px 22px;
}
.fg-add-opp-list { display: flex; flex-direction: column; gap: 8px; }
.fg-add-opp-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 14px; border-radius: 12px;
  background: #fff; border: 1px solid #e5e8f2;
  text-align: left; cursor: pointer;
  transition: all .15s;
  width: 100%; font: inherit;
}
.fg-add-opp-item:hover { border-color: #6576FF; background: #f9fbff; }
.fg-add-opp-item-meta { flex: 1; min-width: 0; }
.fg-add-opp-item-name { font-weight: 700; font-size: 14px; color: #1a2450; margin: 0 0 3px; }
.fg-add-opp-item-sub  { font-size: 12px; color: #6b7696; margin: 0; }
.fg-add-opp-item-chip {
  font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px;
  background: #eef2fb; color: #6b7696; text-transform: uppercase; letter-spacing: .04em;
  flex-shrink: 0;
}
.fg-add-opp-item-chip.src-org { background: #e9f7f0; color: #16a673; }
.fg-add-opp-empty {
  text-align: center; padding: 30px 0; font-size: 13px; color: #8a93b0;
}
.fg-add-opp-foot {
  padding: 12px 26px 22px;
  border-top: 1px solid #eef2fb;
  display: flex; justify-content: flex-end; gap: 10px;
}
.fg-add-opp-foot button {
  border-radius: 999px; padding: 10px 22px; font-weight: 700; font-size: 13px;
  cursor: pointer; transition: all .15s; border: 0;
}
.fg-add-opp-foot .ghost { background: #fff; color: #3a4b8c; border: 1px solid #dce3f0; }
.fg-add-opp-foot .ghost:hover { background: #f4f7ff; }

/* ========================================================
   Landing V4 (28/04/2026) — stats strip flat + mock rapport fidèle
   ======================================================== */

/* Stats strip — design Stripe-like, 4 chiffres flat sans cards */

/* Stats warranty band retirée 28/04/2026 (perception 10% trop faible) */

/* Cache l'ancien trust bar quand stats strip est utilisée */

/* FAQ tabs/chips — design pill propre */

.fg-faq-tab {
  border: 1px solid #dde5ff;
  background: #fff;
  color: #3a4b8c;
  padding: 11px 22px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 999px;
  cursor: pointer;
  transition: all .18s cubic-bezier(.22,1,.36,1);
  font-family: inherit;
  box-shadow: 0 1px 3px rgba(30,44,100,.04);
}
.fg-faq-tab:hover {
  background: #f4f7ff;
  border-color: #6576FF;
  color: #1a2450;
  transform: translateY(-1px);
}
.fg-faq-tab.is-active {
  background: linear-gradient(90deg, #6576FF 0%, #8A6CFF 100%);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 6px 18px rgba(101,118,255,.28);
}
.fg-faq-tab:focus { outline: 2px solid #6576FF; outline-offset: 2px; }

/* FAQ items — refresh */

/* Hidden attribute doit gagner sur les !important du CSS legacy */

/* Showcase tabs */

.fg-showcase-tab {
  border: 1px solid #dde5ff; background: #fff; color: #3a4b8c;
  padding: 10px 22px; font-size: 14px; font-weight: 600; border-radius: 999px;
  cursor: pointer; transition: all .15s;
}
.fg-showcase-tab:hover { background: #f4f7ff; border-color: #6576FF; }
.fg-showcase-tab.is-active {
  background: linear-gradient(90deg,#6576FF,#8A6CFF); color: #fff;
  border-color: transparent; box-shadow: 0 6px 18px rgba(101,118,255,.28);
}

/* ============= Mock rapport — fidèle au vrai rapport ============= */

/* Toolbar (icônes ronds en haut) */

/* Tabs principaux */

/* Meta chips */

/* Big number central */

/* Filter pills */

/* View toggle */

/* Opportunity cards */

/* Documents block */

/* Crésus block */

@keyframes fg-mock-blink { 50% { opacity: 0; } }

/* === Mock rapport home V5 (2026-04-30) — cards identiques au vrai rapport, toutes sections fermées,
      avec bulles d'action à droite. Toggle <details> désactivé via pointer-events: none sur summary.
      Bulles repositionnées à l'intérieur de la card (top-right en column) pour éviter le débordement
      du frame mock dans la home. === */

/* Sections : espacement identique au vrai rapport (margin-top 14px entre, 8px avant 1ère),
   et ouverture <details> désactivée. */

/* Bulles d'action : à l'extérieur de la card à droite, centrées verticalement (comme vrai rapport) */

/* === Bloc gain estimé global (vrai rapport + mock home) — V14.4 2026-04-30 ===
   Variante A : gradient vert dans le header de l'opp card, à gauche du % de compatibilité.
   Affiché conditionnellement par fgComputeQuickGain() dans 09-financement.js. */

/* Bloc gain estimé dans le mock home — overrides du scope si différents */

/* Bloc "more dispositifs" : minimal, divider top, compteur lisible non-coupé */

/* 3 petits points discrets à la place du bloc "+N autres" + fade TV sur la 3ème card */

@keyframes fg-mock-dot-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.3); }
}

/* 3ème card (la dernière) — fade dégressif vers le bas, illusion qu'elle disparaît */

/* 3 mini-features sous les dots — Crésus / Niche / Discours */

/* Ghost lines (skeleton) — placeholders gris animés pour les détails secondaires du mock */

@keyframes fg-mock-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* TOC en mode skeleton : numéro visible + ghost line */

/* === Mock home V6 (2026-04-30) — onglets cliquables (Opp/Docs/Postuler) + Crésus FAB === */

/* Pane intro (Mes docs / Postuler) */

/* === Gamification subtile (V10 — 2026-04-30) — reveals + micro-interactions === */
@media (prefers-reduced-motion: no-preference) {
  /* Reveal-on-scroll : fade + translateY */
  
  
  /* Stagger : décalage en cascade entre cards d'un même grid */
  
  
  

  /* Stat cells (strip 4 cellules) — hover lift + glow violet subtil */
  
  

  /* Step cards (Comment ça marche) — déjà translateY -4px existant.
     On ajoute rotation icône + scale numéro sur hover du card pour micro-feedback. */
  
  
  
  

  /* Trust cards (mini-section) — hover lift léger */
  
  

  /* Showcase tabs (3 profils SaaS/Deeptech/Solo) — hover subtle */
  .fg-showcase-tab {
    transition: transform .2s, color .2s;
  }
  .fg-showcase-tab:hover:not(.is-active) {
    transform: translateY(-1px);
  }

  /* CTA pills primaires — élévation + shadow violet au hover */
  .fg-cta-pill,#fg-cta-mid,#fg-cta-hero{
    transition: transform .24s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .24s !important;
  }
  .fg-cta-pill:hover,#fg-cta-mid:hover,#fg-cta-hero:hover{
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(101, 118, 255, 0.32) !important;
  }

  /* Stat-num (compteurs) — apparition douce du chiffre une fois animé */
  }

/* === Pane explanation Mes documents / Postuler (V9) — message in-pane, pas en overlay === */

/* Si nombre impair (5 features) → la dernière prend toute la largeur */

/* === Modales (deprecated V8 — non utilisées maintenant) === */

@keyframes fg-mock-modal-in {
  from { opacity: 0; transform: translateY(10px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* === Reproduction fidèle du vrai design "Mes documents" + "Postuler" (V7 — 2026-04-30) === */

/* Mes documents — status card + workflow + dropzone */

/* Postuler — Plan d'action Board */

/* Mes documents — layout sidebar (liste 9 docs) + preview principal (sommaire + tags) — DEPRECATED V6 */

/* Postuler — kanban dense (progress, deadline, doc count, montants, % compat) */

/* Crésus FAB — flottant en bas-droite du frame mock */

/* Responsive : sur petit écran, kanban en 2 col, docs en 1 col, fab plus petite */

/* Mode toggle "Bientôt" — Associations désactivé.
   Approche : pill "Bientôt" flottante en position absolute par-dessus le coin top-right
   du bouton, gradient violet + halo blanc. La pill ressort comme un sticker mais ne change
   PAS la largeur du bouton (position absolute). Texte "Associations" simplement désaturé. */

/* Ensure parent containers don't clip the pill */
.fg-mode-toggle {
  overflow: visible !important;
}

/* ============================================================
   V19.9 (2026-05-08) — Mode admin_view : adaptations rapport admin
   - Masque le widget "À démarrer" à gauche du kanban (doublon avec
     la nouvelle section "Les documents du client").
   - Étire le kanban sur toute la largeur du panel (plus de réserve
     droite pour la sidebar absente).
   - Annule le full-bleed 100vw qui débordait de l'iframe admin et
     créait un scroll horizontal parasite.
   ============================================================ */

/* Kanban : autorise scroll horizontal interne au lieu de déborder */
html.fg-admin-view #fg-board-preview,body.fg-admin-view #fg-board-preview{
  overflow-x: auto !important;
  max-width: 100% !important;
}

/* === V19.9 — Vue admin "Pièces du dossier client" =========================== */

/* V19.11 : badge toggle "0/18" conservé en admin_view (signal cohérent avec le bloc
   admin qui doit afficher le même total). */
/* V19.22 (2026-05-08) : toggle bar admin_view en FULL-BLEED (déborde de son parent
   container jusqu'au bord de l'iframe). 9 onglets ont besoin de plus que les
   ~1120px du container. Approche : margin négative pour étendre à 100vw.
   La pill garde son look pill mais s'étend largement. */
html.fg-admin-view .fg-results-toggle-wrap,body.fg-admin-view .fg-results-toggle-wrap{
  /* V19.29 — wrap full-bleed 100vw (toute la largeur de la page iframe).
     Toggle bar dedans = 100% du wrap. Onglets centrés à l'intérieur via
     justify-content:center + flex 0 0 auto sur les boutons. */
  padding: 8px 0 10px !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
html.fg-admin-view .fg-results-toggle,body.fg-admin-view .fg-results-toggle{
  width: calc(100vw - 32px) !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 16px !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  overflow: visible !important;
  flex-wrap: nowrap !important;
  gap: 2px !important;
  padding: 3px !important;
  white-space: nowrap;
  box-sizing: border-box !important;
  /* Centrage des onglets DANS le toggle bar full-width */
  justify-content: center !important;
}
html.fg-admin-view .fg-results-toggle .fg-toggle-btn,body.fg-admin-view .fg-results-toggle .fg-toggle-btn{
  /* Largeur naturelle (pas étirée), pour que justify-content:center centre tout */
  flex: 0 0 auto !important;
  flex-grow: 0 !important;
}
html.fg-admin-view .fg-results-toggle .fg-toggle-btn,body.fg-admin-view .fg-results-toggle .fg-toggle-btn{
  padding: 7px 10px !important;
  font-size: 12px !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  white-space: nowrap;
  overflow: visible !important;
  text-overflow: clip !important;
}
/* Si vraiment ça déborde, on autorise le scroll horizontal interne */
html.fg-admin-view .fg-results-toggle,body.fg-admin-view .fg-results-toggle{
  scrollbar-width: thin;
}
html.fg-admin-view .fg-results-toggle::-webkit-scrollbar,body.fg-admin-view .fg-results-toggle::-webkit-scrollbar{ height: 4px; }
html.fg-admin-view .fg-results-toggle .fg-toggle-arrow,body.fg-admin-view .fg-results-toggle .fg-toggle-arrow{
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  padding: 0 1px !important;
  width: auto !important;
}
html.fg-admin-view .fg-results-toggle .fg-toggle-badge,body.fg-admin-view .fg-results-toggle .fg-toggle-badge{
  margin-left: 4px !important;
  padding: 1px 5px !important;
  min-width: auto !important;
  font-size: 10px !important;
  flex-shrink: 0 !important;
}

/* V19.16 (2026-05-08) : iframes graphes priorisation + onglet Plan d'action */

/* V19.20 — Sections Plan d'action (Priorisation / Cadre exécution) */

/* La section Cadre exécution contient déjà rp-cadre.rp-cadre-inline */

/* V19.17 (2026-05-08) — V2 cluster : sous-pill teintée derrière Opps+Affinage + label
   "Filtre dynamique" au-dessus. Reco UX (4 maquettes comparées). Position calculée en JS
   par fgPositionLinkCluster (dans 10-export.js) au load + resize + tab switch. */
.fg-results-toggle .fg-link-cluster {
  position: absolute;
  top: 3px; bottom: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(124,92,255,.10) 0%, rgba(93,139,255,.10) 100%);
  border: 1px solid rgba(124,92,255,.28);
  z-index: 0;
  pointer-events: none;
  transition: left .25s ease, width .25s ease, opacity .2s ease;
}
.fg-results-toggle .fg-link-cluster-label {
  position: absolute;
  top: -18px;
  font-size: 10px; font-weight: 700; letter-spacing: .08em;
  color: #7c5cff;
  text-transform: uppercase;
  pointer-events: none;
  display: flex; align-items: center; gap: 6px;
  transition: left .25s ease, opacity .2s ease;
}
.fg-results-toggle .fg-link-cluster-label::before,.fg-results-toggle .fg-link-cluster-label::after{
  content: ""; display: inline-block;
  width: 14px; height: 1px;
  background: rgba(124,92,255,.5);
}
/* Flèche centrale au sein du cluster — teintée violet */

/* V19.21 — Cluster #2 (Avancée client + Docs client) : teinte orange/peach pour distinguer du #1 */

/* V19.28 — Cluster #3 (Priorisation + Postuler) : teinte verte/teal "Exécution" */

/* V19.28 — Cluster #4 (Multi-agents + Échanges) : teinte rose/violet "Communications" */

/* V19.28 — Sections agent-log dans Juno Affinage / Juno Montage */

/* V19.28 — Onglet Multi-agents */

/* Si le cluster n'est pas encore positionné (pre-init), le cacher pour éviter un flash */
.fg-results-toggle .fg-link-cluster:not([data-positioned]),.fg-results-toggle .fg-link-cluster-label:not([data-positioned]){
  opacity: 0;
}

/* V19.15 : pastille rouge "non vu" sur Synthèse profil retirée en admin_view (le sens
   de cette notif n'était pas évident pour l'admin). */

/* V19.11 : en admin_view, masquer définitivement les boutons header obsolètes :
   - Relancer / Modifier rapport (le client gère son rapport, pas l'admin)
   - Synthèse profil (déjà dans le toggle bar)
   - Affinage popup (remplacé par la section Affinage)
   - Croix programmes retirés (liste reportée dans la section Affinage) */
html.fg-admin-view #fg-help-edit-btn,html.fg-admin-view #fg-profile-dossier-btn,html.fg-admin-view #fg-edit-report,html.fg-admin-view #fg-refine-report,html.fg-admin-view #fg-hidden-programs-btn,body.fg-admin-view #fg-help-edit-btn,body.fg-admin-view #fg-profile-dossier-btn,body.fg-admin-view #fg-edit-report,body.fg-admin-view #fg-refine-report,body.fg-admin-view #fg-hidden-programs-btn{
  display: none !important;
}
/* V19.12 : kanban — colonnes plus larges + débordement contrôlé du conteneur.
   Avant : colonnes 168px coincées au centre (7 × 168 = 1176px max → trop dense).
   Maintenant : colonnes 220px, le kanban déborde à gauche/droite de son cadre via
   margin négative pour atteindre toute la largeur de l'iframe (full-bleed iframe).
   Si le contenu dépasse encore, scroll horizontal interne au kanban. */

/* V19.20 : padding interne kanban réduit + cards qui respirent */

/* === V19.20 — Cadre d'exécution INLINE (plus de modale, tout déplié directement) === */

/* === V19.12 LEGACY (laissé pour rétrocompat startup classique non-admin) — désactivé en admin_view */

/* Quand ouvert : la modale floate au-dessus avec backdrop */

@keyframes rpCadreFade { from { opacity: 0; } to { opacity: 1; } }
html.fg-admin-view #fg-board-preview,body.fg-admin-view #fg-board-preview{
  margin-left: calc(50% - 50vw + 24px) !important;
  margin-right: calc(50% - 50vw + 24px) !important;
  width: calc(100vw - 48px) !important;
  max-width: calc(100vw - 48px) !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  box-sizing: border-box !important;
}

/* === V19.11 — Section Affinage (Q&R + dispositifs masqués) =========================== */

.fg-affinage-card {
  background: #fff; border: 1px solid rgba(13,27,60,.06);
  border-radius: 14px; padding: 16px 18px;
  box-shadow: 0 4px 14px rgba(13,27,60,.04);
}
.fg-affinage-card h3 {
  margin: 0 0 12px; font-size: 14px; font-weight: 700; color: #1a2450;
  display: flex; align-items: center; gap: 8px;
}

/* V19.14 — Affinage interactif : radios cliquables + bouton génération */

/* V19.14 — Critères d'éligibilité par dispositif */

/* === V19.13 — Onglet "Génération" diagnostic admin =================================== */
/* Tabs/panels admin-only : visibles uniquement quand body.fg-admin-view */
.fg-toggle-btn[data-fg-admin-only-tab],.fg-toggle-arrow[data-fg-admin-only-tab],.fg-panel[data-fg-admin-only-tab]{
  display: none;
}
html.fg-admin-view .fg-toggle-btn[data-fg-admin-only-tab],body.fg-admin-view .fg-toggle-btn[data-fg-admin-only-tab]{
  display: inline-flex;
}
html.fg-admin-view .fg-toggle-arrow[data-fg-admin-only-tab],body.fg-admin-view .fg-toggle-arrow[data-fg-admin-only-tab]{
  display: inline-flex;
}
html.fg-admin-view .fg-panel-generation.active,body.fg-admin-view .fg-panel-generation.active,html.fg-admin-view .fg-panel[data-fg-admin-only-tab].active,body.fg-admin-view .fg-panel[data-fg-admin-only-tab].active{
  display: block !important;
}

.fg-gen-kicker {
  display: inline-block; font-size: 10px; font-weight: 800;
  letter-spacing: .8px; text-transform: uppercase; color: #8A6CFF;
  background: rgba(138,108,255,.12); padding: 4px 10px; border-radius: 999px;
}

.fg-gen-sub {
  margin: 0; color: #6b7696; font-size: 13px; line-height: 1.5; max-width: 680px;
}

.fg-gen-loading,.fg-gen-empty{
  padding: 12px; text-align: center; color: #8a93b0; font-size: 12px; font-style: italic;
}

/* V19.27 — Onglet Infos client = demandes Juno → client */

.fg-inforeq-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }

/* V19.21 — Onglet Avancée client (admin) (deprecated, conservé pour rétrocompat CSS) */

/* V19.23 — Critères affinage dans Avancée */

/* V19.24 — Onglet Échanges = vrai chat 3 voies + composer admin */
.fg-echanges-admin {
  padding: 22px 24px;
  background: linear-gradient(135deg, rgba(101,118,255,.04), rgba(138,108,255,.06));
  border: 1px solid rgba(138,108,255,.18);
  border-radius: 16px;
  display: flex; flex-direction: column; min-height: 600px;
}
.fg-echanges-head { margin-bottom: 16px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.fg-echanges-head h2 { margin: 8px 0 4px; font-size: 18px; font-weight: 800; color: #1a2450; }
.fg-echanges-legend { display: flex; gap: 6px; flex-shrink: 0; }
.fg-echanges-leg-pill {
  font-size: 10.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px;
  letter-spacing: .3px; text-transform: uppercase;
}
.fg-echanges-leg-pill.juno { background: rgba(138,108,255,.18); color: #7c3aed; }
.fg-echanges-leg-pill.startup { background: rgba(101,118,255,.18); color: #5060e8; }
.fg-echanges-leg-pill.admin { background: rgba(34,197,94,.18); color: #136f3f; }

.fg-echanges-stream {
  flex: 1; min-height: 320px; max-height: 600px; overflow-y: auto;
  background: #fff; border: 1px solid rgba(13,27,60,.06); border-radius: 12px;
  padding: 16px; display: flex; flex-direction: column; gap: 10px;
}
.fg-echanges-msg { display: flex; flex-direction: column; max-width: 75%; gap: 4px; }
.fg-echanges-msg.is-juno { align-self: flex-start; align-items: flex-start; }
.fg-echanges-msg.is-startup { align-self: flex-start; align-items: flex-start; }
.fg-echanges-msg.is-admin { align-self: flex-end; align-items: flex-end; }
.fg-echanges-msg.is-system { align-self: center; align-items: center; max-width: 90%; }
.fg-echanges-msg-bubble {
  padding: 10px 14px; border-radius: 14px; font-size: 13.5px; line-height: 1.5;
  white-space: pre-wrap;
}
.fg-echanges-msg.is-juno .fg-echanges-msg-bubble {
  background: linear-gradient(135deg, rgba(138,108,255,.12), rgba(255,122,182,.08));
  border: 1px solid rgba(138,108,255,.24); color: #1a2450;
  border-bottom-left-radius: 4px;
}
.fg-echanges-msg.is-startup .fg-echanges-msg-bubble {
  background: rgba(101,118,255,.10); border: 1px solid rgba(101,118,255,.22);
  color: #1a2450; border-bottom-left-radius: 4px;
}
.fg-echanges-msg.is-admin .fg-echanges-msg-bubble {
  background: linear-gradient(135deg, #22c55e, #10b981); color: #fff;
  border-bottom-right-radius: 4px;
  box-shadow: 0 6px 18px rgba(34,197,94,.24);
}
.fg-echanges-msg.is-system .fg-echanges-msg-bubble {
  background: rgba(13,27,60,.04); color: #6b7696; font-style: italic;
  font-size: 12px; padding: 6px 12px;
}
.fg-echanges-msg-meta {
  display: flex; gap: 8px; align-items: center; font-size: 10.5px;
}
.fg-echanges-msg-role { font-weight: 700; text-transform: uppercase; letter-spacing: .3px; }
.fg-echanges-msg.is-juno .fg-echanges-msg-role { color: #7c3aed; }
.fg-echanges-msg.is-startup .fg-echanges-msg-role { color: #5060e8; }
.fg-echanges-msg.is-admin .fg-echanges-msg-role { color: #136f3f; }
.fg-echanges-msg-ts { color: #8a93b0; font-family: ui-monospace, monospace; }

.fg-echanges-composer {
  display: flex; gap: 10px; margin-top: 14px;
  background: #fff; padding: 10px; border-radius: 12px;
  border: 1px solid rgba(13,27,60,.08);
  box-shadow: 0 4px 14px rgba(13,27,60,.04);
}
.fg-echanges-composer textarea {
  flex: 1; min-height: 60px; padding: 8px 10px;
  border: 1px solid rgba(13,27,60,.10); border-radius: 8px;
  font-family: inherit; font-size: 13px; resize: vertical;
}
.fg-echanges-composer textarea:focus {
  outline: none; border-color: #22c55e;
  box-shadow: 0 0 0 3px rgba(34,197,94,.15);
}
.fg-echanges-send {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0 16px; align-self: stretch;
  background: linear-gradient(135deg, #22c55e, #10b981);
  border: 0; border-radius: 8px; color: #fff;
  font-weight: 700; font-size: 13px; cursor: pointer;
  font-family: inherit; transition: .15s;
  box-shadow: 0 6px 16px rgba(34,197,94,.24);
}
.fg-echanges-send:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(34,197,94,.34); }
.fg-echanges-send:disabled { opacity: .55; cursor: wait; }

/* V19.33 — Affinage piloté par agents IA (nouvelle UI) */
.fg-affinage-v2 {
  padding: 24px 26px;
  display: flex; flex-direction: column; gap: 22px;
}

.fg-aff-v2-loading,.fg-aff-v2-empty{
  padding: 18px; text-align: center; color: #8a93b0;
  background: #fafbfe; border-radius: 10px; font-size: 13px;
  border: 1px dashed rgba(13,27,60,.10);
}

/* Question card */

.fg-aff-v2-q-text {
  font-size: 13.5px; color: #1a2450; line-height: 1.5; margin: 0;
  padding: 8px 0;
}

/* Auto-dispositif card */

.fg-aff-v2-ad-name {
  font-size: 14px; font-weight: 800; color: #1a2450; flex: 1; min-width: 200px;
}

/* Ancien affinage en pause */

/* V19.34 — Bloc Juno (reformulation conversationnelle de la question agent) */

/* V19.36 — Onglet Stratégies (4 sous-sections : discours par dispo, conseils projet, docs à revoir, agents → juno) */

/* ① Discours par dispositif */

/* ② Conseils stratégiques projet */

/* ③ Documents à revoir + versions */

/* V19.37 — Onglet Montage */

/* Cards dispositif */

/* Upload form */

/* V19.38 — Onglet Suivi (timeline chronologique) */

.fg-suivi-day {
  margin: 0 26px;
}

.fg-suivi-day-events { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 2px solid rgba(101,118,255,.18); display: flex; flex-direction: column; gap: 8px; }

.fg-suivi-card {
  background: #fff; border: 1px solid rgba(13,27,60,.08); border-radius: 11px;
  padding: 11px 14px;
  display: flex; gap: 12px; align-items: flex-start;
  position: relative;
}
.fg-suivi-card::before {
  content: ""; position: absolute; left: -22px; top: 18px;
  width: 12px; height: 12px; border-radius: 50%;
  background: #fff; border: 2px solid #8a93b0;
}
.fg-suivi-icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: linear-gradient(135deg, rgba(101,118,255,.10), rgba(138,108,255,.14));
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0;
}
.fg-suivi-body { flex: 1; min-width: 0; }
.fg-suivi-card-head {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 10px; flex-wrap: wrap;
}
.fg-suivi-title { font-size: 13px; font-weight: 700; color: #1a2450; line-height: 1.4; }
.fg-suivi-ts { font-size: 10.5px; color: #8a93b0; font-family: ui-monospace, monospace; flex-shrink: 0; }

/* Scope pill (pour affinage_question) */

/* Couleurs par catégorie sur le dot/border */
.fg-suivi-card.cat-questions::before { border-color: #6576FF; }
.fg-suivi-card.cat-juno::before { border-color: #8b5cf6; }
.fg-suivi-card.cat-docs::before { border-color: #0ea5e9; }
.fg-suivi-card.cat-strategy::before { border-color: #ec4899; }
.fg-suivi-card.cat-profile::before { border-color: #f59e0b; }
.fg-suivi-card.cat-other::before { border-color: #8a93b0; }

.fg-suivi-card.cat-questions .fg-suivi-icon { background: linear-gradient(135deg,rgba(101,118,255,.10),rgba(138,108,255,.14)); }
.fg-suivi-card.cat-juno .fg-suivi-icon { background: linear-gradient(135deg,rgba(139,92,246,.10),rgba(244,114,182,.14)); }
.fg-suivi-card.cat-docs .fg-suivi-icon { background: linear-gradient(135deg,rgba(14,165,233,.10),rgba(101,118,255,.14)); }
.fg-suivi-card.cat-strategy .fg-suivi-icon { background: linear-gradient(135deg,rgba(236,72,153,.10),rgba(217,70,239,.14)); }
.fg-suivi-card.cat-profile .fg-suivi-icon { background: linear-gradient(135deg,rgba(245,158,11,.10),rgba(212,160,23,.14)); }

/* V19.39 — Stepper symbolique grandes étapes du dossier (au-dessus de la timeline) */

/* États : done / progress / todo */

@keyframes fg-suivi-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 4px 12px rgba(245,158,11,.24); }
  50% { transform: scale(1.06); box-shadow: 0 4px 16px rgba(245,158,11,.40); }
}

/* V19.40 — Documents v2 (pos 3) : 2 listes required/hybrid */

/* V19.40 — Sub-Juno Liaisons docs ↔ dispositifs */

/* V19.40 — Sub-Agents Alerts */

/* V19.42 — Liste totale par opportunité (Documents pos 3, hors legacy details) */

/* V19.42 — Harmonisation Plan d'action — Board avec design system Stratégies/Montage */

/* Header Plan d'action */

/* Header Cadre d'exécution sub-section */

/* Grid 4 cards uniforme */

/* Boutons export inline */

/* V19.43 — Cluster #5 (Exécution = Montage + Postuler) : teinte verte/teal */

/* Cluster #3 Préparation (Demande docs + Stratégies) : recoloré en bleu cyan (avant vert) */

/* 2026-09-02 (signalé Napa : « doublon de rectangle » au clic dans le questionnaire) — les champs de
   saisie de CHAT vivent dans une pilule qui affiche déjà son anneau de focus (:focus-within) : le
   focus-visible global (section 11, posé 2×) leur dessinait un 2e rectangle interne. Exemption ciblée,
   la règle globale reste intacte pour l'accessibilité clavier du reste du site. */
.fg-juno-input:focus-visible,#fgcs-v18-msg-input:focus-visible,.fgl-input:focus-visible{
  outline: none !important;
}