/*
 * FLOWAYZ — HANDOFF TOKEN ALIASES (Sprint 1.1, refonte 2026-04-26)
 *
 * Pont entre le naming handoff (`--bg-canvas`, `--text-primary`, `--r-md`,
 * `--ease-out`, `--motion-mult`, `[data-density]`, `[data-anim]`) et le
 * système existant (themes/accents.css, tokens/design_tokens.css).
 *
 * Stratégie : extend, pas replace. Aucun token existant n'est supprimé.
 * Les nouveaux composants (flowayz.css) consomment ces noms standardisés.
 *
 * Source : handoff/code/tokens.css + handoff/01-design-system.md
 *
 * Import order (cf. application.tailwind.css) :
 *   1. design_tokens.css (existant — palette flowayz, surfaces, shadows base)
 *   2. accents.css (existant — HSL accent system + presets)
 *   3. handoff_aliases.css (CE FICHIER — pont handoff)
 *   4. flowayz.css (composants handoff utilisant ces tokens)
 */

/* =============================================================================
   1. NAMING ALIASES — pointent vers les variables existantes
   ============================================================================= */

:root,
[data-theme="light"],
[data-mode="light"] {
  /* Backgrounds — handoff naming, ALIGNÉS sur la refonte « Bento » (2026-07-23)
     pour que les composants .fz-* suivent la même palette off-white chaud que
     le système design_tokens. --bg-canvas == --bg-primary Bento. */
  --bg-canvas:     #EFECE7;
  --bg-surface:    #FFFFFF;
  --bg-surface-2:  #F4F1EC;
  --bg-elev:       #FFFFFF;
  --bg-sidebar:    #FBFAF8;
  --bg-input:      #FFFFFF;
  --bg-muted:      #ECE7E0;
  --bg-hover:      rgba(23, 24, 29, 0.04);

  /* Texte — handoff naming, aligné sur les 4 niveaux Bento. */
  --text-primary-handoff:   #191B20;
  --text-secondary-handoff: #3B3F47;
  --text-muted-handoff:     #71767F;
  --text-inverse:           #FFFFFF;

  /* Borders — handoff naming, aligné Bento */
  --border-handoff:        rgba(23, 24, 29, 0.09);
  --border-strong-handoff: rgba(23, 24, 29, 0.18);
  --border-faint:          rgba(23, 24, 29, 0.05);

  /* Shadow accent — generic alias (existing has --shadow-coral/teal/navy) */
  --shadow-accent: 0 8px 24px -8px var(--accent);
}

[data-theme="dark"],
[data-mode="dark"],
html.dark {
  /* Aligné sur la refonte « Bento » near-black (2026-07-23). */
  --bg-canvas:     #0B0C0F;
  --bg-surface:    #15181E;
  --bg-surface-2:  #101319;
  --bg-elev:       #1C2027;
  --bg-sidebar:    #08090C;
  --bg-input:      #1C2027;
  --bg-muted:      #1C2027;
  --bg-hover:      rgba(255, 255, 255, 0.06);

  --text-primary-handoff:   #F4F5F7;
  --text-secondary-handoff: #C9CFD8;
  --text-muted-handoff:     #8A909B;
  --text-inverse:           #0B0C0F;

  --border-handoff:        rgba(255, 255, 255, 0.07);
  --border-strong-handoff: rgba(255, 255, 255, 0.16);
  --border-faint:          rgba(255, 255, 255, 0.04);

  --shadow-accent: 0 8px 24px -8px var(--accent);
}

/* =============================================================================
   2. RADIUS — handoff scale (--r-sm/md/lg/xl/pill)
   ============================================================================= */
:root {
  --r-sm:   6px;
  --r-md:   10px;
  --r-lg:   14px;
  --r-xl:   20px;
  --r-pill: 9999px;
}

/* =============================================================================
   3. DENSITY — driven by [data-density="cozy|compact"]
   ============================================================================= */
:root {
  /* default cozy */
  --density-y: 12px;
  --density-x: 16px;
}
[data-density="cozy"]    { --density-y: 12px; --density-x: 16px; }
[data-density="compact"] { --density-y: 8px;  --density-x: 12px; }

/* =============================================================================
   4. MOTION — durations + easings + multiplier piloté par [data-anim]
   ============================================================================= */
:root {
  --ease-out:    cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --motion-mult: 1;
  --dur-fast:    calc(150ms * var(--motion-mult));
  --dur:         calc(250ms * var(--motion-mult));
  --dur-slow:    calc(400ms * var(--motion-mult));
}

/* L'attribut existant côté layout est `data-animations` (pas `data-anim`).
   On supporte les 2 pour compat avec localStorage existant + handoff naming. */
[data-anim="off"],       [data-animations="off"]    { --motion-mult: 0; }
[data-anim="subtle"],    [data-animations="subtle"] { --motion-mult: 0.6; }
[data-anim="ultra"],     [data-animations="ultra"]  { --motion-mult: 1; }

@media (prefers-reduced-motion: reduce) {
  :root { --motion-mult: 0; }
}

/* =============================================================================
   5. ACCENT-SOFT — alias générique (existing accents.css définit --accent-10)
   ============================================================================= */
:root {
  --accent-soft: var(--accent-10, hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.10));
}

/* =============================================================================
   5b. STATUTS BENTO — littéraux partagés (identiques clair/sombre), refonte 2026-07-23
   =============================================================================
   Consommés par les pastilles .pill--{ok,wait,late,info,misc} (components/bento.css)
   et les composants finances/factures. --info reste piloté par --color-blue existant. */
:root {
  --ok:      #0F9D66;   --ok-dot:  #34D399;   --ok-bg:   rgba(52, 211, 153, .15);
  --wait:    #F59E0B;                          --wait-bg: rgba(245, 158, 11, .15);
  --late:    #F87171;                          --late-bg: rgba(248, 113, 113, .15);
  --misc:    #C084FC;                          --misc-bg: rgba(192, 132, 252, .15);
  /* --info / --info-bg : déjà définis dans design_tokens.css (var(--color-blue)). */
}

/* =============================================================================
   6. SCOPE OVERRIDES — empêcher --bg-primary legacy de polluer la landing v7
   =============================================================================
   Le legacy --bg-primary est défini dans tokens/design_tokens.css:219 comme
   hsl(var(--accent-h), 30%, 96%) — un pastel calculé depuis l'accent. Si une
   classe Tailwind ou utility utilise bg-primary sur la landing v7, on aurait
   un fond pastel-pinkish au lieu du cream pur. Cette règle scopée garantit
   que sous .lv7-page, --bg-primary = --bg-canvas exactement. */
.lv7-page {
  --bg-primary: var(--bg-canvas);
}

