/* =====================================================================
   Sève · CRM de Gouvernance Family · Design tokens v1
   Source de vérité des couleurs, typos, rayons, ombres et animations.
   Mode clair sur :root, mode sombre via [data-theme="dark"] ou préférence système.
   ===================================================================== */

@font-face { font-family: "Poppins"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/fonts/poppins-latin-400-normal.9212f6f9860f.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-style: normal; font-display: swap; src: url("../assets/fonts/poppins-latin-500-normal.a09f2fccfee3.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600; font-style: normal; font-display: swap; src: url("../assets/fonts/poppins-latin-600-normal.72993dddf88a.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 700; font-style: normal; font-display: swap; src: url("../assets/fonts/poppins-latin-700-normal.25b0e113ca7c.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 800; font-style: normal; font-display: swap; src: url("../assets/fonts/poppins-latin-800-normal.af4d371a1027.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/fonts/dm-sans-latin-400-normal.a220a32881ae.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-weight: 500; font-style: normal; font-display: swap; src: url("../assets/fonts/dm-sans-latin-500-normal.aa952242481d.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-weight: 600; font-style: normal; font-display: swap; src: url("../assets/fonts/dm-sans-latin-600-normal.c64569e0302e.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-weight: 700; font-style: normal; font-display: swap; src: url("../assets/fonts/dm-sans-latin-700-normal.9508ec8af518.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/fonts/ibm-plex-mono-latin-400-normal.79936b18df9f.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 500; font-style: normal; font-display: swap; src: url("../assets/fonts/ibm-plex-mono-latin-500-normal.b1c8a895f5fd.woff2") format("woff2"); }

:root {
  /* ---------- Marque Gouvernance Family (brand book 2026, valeurs verrouillées) ---------- */
  --gf-sauge: #5C9761;
  --gf-dore: #EFA62A;
  --gf-encre: #0C0C0C;
  --gf-foret: #0F6013;
  --gf-lime: #9AD625;
  --gf-brun: #7C4F13;
  --gf-orange: #ED792B;
  --gf-gris: #464851;
  --gf-violet: #4C0E4F;

  /* ---------- Échelle sauge ---------- */
  --sauge-50: #F1F7F1; --sauge-100: #E0EEE1; --sauge-200: #C3DDC5; --sauge-300: #A0C9A4; --sauge-400: #7DB582;
  --sauge-500: #5C9761; --sauge-600: #3F7444; --sauge-700: #2F5E35; --sauge-800: #1F4426; --sauge-900: #0F6013;

  /* ---------- Échelle doré ---------- */
  --dore-50: #FEF8EC; --dore-100: #FDF0D6; --dore-200: #FADFAA; --dore-300: #F6CA77; --dore-400: #F2B84E;
  --dore-500: #EFA62A; --dore-600: #CB8612; --dore-700: #94600C; --dore-800: #6E4709; --dore-900: #4A3006;

  /* ---------- Neutres teintés sauge ---------- */
  --neutre-50: #F5F7F2; --neutre-100: #ECF0E8; --neutre-200: #E1E6DD; --neutre-300: #CBD3C6; --neutre-400: #8C948A;
  --neutre-500: #5F675E; --neutre-600: #343933; --neutre-700: #1A231D; --neutre-800: #151C17; --neutre-900: #0C0C0C;

  /* ---------- Interface ---------- */
  --canvas: #EDF1EA;                    /* fond de l'application, sous les halos */
  --bloom-a: rgba(92,151,97,.24);       /* halo sauge, haut gauche */
  --bloom-b: rgba(239,166,42,.15);      /* halo doré, bas droite */
  --surface: rgba(255,255,255,.84);     /* zone de contenu en verre (blur 6px) */
  --surface-solid: #FFFFFF;             /* cartes, champs */
  --surface-2: #F5F7F2;                 /* en-têtes de tableau, blocs secondaires */
  --surface-3: #ECF0E8;                 /* pastilles neutres, pistes de jauge */
  --line: #E1E6DD;
  --line-strong: #CBD3C6;
  --ink: #0C0C0C;                       /* 19,6:1 sur blanc */
  --ink-2: #343933;
  --muted: #5F675E;                     /* 5,8:1 */
  --faint: #8C948A;                     /* métadonnées non essentielles uniquement */
  --on-ink: #FFFFFF;

  /* ---------- Rôles sémantiques ---------- */
  --action: #EFA62A;          --action-hover: #E3981A; --action-press: #CB8612; --on-action: #14140F;
  --action-ink: #94600C;      --action-soft: #FDF2DC;                 /* doré = à faire maintenant */
  --success: #3F7444;         --success-soft: #E6F0E6;                /* vert = avancé ou gagné */
  --won: #0F6013;
  --late: #B4520F;            --late-soft: #FDEBDD;                   /* orange = en retard */
  --ai: #4C0E4F;              --ai-ink: #5B1A5F; --ai-soft: #F4EAF4; --ai-line: #E2CFE3;   /* violet = IA */
  --origin: #7C4F13;          --origin-soft: #F4EBDF;                 /* brun = première origine */
  --danger: #C0392B;          --danger-ink: #A93224; --danger-soft: #FBE8E5;               /* rouge = erreur, échec */
  --live: #9AD625;                                                    /* lime = signal en direct */

  /* ---------- Canaux d'acquisition ---------- */
  --ch-google-ads: #EFA62A;
  --ch-organique: #5C9761;
  --ch-linkedin-outreach: #2F6A86;
  --ch-linkedin-organique: #86AFC2;
  --ch-newsletter: #7C4F13;
  --ch-referent: #6E8B3D;
  --ch-direct: #464851;
  --ch-inconnue: #A5ACA3;   /* toujours rendu hachuré : repeating-linear-gradient(135deg, var(--ch-inconnue) 0 3px, transparent 3px 6px) */

  /* ---------- Étapes du pipeline (une teinte qui s'approfondit) ---------- */
  --st-nouveau: #D5E6D6; --st-qualifie: #A6CBA9; --st-rdv: #74AB7A; --st-opportunite: #3F7444; --st-gagne: #0F6013; --st-perdu: #A5ACA3;

  /* ---------- Sidebar ---------- */
  --side-bg: #0B0F0C; --side-fg: #ECF1EA; --side-muted: #8D998E; --side-icon: #9AA69B;
  --side-hover: rgba(255,255,255,.06); --side-active: rgba(255,255,255,.10);

  /* ---------- Typographie ---------- */
  --font-display: "Poppins", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --font-text: "DM Sans", "Segoe UI", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  --fs-page: 30px;   --lh-page: 1.15;  /* Poppins 700, -2 % */
  --fs-hero: 32px;                      /* titre d'accueil, Poppins 700 */
  --fs-section: 16px;                   /* titre de carte, Poppins 600 */
  --fs-body: 14px;   --lh-body: 1.5;   /* DM Sans 400 */
  --fs-small: 12.5px;
  --fs-micro: 10.5px; --ls-micro: .14em; /* DM Sans 700 capitales */
  --fs-kpi: 26px;                       /* Poppins 600, chiffres tabulaires */
  --fs-mono: 12px;

  /* ---------- Formes ---------- */
  --r-xs: 6px; --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 20px; --r-pill: 999px;
  --sidebar-w: 256px; --rail-w: 64px; --header-h: 56px; --shell-gap: 8px;

  /* ---------- Ombres ---------- */
  --shadow-1: 0 1px 2px rgba(16,24,16,.04), 0 4px 10px -3px rgba(16,24,16,.06);
  --shadow-2: 0 2px 6px rgba(16,24,16,.05), 0 18px 40px -18px rgba(16,24,16,.22);
  --shadow-side: 0 26px 64px -30px rgba(0,0,0,.70), inset 0 0 0 1px rgba(255,255,255,.08);
  --halo-action: 0 12px 32px -14px rgba(239,166,42,.65);
  --halo-ai: 0 12px 30px -14px rgba(76,14,79,.55);
  --focus-ring: 0 0 0 3px rgba(239,166,42,.45);

  /* ---------- Mouvement ---------- */
  --ease: cubic-bezier(.2,.7,.2,1);
  --dur-fast: 120ms; --dur: 180ms; --dur-slow: 320ms;
}

:root[data-theme="dark"] {
  --canvas: #0B100D; --bloom-a: rgba(92,151,97,.20); --bloom-b: rgba(239,166,42,.10);
  --surface: rgba(21,28,23,.82); --surface-solid: #151C17; --surface-2: #1A231D; --surface-3: #212B24;
  --line: #27322A; --line-strong: #36433A;
  --ink: #EEF2EC; --ink-2: #C8D0C6; --muted: #97A396; --faint: #6E7A6E; --on-ink: #0B100D;
  --action-ink: #F2B84E; --action-soft: rgba(239,166,42,.13);
  --success: #8CC491; --success-soft: rgba(111,174,117,.14);
  --late: #F29A5E; --late-soft: rgba(237,121,43,.14);
  --ai: #6A2A6E; --ai-ink: #D9AEDC; --ai-soft: rgba(160,90,165,.16); --ai-line: rgba(160,90,165,.32);
  --origin: #D2A46A; --origin-soft: rgba(178,124,58,.16);
  --danger-ink: #F08A7E; --danger-soft: rgba(192,57,43,.16);
  --st-nouveau: #2A3A2D; --st-qualifie: #3D5C41; --st-rdv: #548A5A; --st-opportunite: #78B27E; --st-gagne: #A6D6A9;
  --ch-newsletter: #B88445; --ch-direct: #8A8E99; --ch-inconnue: #5E675F; --ch-linkedin-outreach: #4C8FAF;
  --side-bg: #050806;
  --shadow-1: 0 1px 2px rgba(0,0,0,.3), 0 4px 10px -3px rgba(0,0,0,.35);
  --shadow-2: 0 2px 6px rgba(0,0,0,.3), 0 18px 40px -18px rgba(0,0,0,.6);
  color-scheme: dark;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur: 0ms; --dur-slow: 0ms; }
}
