.o-progress {
  --progress-track-bg-color: var(--o-color-control4);
  --progress-color: var(--o-color-info1);
  --progress-label-gap: 8px;
  --progress-inner-label-color: var(--o-color-white);
  --progress-inner-label-gap: 8px;
}

.o-progress-medium {
  --progress-text-size: var(--o-font_size-text1);
  --progress-text-height: var(--o-line_height-text1);
  --progress-icon-size: var(--o-icon_size_control-m);
}

.o-progress-small {
  --progress-text-size: var(--o-font_size-tip2);
  --progress-text-height: var(--o-line_height-tip2);
  --progress-icon-size: var(--o-icon_size_control-xs);
}

.o-progress-primary {
  --progress-bar-bg-color: var(--o-color-primary1);
  --progress-icon-color: var(--o-color-primary1);
}

.o-progress-success {
  --progress-bar-bg-color: var(--o-color-success1);
  --progress-icon-color: var(--o-color-success1);
}

.o-progress-warning {
  --progress-bar-bg-color: var(--o-color-warning1);
  --progress-icon-color: var(--o-color-warning1);
}

.o-progress-danger {
  --progress-bar-bg-color: var(--o-color-danger1);
  --progress-icon-color: var(--o-color-danger1);
}

.o-progress-line {
  width: 100%;
}

.o-progress-line-wrap {
  display: flex;
  align-items: center;
}

.o-progress-line-track {
  width: 100%;
  overflow: hidden;
  background-color: var(--progress-track-bg-color);
}

.o-progress-line-bar {
  max-width: 100%;
  height: 100%;
  background-color: var(--progress-bar-bg-color);
  transition: all var(--o-duration-m1) var(--o-easing-standard);
  text-align: right;
}

.o-progress-line-label {
  color: var(--progress-color);
  font-size: var(--progress-text-size);
  line-height: var(--progress-text-height);
  margin-left: var(--progress-label-gap);
  white-space: nowrap;
}
.o-progress-line-label.is-icon {
  color: var(--progress-icon-color);
  font-size: var(--progress-icon-size);
}

.o-progress-line-inner-label {
  display: inline-block;
  color: var(--progress-inner-label-color);
  margin-left: var(--progress-inner-label-gap);
  margin-right: var(--progress-inner-label-gap);
}

.o-progress-circle {
  font-size: 0;
  line-height: 0;
}

.o-progress-circle-wrap {
  position: relative;
  display: inline-block;
}

.o-progress-circle-track {
  stroke: var(--progress-track-bg-color);
}

.o-progress-circle-bar {
  stroke: var(--progress-bar-bg-color);
  transition: all var(--o-duration-m1) var(--o-easing-standard);
}

.o-progress-circle-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--progress-color);
  font-size: var(--progress-text-size);
  line-height: var(--progress-text-height);
}
.o-progress-circle-label.is-icon {
  color: var(--progress-icon-color);
  font-size: var(--progress-icon-size);
}

@media (max-width: 1440px) {
  .o-progress-medium {
    --progress-text-size: var(--o-font_size-tip1);
    --progress-text-height: var(--o-line_height-tip1);
  }
}