.wagon[data-wagon-type='М'] .free {
  cursor: pointer;
  user-select: none;
}
.wagon[data-wagon-type='М'] .free > g > path {
  stroke: #4a90e2;
}
.wagon[data-wagon-type='М'] .free > path {
  fill: #4a90e2;
}
.wagon[data-wagon-type='М'] .free > text {
  fill: #4a90e2;
}
.wagon[data-wagon-type='М'] .booked {
  cursor: pointer !important;
  user-select: none;
}
.wagon[data-wagon-type='М'] .booked > g > path:first-child {
  fill: #24ccb8 !important;
  stroke: #24ccb8 !important;
}
.wagon[data-wagon-type='М'] .booked > g > path:last-child {
  fill: #24ccb8 !important;
  stroke: #24ccb8 !important;
}
.wagon[data-wagon-type='М'] .booked > path {
  fill: #24ccb8 !important;
}
.wagon[data-wagon-type='М'] .booked text {
  fill: #fff !important;
}
.wagon[data-wagon-type='М'] .busy {
  pointer-events: all;
  cursor: not-allowed;
  user-select: none;
}
.wagon[data-wagon-type='М'] .busy > g > path:first-child {
  fill: #e8e8e8;
  stroke: #e8e8e8;
}
.wagon[data-wagon-type='М'] .busy > g > path:last-child {
  fill: #e8e8e8;
  stroke: #e8e8e8;
}
.wagon[data-wagon-type='М'] .busy > path {
  fill: #e8e8e8;
}
.wagon[data-wagon-type='М'] .busy text {
  fill: rgba(71, 70, 71, 0.26);
}
.wagon[data-wagon-type='Л'] .free,
.wagon[data-wagon-type='К'] .free,
.wagon[data-wagon-type='П'] .free {
  cursor: pointer;
  user-select: none;
}
.wagon[data-wagon-type='Л'] .free > g > path:first-child,
.wagon[data-wagon-type='К'] .free > g > path:first-child,
.wagon[data-wagon-type='П'] .free > g > path:first-child {
  stroke: #4a90e2;
}
.wagon[data-wagon-type='Л'] .free > g > path:last-child,
.wagon[data-wagon-type='К'] .free > g > path:last-child,
.wagon[data-wagon-type='П'] .free > g > path:last-child {
  stroke: #4a90e2;
}
.wagon[data-wagon-type='Л'] .free > text,
.wagon[data-wagon-type='К'] .free > text,
.wagon[data-wagon-type='П'] .free > text {
  fill: #4a90e2;
}
.wagon[data-wagon-type='Л'] .busy,
.wagon[data-wagon-type='К'] .busy,
.wagon[data-wagon-type='П'] .busy {
  pointer-events: all;
  cursor: not-allowed;
  user-select: none;
}
.wagon[data-wagon-type='Л'] .busy > g > path:first-child,
.wagon[data-wagon-type='К'] .busy > g > path:first-child,
.wagon[data-wagon-type='П'] .busy > g > path:first-child {
  stroke: #e8e8e8;
  fill: #e8e8e8;
}
.wagon[data-wagon-type='Л'] .busy > g > path:last-child,
.wagon[data-wagon-type='К'] .busy > g > path:last-child,
.wagon[data-wagon-type='П'] .busy > g > path:last-child {
  stroke: rgba(71, 70, 71, 0.26);
}
.wagon[data-wagon-type='Л'] .busy text,
.wagon[data-wagon-type='К'] .busy text,
.wagon[data-wagon-type='П'] .busy text {
  fill: rgba(71, 70, 71, 0.26);
}
.wagon[data-wagon-type='Л'] .booked,
.wagon[data-wagon-type='К'] .booked,
.wagon[data-wagon-type='П'] .booked {
  cursor: pointer;
  user-select: none;
}
.wagon[data-wagon-type='Л'] .booked > g > path:first-child,
.wagon[data-wagon-type='К'] .booked > g > path:first-child,
.wagon[data-wagon-type='П'] .booked > g > path:first-child {
  stroke: #24ccb8;
  fill: #24ccb8;
}
.wagon[data-wagon-type='Л'] .booked > g > path:last-child,
.wagon[data-wagon-type='К'] .booked > g > path:last-child,
.wagon[data-wagon-type='П'] .booked > g > path:last-child {
  stroke: #fff;
}
.wagon[data-wagon-type='Л'] .booked text,
.wagon[data-wagon-type='К'] .booked text,
.wagon[data-wagon-type='П'] .booked text {
  fill: #fff;
}
.wagon[data-wagon-stub='true'] .free {
  cursor: pointer;
  user-select: none;
}
.wagon[data-wagon-stub='true'] .free > path {
  stroke: #4a90e2;
}
.wagon[data-wagon-stub='true'] .free > text {
  fill: #4a90e2;
}
.wagon[data-wagon-stub='true'] .busy {
  pointer-events: all;
  cursor: not-allowed;
  user-select: none;
}
.wagon[data-wagon-stub='true'] .busy > path {
  fill: #e8e8e8;
  stroke: #e8e8e8;
}
.wagon[data-wagon-stub='true'] .busy text {
  fill: rgba(71, 70, 71, 0.26);
}
.wagon[data-wagon-stub='true'] .booked {
  cursor: pointer;
  user-select: none;
}
.wagon[data-wagon-stub='true'] .booked > path {
  fill: #24ccb8;
  stroke: #24ccb8;
}
.wagon[data-wagon-stub='true'] .booked text {
  fill: #fff;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .free {
  cursor: pointer;
  user-select: none;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .free > g > path {
  stroke: #4a90e2;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .free > path {
  fill: #4a90e2;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .free > text {
  fill: #4a90e2;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .busy {
  pointer-events: all;
  cursor: not-allowed;
  user-select: none;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .busy > g > path:first-child {
  fill: #e8e8e8;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .busy > g > path:last-child {
  fill: #e8e8e8;
  stroke: #e8e8e8;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .busy > path {
  fill: #e8e8e8;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .busy text {
  fill: rgba(71, 70, 71, 0.26);
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .booked {
  cursor: pointer;
  user-select: none;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .booked > g > path {
  fill: #24ccb8 !important;
  stroke: #24ccb8 !important;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .booked > path {
  fill: #24ccb8;
}
.wagon[data-wagon-type='С']:not([data-wagon-stub='true']) .booked text {
  fill: #fff;
}
