/* ================================================================
   Design Tokens — BNP Paribas Cardif BBC v1.3
   Source: digitalplatform.cardif.fr + v0.5 design system
   ================================================================ */

:root {
  /* ── Palette verte Cardif (unifiée) ── */
  --c-900: #00250F;
  --c-800: #003D1C;
  --c-750: #005229;
  --c-700: #00915A;     /* primary — unique accent vert */
  --c-600: #00794B;     /* hover/active (vert foncé cohérent) */
  --c-500: #00915A;     /* aligné sur primary */
  --c-400: #2BAD6A;
  --c-300: #6DC48A;
  --c-200: #A8DCBA;
  --c-100: #D8F0E0;
  --c-50:  #F0F9F3;
  --c-border: #C5E0CC;

  /* ── Pillar accent colors ── */
  --pillar-green:  #00915A;
  --pillar-blue:   #4484F0;
  --pillar-violet: #8B5CF6;
  --pillar-orange: #F0884A;

  /* ── Neutrals ── */
  --n-900: #212121;
  --n-800: #333333;
  --n-700: #4A4A4A;
  --n-600: #616161;
  --n-500: #757575;
  --n-400: #9E9E9E;
  --n-300: #BDBDBD;
  --n-200: #E0E0E0;
  --n-100: #F5F5F5;
  --n-50:  #FAFAFA;
  --white: #FFFFFF;

  /* ── BBC Status ── */
  --bbc-available:   #00915A;
  --bbc-temporary:   #E8A317;
  --bbc-study:       #D94F00;
  --bbc-todo:        #9E9E9E;

  /* ── BBC Type ── */
  --bbc-internal: #4484F0;
  --bbc-market:   #8B5CF6;

  /* ── Semantic ── */
  --danger: #D32F2F;
  --info:   #1976D2;
  --warn:   #E8A317;

  /* ── Edit mode (local section) ── */
  --edit-bg:     #EEF8F2;   /* vert très pâle Cardif */
  --edit-border: #A8DCBA;   /* vert moyen (--c-200)  */
  --edit-accent: #00915A;   /* vert primaire          */

  /* ── Surfaces (audit: fonds de section) ── */
  --surface: #F5F5F3;
  --surface-light: #FAFAF8;
  --placeholder-color: #6B7280;  /* WCAG AA 4.5:1 sur blanc */

  /* ── Layout ── */
  --sidebar-w: 272px;
  --topbar-h: 44px;
  --content-max: 1080px;

  /* ── Fonts ── */
  --sans: 'Open Sans', system-ui, -apple-system, sans-serif;
  --mono: 'JetBrains Mono', 'Courier New', monospace;

  /* ── Transitions ── */
  --ease: cubic-bezier(.4, 0, .2, 1);
  --duration: 150ms;

  /* ── Shadows ── */
  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 2px 8px rgba(0,0,0,.1);
  --shadow-lg: 0 4px 16px rgba(0,0,0,.12);

  /* ── Border radius ── */
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-full: 9999px;
}

/* ── Reset ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 15px; }
body {
  font-family: var(--sans);
  color: var(--n-800);
  background: var(--surface-light);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  font-size: .875rem;           /* 14px — base body */
}

/* Placeholder global — WCAG AA */
::placeholder {
  color: var(--placeholder-color);
  opacity: 1;
}

/* ── Animations ── */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-12px); }
  to   { opacity: 1; transform: translateX(0); }
}
