/**
 * @file
 * Status scale — one set of tones for every surface (otb_core/tokens.status).
 *
 *   good       settled            Active · Paid · Final · Completed
 *   attention  needs a human      Due · In grace · Ends soon · In review
 *   problem    blocked            Overdue · Lapsed · Failed · Declined
 *   neutral    inert              Draft · Closed · Void · Cancelled · Trial
 *   info       campus / institutional signal (violet) — use sparingly
 *
 * Each tone has text / fill / border. Components read only --otb-status-*;
 * a theme restyles the scale by setting those names in any scope.
 *
 * On :root each name follows the front theme's --color-status-* token and
 * falls back to the same literal, so the scale is identical where
 * otbtv_theme's tokens.css is absent (Gin, standalone documents). The theme's
 * "--color-status-info-*" is its neutral grey, hence neutral reads it; the
 * violet info tone has no theme counterpart.
 *
 * DesignTokensTest keeps these literals equal to the theme's tokens.css and
 * to \Drupal\otb_core\Design\DesignTokens.
 */

:root {
  --otb-status-good-text: var(--color-status-success-text, #2e7d32);
  --otb-status-good-fill: var(--color-status-success-bg, #e8f5e9);
  --otb-status-good-border: var(--color-status-success-border, #4caf50);

  --otb-status-attention-text: var(--color-status-warning-text, #b23c00);
  --otb-status-attention-fill: var(--color-status-warning-bg, #fff3e0);
  --otb-status-attention-border: var(--color-status-warning-border, #ff9800);

  --otb-status-problem-text: var(--color-status-error-text, #c62828);
  --otb-status-problem-fill: var(--color-status-error-bg, #ffebee);
  --otb-status-problem-border: var(--color-status-error-border, #f44336);

  --otb-status-neutral-text: var(--color-status-info-text, #333333);
  --otb-status-neutral-fill: var(--color-status-info-bg, #f0f0f0);
  --otb-status-neutral-border: var(--color-status-info-border, #b0b0b0);

  --otb-status-info-text: #4a32b3;
  --otb-status-info-fill: #ebe6fb;
  --otb-status-info-border: #9584e0;
}

/* Dark grounds: the theme's user-toggled dark mode, and the always-dark scope
   (tokens/on-dark.css). `.main--dark` joins this list when the theme remaps
   its general tokens there; until then a component on a listing page takes
   `.otb-on-dark` on a wrapper. */
[data-theme="dark"],
.otb-on-dark {
  --otb-status-good-text: var(--color-status-success-text-dark, #a5d6a7);
  --otb-status-good-fill: var(--color-status-success-bg-dark, #1b3a1d);
  --otb-status-good-border: #4caf50;

  --otb-status-attention-text: var(--color-status-warning-text-dark, #ffcc80);
  --otb-status-attention-fill: var(--color-status-warning-bg-dark, #3e2c10);
  --otb-status-attention-border: #ff9800;

  --otb-status-problem-text: var(--color-status-error-text-dark, #ef9a9a);
  --otb-status-problem-fill: var(--color-status-error-bg-dark, #3c1111);
  --otb-status-problem-border: #f44336;

  --otb-status-neutral-text: #dddddd;
  --otb-status-neutral-fill: #333333;
  --otb-status-neutral-border: #666666;

  --otb-status-info-text: #c7b8ff;
  --otb-status-info-fill: #261d45;
  --otb-status-info-border: #7a68c9;
}
