.est-progression-bar {
  z-index: 401;
  display: flex;
  gap: var(--default-space);
}
.est-progression-bar__slot {
  position: relative;
  height: 2.5rem;
  flex: 1;
  width: 0;
}
.est-progression-bar__slot.active .est-progression-bar__btn, .est-progression-bar__slot:hover .est-progression-bar__btn, .est-progression-bar__slot:focus .est-progression-bar__btn {
  background-color: var(--secondary);
  color: white;
}
.est-progression-bar__slot.active .est-progression-bar__dropdown, .est-progression-bar__slot:hover .est-progression-bar__dropdown, .est-progression-bar__slot:focus .est-progression-bar__dropdown {
  display: flex;
}
.est-progression-bar__slot.active::before, .est-progression-bar__slot:hover::before, .est-progression-bar__slot:focus::before {
  display: block;
}
.est-progression-bar__slot:hover, .est-progression-bar__slot:focus {
  z-index: 10;
}
.est-progression-bar__slot:last-child .est-progression-bar__dropdown {
  right: 0;
}
.est-progression-bar__slot::before {
  content: "";
  display: none;
  height: 0.5rem;
  position: absolute;
  bottom: 100%;
  width: 100%;
}
.est-progression-bar__btn {
  position: relative;
  padding: 0.5rem;
  border: 0 !important;
  border-radius: 0.5rem;
  outline: none !important;
  background-color: #dee2e6;
  transition: background-color ease-in-out 0.15s;
  color: rgba(0, 0, 0, 0.75);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.est-progression-bar__btn-label {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.est-progression-bar__dropdown {
  width: 16rem;
  margin-bottom: calc(0.5rem - 1px);
  max-height: calc(100dvh - 4.5rem);
  bottom: 100%;
}
.est-progression-bar__dropdown-placeholder {
  color: rgba(0, 0, 0, 0.75);
}
.est-progression-bar_state_d-n-d .est-progression-bar__btn:hover {
  background-color: rgba(209, 222, 225, 0.8);
}
.est-progression-bar_state_d-n-d .est-progression-bar__btn:hover .est-appointment-flow-card {
  pointer-events: none;
}
.est-appointment-flow-card {
  padding: 0.5rem 0.75rem;
  border-radius: 0.25rem;
  gap: 0.25rem;
  border: 0;
  text-decoration: none;
  color: #212529;
  transition: background-color ease-in-out 0.15s, border-radius ease-in-out 0.15s;
  background: transparent;
}
.est-appointment-flow-card:focus {
  outline: none;
}
.est-appointment-flow-card.active, .est-appointment-flow-card:active, .est-appointment-flow-card:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.est-appointment-flow-card__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}
.est-appointment-flow-card__title {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-size: 1rem;
}
.est-appointment-flow-card__subtitle {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0.8rem;
}
.est-appointment-flow-card__time {
  font-size: 0.8rem;
  white-space: nowrap;
  color: var(--secondary);
}
.est-appointment-flow-card__marker {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-radius: 100%;
}
.est-appointment-flow-card--warning, .est-appointment-flow-card--danger {
  backdrop-filter: blur(20px);
  color: #fff;
}
.est-appointment-flow-card--warning:not(.active), .est-appointment-flow-card--danger:not(.active) {
  position: sticky;
  top: calc(var(--card-order-asc, 0) * 4px);
  bottom: calc(var(--card-order-desc, 0) * 4px);
}
.est-appointment-flow-card--warning .est-appointment-flow-card__marker, .est-appointment-flow-card--danger .est-appointment-flow-card__marker {
  background-color: #fff;
  box-shadow: 0 0 0 2px #fff;
}
.est-appointment-flow-card--warning .est-appointment-flow-card__time, .est-appointment-flow-card--danger .est-appointment-flow-card__time {
  color: #e9ecef;
}
.est-appointment-flow-card--danger {
  background-color: rgba(220, 53, 69, 0.9);
}
.est-appointment-flow-card--danger:hover {
  background-color: #cd2b3a !important;
}
.est-appointment-flow-card--danger:active {
  background-color: #b82634 !important;
}
.est-appointment-flow-card--warning {
  background-color: rgba(253, 125, 20, 0.9);
}
.est-appointment-flow-card--warning:hover {
  background-color: #ef7008 !important;
}
.est-appointment-flow-card--warning:active {
  background-color: #d76507 !important;
}
.est-appointment-flow-card--flash {
  background-size: 300% 500% !important;
  animation: appointment-flow-card-flash linear 3s infinite;
}
.est-appointment-flow-card--flash.est-appointment-flow-card--danger {
  background: radial-gradient(rgba(235, 85, 154, 0.8), rgba(220, 53, 69, 0.7) 50%);
}
.est-appointment-flow-card--flash.est-appointment-flow-card--warning {
  background: radial-gradient(rgba(255, 193, 7, 0.8), rgba(253, 126, 20, 0.7) 50%);
}
@keyframes appointment-flow-card-flash {
  0% {
    background-position: -300% center;
  }
  100% {
    background-position: -600% center;
  }
}
.est-provider-bar {
  display: flex;
  flex-direction: column;
  gap: var(--default-space);
  background-color: rgba(240, 244, 245, 0.8);
  padding-block: calc(var(--default-space) * 2);
  height: 100%;
  border-radius: 0.5rem;
  overflow-y: auto;
  transition: background-color ease-out 0.15s;
}
.est-provider-bar__slot {
  margin-inline: calc(var(--default-space) * 2);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: calc(var(--default-space) * 2);
}
.est-provider-bar__header {
  display: block;
  padding: 0.25rem 0.75rem;
  margin-bottom: -0.5rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.8rem;
  color: rgba(0, 0, 0, 0.75);
}
.est-provider-bar__slot-spacer {
  height: 4.45rem;
  padding: 0.5rem;
}
.est-provider-bar .est-appointment-flow-card {
  width: calc(100% - 0.5rem);
  padding-inline: 0.5rem;
  margin: 0.25rem;
}
.est-provider-bar_state_d-n-d:hover {
  background-color: rgba(209, 222, 225, 0.8);
}
.est-provider-bar_state_d-n-d:hover .est-appointment-flow-card {
  pointer-events: none;
}
.est-provider-bar__slot--active {
  backdrop-filter: blur(20px);
  background: rgba(0, 0, 0, 0.05);
  box-shadow: none;
}
.est-provider-bar__slot--active .est-appointment-flow-card__marker {
  background-color: #fff;
  box-shadow: 0 0 0 2px #fff;
}
.est-provider-bar__slot--combined {
  position: sticky;
  top: calc(var(--slot-order-asc) * 1.75rem);
  bottom: calc(var(--slot-order-desc) * 1.75rem);
  backdrop-filter: blur(20px);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: none;
}
.est-provider-bar__slot--combined .est-appointment-flow-card__marker {
  background-color: #fff;
  box-shadow: 0 0 0 2px #fff;
}
.est-provider-bar__slot--success {
  background-color: #199d76;
  box-shadow: none;
}
.est-provider-bar__slot--success .est-appointment-flow-card__marker {
  background-color: #fff;
  box-shadow: 0 0 0 2px #fff;
}
.est-provider-bar__slot--danger {
  position: sticky;
  top: calc(var(--slot-order-asc) * 1.75rem);
  bottom: calc(var(--slot-order-desc) * 1.75rem);
  z-index: calc(var(--slot-order-asc) + 1);
  backdrop-filter: blur(20px);
  animation: slot-danger ease-in-out 0.35s infinite;
  background-color: rgba(220, 53, 69, 0.8);
  box-shadow: 0 0 6rem -1.5rem rgba(220, 53, 69, 0.5), 0 1px 0 rgba(255, 255, 255, 0.1) inset, 0 -1px 0 rgba(0, 0, 0, 0.05), 0 -2px 4px rgba(0, 0, 0, 0.05);
}
.est-provider-bar__slot--danger:hover {
  animation: none;
}
.est-provider-bar__slot--danger .est-appointment-flow-card__marker {
  background-color: #fff;
  box-shadow: 0 0 0 2px #fff;
}
@keyframes slot-danger {
  50% {
    background-color: rgba(93, 27, 33, 0.8);
  }
}
