.gb5-kpi-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  cursor: pointer;

  &__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  &__label {
    font-size: 13px;
    color: var(--text-tertiary, #6b7280);
  }

  // Same ramp as gb5-kpi-status-card's own COLOR_RAMP (good=green/bad=red/neutral=gray) — kept
  // as a literal target-vs-actual comparison here rather than an ordinal backend palette index,
  // since a generic BI measure has no server-computed status band to read.
  &__badge {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;

    &--good { background: #16a34a; }
    &--bad { background: #dc2626; }
    &--neutral { background: #9ca3af; }
  }

  &__value {
    font-size: 28px;
    font-weight: 600;
    display: flex;
    align-items: baseline;
    gap: 6px;
  }

  &__trend {
    font-size: 14px;
    display: inline-flex;
    align-items: baseline;
    gap: 4px;

    &--up { color: #16a34a; }
    &--down { color: #dc2626; }
  }

  &__trend-pct {
    font-size: 12px;
  }

  &__truncated {
    font-size: 11px;
    color: var(--text-tertiary, #6b7280);
    font-style: italic;
  }
}
