/* V157.8 — CodeFronts Goal Tracker adapted to Operations substeps.
   Scoped only to the PHP-rendered .sf-operation-substep bars.
   Console bars (.sf-console-track) are deliberately untouched. */
.sf-operation-substep .sf-operation-progress{
  --value:0;
  display:block!important;
  position:relative!important;
  isolation:isolate!important;
  inline-size:100%!important;
  width:100%!important;
  height:9px!important;
  min-height:9px!important;
  margin:30px 0 8px!important;
  overflow:visible!important;
  border:1px solid rgba(150,24,53,.10)!important;
  border-radius:999px!important;
  background-color:#f2e8eb!important;
  background-image:
    linear-gradient(to right,transparent calc(25% - .6px),rgba(123,30,52,.16) 25%,transparent calc(25% + .6px)),
    linear-gradient(to right,transparent calc(50% - .6px),rgba(123,30,52,.16) 50%,transparent calc(50% + .6px)),
    linear-gradient(to right,transparent calc(75% - .6px),rgba(123,30,52,.16) 75%,transparent calc(75% + .6px))!important;
  box-shadow:inset 0 1px 2px rgba(67,25,38,.06)!important;
  transition:background-color .2s ease!important;
}
.sf-operation-substep .sf-operation-progress>i{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  width:0%;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#a90d32 0%,#cf1d45 58%,#ee4967 100%)!important;
  box-shadow:0 2px 7px rgba(177,16,53,.18)!important;
  transition:width .7s cubic-bezier(.22,.7,.2,1)!important;
}
.sf-operation-substep .sf-operation-progress::before{
  content:attr(data-percent);
  position:absolute!important;
  z-index:3!important;
  left:clamp(23px,calc(var(--value,0)*1%),calc(100% - 23px))!important;
  top:-25px!important;
  transform:translateX(-50%)!important;
  display:block!important;
  min-width:48px!important;
  padding:5px 7px!important;
  border:1px solid rgba(255,255,255,.9)!important;
  border-radius:8px!important;
  background:linear-gradient(145deg,#8f0d2c,#b51239)!important;
  color:#fff!important;
  box-shadow:0 4px 11px rgba(117,10,39,.16)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:850!important;
  font-variant-numeric:tabular-nums!important;
  text-align:center!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  transition:left .7s cubic-bezier(.22,.7,.2,1)!important;
}
.sf-operation-substep .sf-operation-progress::after{
  content:"";
  position:absolute!important;
  z-index:2!important;
  left:clamp(23px,calc(var(--value,0)*1%),calc(100% - 23px))!important;
  top:-5px!important;
  width:7px!important;
  height:7px!important;
  transform:translateX(-50%) rotate(45deg)!important;
  border-right:1px solid rgba(255,255,255,.9)!important;
  border-bottom:1px solid rgba(255,255,255,.9)!important;
  background:#a90d32!important;
  pointer-events:none!important;
  transition:left .7s cubic-bezier(.22,.7,.2,1)!important;
}
.sf-operation-substep.is-complete .sf-operation-progress::before{
  background:linear-gradient(145deg,#13764e,#1a9866)!important;
}
.sf-operation-substep.is-complete .sf-operation-progress::after{
  background:#13764e!important;
}
.sf-operation-substep>span:nth-child(2){min-width:0!important}
.sf-operation-substep>strong{
  align-self:start!important;
  min-width:54px!important;
  text-align:right!important;
  font-size:0!important;
  line-height:1!important;
  color:#ad1232!important;
  font-variant-numeric:tabular-nums!important;
}
.sf-operation-substep.is-complete>strong{color:#16865b!important}
.sf-operation-substep.is-active .sf-operation-substep-icon{
  box-shadow:0 0 0 4px rgba(200,16,46,.055)!important;
}
.sf-operation-substep .sf-operation-substep-icon i.fa-spinner{
  animation:sfGoalTrackerSpin 1s linear infinite!important;
}
@keyframes sfGoalTrackerSpin{to{transform:rotate(360deg)}}
@media(max-width:640px){
  .sf-operation-substep .sf-operation-progress{margin-top:31px!important;height:9px!important}
  .sf-operation-substep .sf-operation-progress::before{top:-25px!important}
}
@media(prefers-reduced-motion:reduce){
  .sf-operation-substep .sf-operation-progress,
  .sf-operation-substep .sf-operation-progress>i,
  .sf-operation-substep .sf-operation-progress::before,
  .sf-operation-substep .sf-operation-progress::after{
    transition:none!important;animation:none!important
  }
}
