/* =========================================================
   PNFR — Thème sombre

   EXTENSION au canon : ni le groupe Serviceplan ni Plan.Net ne
   prévoient de thème sombre — leurs systèmes visent la présentation
   et le web éditorial. Carbone et Cobalt, eux, en ont un complet et
   s'en servent. Plutôt que de le supprimer, on l'inscrit dans la
   charte : la palette ne change pas, seuls les rôles s'inversent.
   Digital Red reste strictement identique — c'est lui qui tient
   l'identité dans les deux thèmes.

   S'active au choix du projet : :root[data-theme="dark"] ou .dark
   ========================================================= */

:root[data-theme="dark"],
.dark {
  --bg:         var(--pn-blackest-black);
  --bg-alt:     #1A1A1A;                    /* la carte devient un creux, pas un relief */
  --bg-inverse: var(--pn-warm-grey);

  --fg:         var(--pn-warm-grey);
  --fg-muted:   #A8A49B;
  --fg-subtle:  #757168;
  --fg-inverse: var(--pn-digital-black);

  --accent:       var(--pn-digital-red);
  --accent-hover: var(--pn-red-hover);
  --accent-press: var(--pn-red-press);
  --on-accent:    var(--pn-whitest-white);

  --border:        rgba(232, 229, 222, 0.14);
  --border-strong: rgba(232, 229, 222, 0.30);
  --divider:       rgba(232, 229, 222, 0.14);

  --link:         var(--pn-digital-red);
  --link-visited: var(--pn-red-hover);

  /* Les verts de marque tombent sous le seuil de contraste sur du
     noir : on remonte la luminance en restant sur la même teinte. */
  --success:      var(--pn-mild-green);
  --on-success:   var(--pn-blackest-black);
  --success-soft: rgba(148, 194, 157, 0.14);
  --warning:      #E8A13A;
  --on-warning:   var(--pn-blackest-black);
  --warning-soft: rgba(232, 161, 58, 0.14);
  --danger:       var(--pn-digital-red);
  --on-danger:    var(--pn-whitest-white);
  --danger-soft:  rgba(255, 75, 79, 0.16);
  --info:         var(--pn-warm-grey);
  --on-info:      var(--pn-blackest-black);
  --info-soft:    rgba(232, 229, 222, 0.10);
  --assist:       var(--pn-yes-green);
  --on-assist:    var(--pn-blackest-black);
  --assist-soft:  rgba(193, 216, 80, 0.14);

  --sev-critical: #FF9395;
  --sev-high:     var(--pn-digital-red);
  --sev-medium:   var(--warning);
  --sev-low:      var(--fg-muted);
  --sev-info:     var(--fg-subtle);

  --env-prod:    var(--pn-mild-green);
  --env-staging: var(--warning);
  --env-dev:     var(--fg-muted);

  /* Sur noir, l'encre ne peut plus servir de série : le gris chaud prend
     sa place, et le chartreuse remonte en luminance. */
  --serie-1: var(--pn-digital-red);
  --serie-2: var(--pn-mild-green);
  --serie-3: var(--pn-warm-grey);
  --serie-4: var(--warning);
  --serie-5: var(--pn-sand);
  --serie-6: var(--pn-yes-green);

  /* Sur fond noir l'ombre ne dit plus rien : c'est le filet qui porte. */
  --shadow-xs: none;
  --shadow-sm: none;
  --shadow-md: 0 8px 20px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 18px 40px rgba(0, 0, 0, 0.6);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: var(--pn-blackest-black);
    --bg-alt: #1A1A1A;
    --bg-inverse: var(--pn-warm-grey);

    --fg: var(--pn-warm-grey);
    --fg-muted: #A8A49B;
    --fg-subtle: #757168;
    --fg-inverse: var(--pn-digital-black);

    --border: rgba(232, 229, 222, 0.14);
    --border-strong: rgba(232, 229, 222, 0.30);
    --divider: rgba(232, 229, 222, 0.14);

    --success: var(--pn-mild-green);
    --on-success: var(--pn-blackest-black);
    --success-soft: rgba(148, 194, 157, 0.14);
    --warning: #E8A13A;
    --on-warning: var(--pn-blackest-black);
    --warning-soft: rgba(232, 161, 58, 0.14);
    --danger: var(--pn-digital-red);
    --danger-soft: rgba(255, 75, 79, 0.16);
    --info: var(--pn-warm-grey);
    --on-info: var(--pn-blackest-black);
    --info-soft: rgba(232, 229, 222, 0.10);
    --assist: var(--pn-yes-green);
    --on-assist: var(--pn-blackest-black);
    --assist-soft: rgba(193, 216, 80, 0.14);

    --sev-critical: #FF9395;
    --sev-high: var(--pn-digital-red);
    --sev-low: var(--fg-muted);
    --sev-info: var(--fg-subtle);
    --env-prod: var(--pn-mild-green);
    --env-dev: var(--fg-muted);
    --serie-1: var(--pn-digital-red);
    --serie-2: var(--pn-mild-green);
    --serie-3: var(--pn-warm-grey);
    --serie-4: var(--warning);
    --serie-5: var(--pn-sand);
    --serie-6: var(--pn-yes-green);

    --shadow-xs: none; --shadow-sm: none;
    --shadow-md: 0 8px 20px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 18px 40px rgba(0, 0, 0, 0.6);
  }
}
