:root {
    --plan-color: #00008b;
    --real-color: #228b22;
    --left-color: #ff8c00;
}
td.subject {
    max-width: 45%;
}
tr.sub-object.animate td, tr.object.animate td {
    transition: all 0.33s ease;
}
tr.sub-object.hide-slow td, tr.object.hide-slow td {
    line-height: 0;
    padding: 0 !important;
    height: 0;
    font-size: 0;
    opacity: 0.4;
    border-width: 0;
}
.legend_container b {
    margin-left: 3px;
    margin-right: 24px;
}
.legend.plan, .legend.real, .legend.left {
    display: inline;
    padding: 1px 11px;
    border-radius: 50%;
}
.legend.plan {
    background: var(--plan-color);
}
.legend.real {
    background: var(--real-color);
}
.legend.left {
    background: var(--left-color);
}
table tbody tr .left, table tbody tr .plan, table tbody tr .real {
    text-align: right;
}
tr.sub-object .plan, tr.object .plan, tr >*.plan  {
    color: var(--plan-color);
}
tr.sub-object .real, tr.object .real, tr >*.real  {
    color: var(--real-color);
}
tr.sub-object .left, tr.object .left, tr >*.left  {
    color: var(--left-color);
}
html .item_tree_icon {
    position: relative;
    width: 16px;
    min-width: 16px;
    padding: 0;
    height: 16px;
    background: #f0f0ff;
    border-radius: 50%;
    border: solid #888 1px;
    display: inline-block;
    text-align: center;
    align-self: center;
    line-height: 13px;
    /*padding-left: 1px;*/
    color: white;
    font-size: 16px;
    box-shadow: 0 0 4px rgba(0, 128, 122, 0.4);
    text-shadow: 0px 0px 2px #000;
    margin-inline: 5px;
    font-weight: bold;
    user-select: none;
    font-family: Noto Sans;
}

.item_tree_icon.without_indicators {
    /*color: #ffffff; background-color: #da4080bb;*/
}

.item_tree_icon.on_time {
    color: #ffffff;
    background-color: #00a020bb;
}

.item_tree_icon.delayed {
    color: #ffffff;
    background-color: #ffa500bb;
}

.item_tree_icon.very_delayed {
    color: #ffffff;
    background-color: #ff0000bb;
}

.item_tree_icon.item_blank.without_indicators {
    /*color: #ffffff; background-color: #da408060;*/
}

.item_tree_icon.item_blank.on_time {
    color: #ffffff;
    background-color: #00a02060;
}

.item_tree_icon.item_blank.delayed {
    color: #ffffff;
    background-color: #ffa50060;
}

.item_tree_icon.item_blank.very_delayed {
    color: #ffffff;
    background-color: #ff000060;
}

.item_tree_icon.item_close {
    cursor: pointer;
}

.item_tree_icon.item_close::before {
    content: '-';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-51%, -51%);
}

.item_tree_icon.item_close:hover {
    background: lightblue;
    color: #fff;
    box-shadow: 0 0 4px rgba(64, 64, 198, 1.0);
}

.item_tree_icon.item_open {
    cursor: pointer;
}

.item_tree_icon.item_open::before {
    content: '+';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-51%, -51%);
}

.item_tree_icon.item_open:hover {
    background: lightblue;
    color: #fff;
    box-shadow: 0 0 4px rgba(64, 64, 198, 1.0);
}

.item_tree_icon.item_blank {
    box-shadow: 0 0 4px rgba(64, 64, 198, 0.3);
    border-color: white;
}

.item_tree_icon.item_blank::before {
    content: '';
}

table .subject a b {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}