/* Status / progress widgets carried over from the legacy trak_next UI. */

/* StatusBadge */
.kr-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 200px;
  font-size: 14px;
  color: var(--kr-dark, #3c3c3c);
  white-space: nowrap;
}

.kr-status-dot {
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  flex: 0 0 15px;
}

/* ProgressPercentage */
.kr-progress-percentage {
  min-width: 140px;
}

.kr-progress-bar {
  height: 10px;
  border-radius: 100px;
  background-color: var(--kr-light-grey, #d9d9d9);
  overflow: hidden;
}

.kr-progress-fill {
  height: 100%;
  border-radius: 100px;
  background-color: var(--kr-progress-green, #6fcf97);
  transition: width 0.3s ease;
}

.kr-progress-caption {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--kr-grey-blue, #637480);
  margin-top: 4px;
}

/* StatusBox / StatusScoreboard */
.kr-scoreboard {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.kr-scoreboard.big {
  max-width: 600px;
}

.kr-scoreboard.small {
  max-width: 340px;
}

.kr-status-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
}

.kr-status-box.big {
  width: 160px;
  height: 65px;
  border-radius: 8px;
}

.kr-status-box.small {
  width: 112px;
  height: 51px;
  border-radius: 6px;
}

.kr-status-box .kr-status-count {
  font-weight: 700;
  line-height: 1.1;
}

.kr-status-box.big .kr-status-count {
  font-size: 24px;
}

.kr-status-box.small .kr-status-count {
  font-size: 18px;
}

.kr-status-box .kr-status-box-label {
  font-size: 14px;
}

.kr-status-box.small .kr-status-box-label {
  font-size: 12px;
}

/* ProgressMeter */
.kr-progress-meter {
  position: relative;
}

.kr-progress-meter.big {
  width: 400px;
  height: 320px;
}

.kr-progress-meter.small {
  width: 260px;
  height: 210px;
}

.kr-progress-meter svg.kr-meter-arc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.kr-progress-meter .kr-meter-center {
  position: absolute;
  left: 0;
  right: 0;
  top: 38%;
  text-align: center;
  color: var(--kr-dark, #3c3c3c);
  font-family: 'Roboto', Arial, sans-serif;
}

.kr-progress-meter.big .kr-meter-value {
  font-size: 92px;
  line-height: 1;
}

.kr-progress-meter.small .kr-meter-value {
  font-size: 76px;
  line-height: 1;
}

.kr-progress-meter.big .kr-meter-unit {
  font-size: 52px;
}

.kr-progress-meter.small .kr-meter-unit {
  font-size: 42px;
}

.kr-progress-meter .kr-meter-caption {
  color: var(--kr-progress-gray, #9898a5);
}

.kr-progress-meter.big .kr-meter-caption {
  font-size: 20px;
}

.kr-progress-meter.small .kr-meter-caption {
  font-size: 14px;
}

/* FlipClock */
.kr-flip-clock {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #e0e0e0;
  border-radius: 8px;
  padding: 12px 16px;
}

.kr-flip-unit-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.kr-flip-unit {
  width: 52px;
  height: 52px;
  border-radius: 6px;
  background: #777777;
  border: 1px solid #919191;
  color: white;
  font-family: 'Inter', 'Roboto', Arial, sans-serif;
  font-weight: 500;
  font-size: 34px;
  line-height: 52px;
  text-align: center;
}

.kr-flip-unit.kr-flip-tick {
  animation: kr-flip 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

@keyframes kr-flip {
  0% { transform: rotateX(0deg); }
  50% { transform: rotateX(-90deg); }
  100% { transform: rotateX(0deg); }
}

.kr-flip-label {
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 500;
  font-size: 12px;
  color: #4f4f4f;
}

.kr-flip-separator {
  font-size: 40px;
  color: #777777;
  line-height: 52px;
  align-self: flex-start;
}
