/* ============================================================
   BUZZ RADIO PRODUCTION — Système visuel partagé
   Marque: violet #543A63 · Typo: Poppins · Ton: premium/éditorial
   ============================================================ */

:root {
  /* — Échelle violet (dérivée de #543A63) — */
  --v-ink:   #241830;   /* presque noir violacé (texte fort) */
  --v-950:   #2E2038;
  --v-900:   #3A2A4A;
  --v-800:   #543A63;   /* MARQUE */
  --v-700:   #6A4E7E;
  --v-600:   #84669A;
  --v-500:   #A082B5;
  --v-400:   #BBA3CB;
  --v-300:   #D2C0DE;
  --v-200:   #E6DAEE;
  --v-100:   #F1E9F6;
  --v-50:    #F8F4FB;

  /* — Accents sémantiques — */
  --on-air:  #E2683A;   /* orange : tournage exceptionnel / live */
  --on-air-soft: #FBEDE6;
  --go:      #2E9D6E;   /* vert : validé / dispo */
  --go-soft: #E4F3EC;
  --warn:    #E0A22B;   /* jaune : avertissement (point) */
  --warn-soft: #FBF1DC;
  --urgent:  #D14437;   /* rouge : urgent (>7 jours) */
  --urgent-soft: #FBE8E6;
  --sky:     #3B7CC4;   /* bleu : info secondaire */
  --sky-soft: #E7F0F9;

  /* — Neutres chauds (éditorial) — */
  --paper:   #F6F4F2;   /* fond app */
  --paper-2: #EFECE9;
  --card:    #FFFFFF;
  --ink:     #1E1822;   /* texte principal */
  --ink-2:   #5B5360;   /* texte secondaire */
  --ink-3:   #8B8392;   /* texte tertiaire / labels */
  --line:    #E9E4EC;   /* hairline */
  --line-2:  #DCD6E0;

  /* — Rayons & ombres — */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 24px;
  --sh-1: 0 1px 2px rgba(36,24,48,.06), 0 1px 3px rgba(36,24,48,.04);
  --sh-2: 0 2px 8px rgba(36,24,48,.06), 0 8px 24px rgba(36,24,48,.05);
  --sh-3: 0 12px 40px rgba(36,24,48,.12), 0 4px 12px rgba(36,24,48,.06);

  --font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* reset within artboards */
.brz * { box-sizing: border-box; margin: 0; padding: 0; }
.brz {
  font-family: var(--font);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'tnum' 0;
  width: 100%;
  height: 100%;
  background: var(--paper);
}
.brz button { font-family: inherit; cursor: pointer; }
:where(.brz button) { border: none; background: none; }

/* — Eyebrow / suréclat — */
.eyebrow {
  font-size: 11px; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--ink-3);
}
.tnum { font-variant-numeric: tabular-nums; }

/* ============================================================
   CHIPS partagées
   ============================================================ */
.chip {
  display: inline-flex; align-items: center; gap: 6px;
  height: 26px; padding: 0 11px; border-radius: 999px;
  font-size: 12.5px; font-weight: 500; white-space: nowrap;
  background: var(--v-100); color: var(--v-800);
}
.chip--client { background: var(--v-100); color: var(--v-800); }
.chip--libre {
  background: transparent; color: var(--ink-3);
  border: 1px dashed var(--line-2); font-weight: 500;
}
.chip-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

/* ============================================================
   BADGES de statut partagés
   ============================================================ */
.badge {
  display: inline-flex; align-items: center; gap: 5px;
  height: 22px; padding: 0 9px; border-radius: 6px;
  font-size: 11px; font-weight: 600; letter-spacing: .01em;
}
.badge--go     { background: var(--go-soft);     color: #1f7a52; }
.badge--air    { background: var(--on-air-soft);  color: #b9491f; }
.badge--warn   { background: var(--warn-soft);    color: #9a6e0f; }
.badge--urgent { background: var(--urgent-soft);  color: #a8281c; }
.badge--neutral{ background: var(--v-100);         color: var(--v-700); }
.badge--ghost  { background: transparent; color: var(--ink-3); border: 1px solid var(--line-2); }

/* avatar trigramme */
.trigram {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--v-100); color: var(--v-800);
  font-size: 11.5px; font-weight: 600; letter-spacing: .02em;
  flex: 0 0 auto;
}
