.table-plan-smen {width: 100%; margin: 15px 0px; float: left; border-collapse: collapse; font-size: 14px; color: #474749;}
.table-plan-smen TBODY {border-bottom: 2px #474749 solid;}
.table-plan-smen TBODY:BEFORE {content: ""; width: 100%; height: 1px; position: absolute; float: left; top: -1px; left: 0px; background-color: #ddd;}
.table-plan-smen TH {padding: 10px 20px; border: 1px #ddd solid; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}
.table-plan-smen TH .day {font-size: 14px; color: #aaa; font-weight: 300; text-transform: uppercase;}
.table-plan-smen TH .date {font-size: 18px; color: #474749; font-weight: 600;}
.table-plan-smen TH.weekend .date {color: #c5242c;}
.table-plan-smen TH.svatek .date {color: #006cff;}
.table-plan-smen TR {}
.table-plan-smen TD {padding: 8px 10px; border: 1px #ddd solid; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}
.table-plan-smen TD.click:HOVER {box-shadow: inset 0 0 5px rgba(0,0,0,0.15);}
.table-plan-smen TD.vyjimka {position: relative; z-index: -1;}
.table-plan-smen TD.vyjimka .marker {position: absolute; top: 0px; left: 0px; width: 6px; height: 6px; border: 6px #006cff solid; border-bottom: 6px transparent solid; border-right: 6px transparent solid; z-index: 100;}
.table-plan-smen TD.vyjimka.selected {z-index: 0;}
.table-plan-smen .table-inner {display: flex; align-items: center; justify-content: space-between;}
.table-plan-smen .worker-name {font-size: 14px; font-weight: 600;}
.table-plan-smen .worker-name:HOVER {text-decoration: underline;}
.table-plan-smen .worker-name.brigadnik {font-weight: 300; font-style: italic;}
.table-plan-smen .worker-smena {font-size: 12px; color: #aaa;}
.table-plan-smen .worker-smena:HOVER {text-decoration: underline;}
.table-plan-smen .worker-icon-edit {margin: 0px 0px 0px 5px; color: #c5242c; display: none; cursor: pointer;}
.table-plan-smen .icon-cross {color: #c5242c; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 200ms;}
.table-plan-smen .icon-cross:HOVER {color: #000;}
.table-plan-smen .smena {background-color: #efefef; font-size: 14px; font-weight: 600; color: #474749; text-align: center;}
.table-plan-smen .smena.selected {position: relative;}
.table-plan-smen .smena.selected:BEFORE {content: ""; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px; border: 2px red dashed;}
.table-plan-smen .stanoviste {width: 20px; min-width: 10px; overflow: hidden; background-color: #474749; color: #FFF; padding: 2px 0px; border-top: 1px #ddd solid; border-left: 1px #474749 solid; vertical-align: top; font-size: 12px; position: relative;}
.table-plan-smen .stanoviste .relative {position: relative; width: 1px; height: 1px;}
.table-plan-smen .stanoviste .relative DIV {
  position: absolute;
  top: 0px;
  right: 0px;
  transform: rotate(-90deg);
  transform-origin: right top;
  white-space: nowrap;
}

.table-plan-smen .th-cont-1 {width: 100%; float: left; display: flex; align-items: center; justify-content: space-between;}
.table-plan-smen .th-cont-1 .left {display: flex; align-items: center;}
.table-plan-smen .th-buttons {color: #c5242c; font-size: 20px;}
.table-plan-smen .th-buttons I {margin-right: 5px; cursor: pointer; transition: all 200ms;}
.table-plan-smen .th-buttons I:HOVER {color: #000;}
.table-plan-smen .th-buttons I.disabled {color: #ccc; cursor: not-allowed;}
.table-plan-smen .th-dates {margin-left: 10px;}
.table-plan-smen .th-plus {color: #c5242c; font-size: 14px;}
.table-plan-smen .th-plus .plus {cursor: pointer; transition: all 200ms;}
.table-plan-smen .th-plus .plus:HOVER {color: #000;}

.table-plan-smen.plan-zakazek TBODY {border: 0px;}
.table-plan-smen.plan-zakazek .smena, .table-plan-smen.plan-zakazek thead tr th {border-bottom: 2px #474749 solid;}
.table-plan-smen.plan-zakazek .smena.highlight {position: relative; z-index: 100; box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.4);}

.planVzKalendar TD.tdPlan {padding: 0px; background-color: #FFF; vertical-align: top;}
.planVzKalendar TD.tdPlan.weekend {background-color: #efefef;}
.planVzKalendar TD.tdPlan.svatek {background-color: #efefef;}
.planVzKalendar TD.tdPlan.bezFonduPracovniDoby {background-color: #efefef;}
.planVzKalendar TD .tdPlanFrame {} 
.planVzKalendar .planVzListCont {height: 120px; width: 100%; float: left; position: relative;}
.planVzKalendar .planVzList {}
.planVzKalendar .planVzList .planVzItem {display: none;}
.planVzKalendar .planVzList .planVzItem:nth-child(1) {display: flex;}
.planVzKalendar .planVzList .planVzItem:nth-child(2) {display: flex;}
.planVzKalendar .planVzList .planVzItem:nth-child(3) {display: flex;}
.planVzKalendar .planVzList .planVzItem:nth-child(4) {display: flex;}
.planVzKalendar .planVzListCont.highlight .planVzList {display: flex; flex-direction: column; position: absolute; top: 0px; left: 0px; right: 0px; width: 100%; z-index: 10; box-shadow: 0px 0px 5px 4px rgba(0,0,0,0.4);}
.planVzKalendar .planVzListCont.highlight .planVzList .planVzItem {display: flex;}
.planVzKalendar .planVzListCont.highlight .planVzDots {background-color: orange;}
.planVzKalendar .planVzListCont.no-3.highlight .planVzList {top: auto; bottom: -11px;}
.planVzKalendar .planVzListCont.no-4.highlight .planVzList {top: auto; bottom: -11px;}
.planVzKalendar .planVzItem {width: 100%; height: 29px; font-size: 10px; font-weight: 300; display: flex; flex-grow: 0; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; flex-grow: 0; border-bottom: 1px #ddd solid;}
.planVzKalendar .planVzDots {width: 100%; height: 11px; background-color: #ddd; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; flex-grow: 0;}
.planVzKalendar .planVzDots .dotsFrame {width: 15px; height: 100%; display: flex; align-items: center; justify-content: center; cursor: pointer;}
.planVzKalendar .planVzDots .dots {width: 2px; height: 2px; background-color: #474749; position: relative;}
.planVzKalendar .planVzDots .dots::before {content: ""; width: 2px; height: 2px; display: block; background-color: #474749; position: absolute; top: 0px; left: -4px;}
.planVzKalendar .planVzDots .dots::after {content: ""; width: 2px; height: 2px; display: block; background-color: #474749; position: absolute; top: 0px; right: -4px;}
.planVzKalendar .planVzDots .left {width: 10px; font-size: 10px; margin: 0px 0px 0px 2px; display: flex; align-items: center;}
.planVzKalendar .planVzDots .right {width: 10px; font-size: 11px; margin: 0px 2px 0px 0px; display: flex; align-items: center;}
.planVzKalendar .planVzDots .right .icon {cursor: pointer;}

.js-plan-zakazek-kalendar-stanoviste.overlay {position: relative;}
.js-plan-zakazek-kalendar-stanoviste.overlay:after {content: ""; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; background-color: rgba(0,0,0,0.30); z-index: 3;}
.js-plan-zakazek-kalendar-stanoviste.overlay2 {position: relative;}
.js-plan-zakazek-kalendar-stanoviste.overlay2:after {content: ""; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; background-color: rgba(0,0,0,0.30); z-index: 3;}

.planVzKalendar .active .planPozice {position: relative;}
.planVzKalendar .active .planPozice:hover::before {content: ""; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px; border: 2px orange dashed; z-index: 2;}
.planVzKalendar .planPozice {cursor: pointer; background-color: #FFF;}
.planVzKalendar .planPozice.activeEvent {background-color: #e5eeff;}
.planVzKalendar .planPozice.activeEvent .vz {color: #00308b;}
.planVzKalendar .planPozice.selected {position: relative;}
.planVzKalendar .planPozice.selected::before {content: ""; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px; border: 2px red dashed; z-index: 2;}