/* Nocan tokens (scoped to .nocan) */
.nocan{
  /* Stage palette (pale, equal brightness; no red) */
  --st-reg: #7FA6C6;    /* Registration */
  --st-shoot: #7FBBC7;  /* Shooting */
  --st-sort: #7FC7AE;   /* Sorting */
  --st-basic: #9BCB85;  /* Base edit */
  --st-pick: #D8CF84;   /* Selection */
  --st-retouch: #C6A2D2;/* Retouch */
  --st-layout: #B28EDB; /* Layout */
  --st-verify: #B4A8D1; /* Verification */
  --st-print: #A8A8B6;  /* Print */
  --st-mail: #8FA3B8;   /* Mailing */

  /* Stage colors (internal names) */
  --nocan-stage-registration: var(--st-reg);
  --nocan-stage-shooting: var(--st-shoot);
  --nocan-stage-sorting: var(--st-sort);
  --nocan-stage-base-edit: var(--st-basic);
  --nocan-stage-selection: var(--st-pick);
  --nocan-stage-retouch: var(--st-retouch);
  --nocan-stage-layout: var(--st-layout);
  --nocan-stage-verification: var(--st-verify);
  --nocan-stage-print: var(--st-print);
  --nocan-stage-mailing: var(--st-mail);

  /* Surfaces */
  --nocan-bg: #0b1220;
  --nocan-surface: #0f172a;
  --nocan-surface-2: #111c33;
  --nocan-surface-3: #020617;
  --nocan-surface-overlay: rgba(11, 18, 32, 0.88);
  --nocan-surface-hover: rgba(255, 255, 255, 0.05);
  --nocan-surface-active: rgba(255, 255, 255, 0.06);

  /* Borders & shadows */
  --nocan-border: rgba(255, 255, 255, 0.08);
  --nocan-border-strong: rgba(255, 255, 255, 0.14);
  --nocan-shadow-card: 0 10px 28px rgba(0, 0, 0, 0.25);
  --nocan-shadow-dot: 0 0 0 3px rgba(255, 255, 255, 0.04);

  /* Text */
  --nocan-text: rgba(255, 255, 255, 0.92);
  --nocan-muted: rgba(255, 255, 255, 0.62);

  /* Accents */
  --nocan-focus-ring: rgba(56, 189, 248, 0.12);
  --nocan-focus-border: rgba(56, 189, 248, 0.28);

  /* Badges */
  --nocan-badge-danger-bg: rgba(251, 113, 133, 0.14);
  --nocan-badge-danger-text: #ffb4c0;
  --nocan-badge-warning-bg: rgba(251, 191, 36, 0.14);
  --nocan-badge-warning-text: #ffe2a6;
  --nocan-badge-success-bg: rgba(34, 197, 94, 0.14);
  --nocan-badge-success-text: #b6f3c8;
  --nocan-badge-secondary-bg: rgba(148, 163, 184, 0.14);
  --nocan-badge-secondary-text: #d6e3f0;
  --nocan-badge-dark-bg: rgba(255, 255, 255, 0.08);
  --nocan-badge-dark-text: rgba(255, 255, 255, 0.86);
  --nocan-badge-light-bg: rgba(255, 255, 255, 0.07);
  --nocan-badge-light-text: rgba(255, 255, 255, 0.82);

  /* Stage (neutral, same for all stages) */
  --nocan-stage-bg: rgba(255, 255, 255, 0.08);
  --nocan-stage-text: rgba(255, 255, 255, 0.78);

  /* Deadline timer (semantic; not tied to stage) */
  --nocan-deadline-ok-bg: rgba(45, 212, 191, 0.14);
  --nocan-deadline-ok-text: rgba(195, 255, 245, 0.95);
  --nocan-deadline-near-bg: rgba(163, 186, 90, 0.16);
  --nocan-deadline-near-text: rgba(240, 255, 205, 0.92);
  --nocan-deadline-overdue-bg: rgba(159, 18, 57, 0.22);
  --nocan-deadline-overdue-text: rgba(255, 210, 225, 0.96);

  /* Issues (the only “red” family; dark maroon) */
  --nocan-issue-bg: rgba(159, 18, 57, 0.22);
  --nocan-issue-text: rgba(255, 210, 225, 0.96);
  --nocan-issue-bar-bg: rgba(159, 18, 57, 0.55);

  /* Stage tabs counters */
  --nocan-count-total-bg: rgba(255, 255, 255, 0.07);
  --nocan-count-total-text: rgba(255, 255, 255, 0.78);
  --nocan-count-attention-bg: rgba(159, 18, 57, 0.22);
  --nocan-count-attention-text: rgba(255, 210, 225, 0.96);

  /* Components */
  --nocan-btn-outline-border: rgba(255, 255, 255, 0.22);
  --nocan-modal-backdrop: rgba(2, 6, 23, 0.7);
  --nocan-repeat-bg: rgba(251, 191, 36, 0.14);
}
