/* v1.1.6.312 (REV46): шар --n-* переведено на канонні імена.
   Обіцяно в .304 і зроблено окремо, щоб diff лишався читабельним.
   Рівність тут навіть простіша за минулий раз: канонні токени ВИЗНАЧЕНІ через
   ці ж --n-* (`--kp-color-surface: var(--n-bg-2)`), тож збіг не випадковий, а
   за побудовою. Однак я все одно звірив кожну пару після повного розкриття
   ланцюжка var() і ОКРЕМО у світлій та темній схемі — сім із семи.
   Жодне обчислене значення не змінюється. --n-* лишаються оголошеними в
   tokens.css: канонні токени спираються на них, і це шар значень під шаром імен. */
/* v1.1.6.291 (REV46, CANON-STEP-8): значення, які ВЖЕ дорівнювали кроку
   канонної шкали, отримали її ім'я: радіус 0, pill 0,
   відступи 2, вага 0. Жодне число не змінено — це
   перейменування, не редизайн. Значення поза шкалою лишились літералами
   свідомо: прев'ю канону саме вживає 10/14/6px для падінгів компонентів,
   тож стягувати їх до шкали означало б відійти ВІД прев'ю, а не до нього. */
/* v1.1.6.290 (REV46, CANON-STEP-7): 4 значень font-size переведено на
   канонну шкалу (--kp-text-xs/sm/md/lg/xl/2xl). Правило: найближчий крок,
   і лише коли зміна ≤12%%. Все, що далі (герой-цифри 3-5rem, мікропідписи
   <0.6rem), лишилось літералом — це не текстова шкала. Перелік: _meta/. */
/* widgets/ui/badge — v1.1.5.881. Лише токени: жодного сирого кольору. */
.kp-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: var(--kp-space-1) 10px;
    border-radius: var(--n-r-pill);
    border: 1px solid var(--kp-color-border);
    background: var(--n-surface-2);
    color: var(--n-text-soft);
    font-size: var(--kp-text-xs);
    line-height: var(--n-lh-tight);
    white-space: nowrap;
}
.kp-badge--sm { padding: 2px var(--kp-space-2); font-size: var(--kp-text-xs); }
.kp-badge__icon { font-size: var(--kp-text-md); }
.kp-badge__suffix { color: var(--n-text-dim); font-size: var(--kp-text-sm); }

.kp-badge--accent { border-color: var(--n-accent-border); background: var(--n-accent-soft); color: var(--n-text-strong); }
.kp-badge--good   { border-color: var(--kp-color-border); background: var(--n-good-soft);  color: var(--n-good); }
.kp-badge--warn   { border-color: var(--kp-color-border); background: var(--n-warn-soft);  color: var(--n-warn); }
.kp-badge--danger { border-color: var(--kp-color-border); background: var(--n-danger-soft); color: var(--n-danger); }
.kp-badge--info   { border-color: var(--kp-color-border); background: var(--n-info-soft);  color: var(--n-info); }

/* v1.1.5.985: приглушений тон із канонічного шаблону v5.
   Використання: стани «поза зоною», «немає даних» — те, що не є ані успіхом, ані
   попередженням, але має читатись слабше за нейтральний. */
.kp-badge--muted {
  color: var(--kp-color-text-muted);
  background: var(--n-bg-sunk);
  border-color: var(--kp-color-border);
}
