:root {
    --objectLegendWidth:   150px;
    --objectHeaderHeight:   39px;
    --objectFooterHeight:   49px;
    --objectDayWidth:       28px;
    --objectDayHeight:      24px;
    --objectDayPadding:      4px;
    --statisticsCellWidth:  25px;
    --objectSummaryWidth:  230px;
    --objectActionsWidth:   24px;
    --calenderDayHeight:    18px;
    --calendarPadding:       3px;
    --objectTopPadding:     11px;
    --objectBottomPadding:   6px;

    --barDistance:           6px; /* Abstand zwischen SOLL- und IST-Balken */
    --barLegendWidth:       16px;
    --entryBorderRadius:    12px;

    --selectionColorR:        81;
    --selectionColorG:       171;
    --selectionColorB:       215;
    --blockedColor:         #bbb;
}

ul.selection-list {
    padding: 0;
}
ul.selection-list li.dialog-entry {
    padding: 1rem;
    display: flex;
}
ul.selection-list li.dialog-entry > .content {
    flex-grow: 1;
    flex-shrink: 1;
}
ul.selection-list li.dialog-entry > .controls {
    flex-grow: 0;
    flex-shrink: 0;
}
ul.selection-list li.dialog-entry:not(:first-child) {
    border-top: .1rem solid var(--control-border-color);
}
ul.selection-list li.dialog-entry .badge {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
ul.selection-list li.dialog-entry .badge.badge-prj,
ul.selection-list li.dialog-entry .badge.badge-sec {
    margin-left: .5rem;
}

ul.selection-list li.dialog-entry.has-error {
    background: rgba(255,0,0,0.1) !important;
}
ul.selection-list li.dialog-entry.has-no-error {
    background: rgba(0,200,0,0.1) !important;
}
ul.selection-list li.dialog-entry .msg {
    display: none;
}
ul.selection-list li.dialog-entry.has-error .msg {
    padding-top: 1rem;
    display: block;
    color: var(--danger-color);
    font-weight: bold;
}

.objects-scroller .objects .object .day-background {
    background: #eee;
}

.entry_day {
    font-size: .9em;
    font-weight: bold;
    position: relative;
}

.entry_day:before {
    position: absolute;
    content: " ";
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 1px;
    background: rgba(255,255,255,0.3);
}
.entry_day.entry_am:before {
    position: absolute;
    content: " ";
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255,255,255,0.6);
}

.person .entry_day:before {
    top: 0;
    bottom: 0;
    background: rgba(255,255,255,0.6);
}

.entry_day.entry_am.blocked:not(.has-previous):before {
    background: none;
}

.object-container {
    position: relative;
    overflow: hidden !important;
}
.object-container > .objects-legend {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
}
.object-container > .objects-summary {
    /* z-index: 100; */
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
}
.object-container > .objects-scroller {
    overflow: hidden;
    overflow-x: auto;
}

.object-container > .objects-legend .objects .object .days,
.object-container > .objects-legend .persons .person .days{
}

.object-container > .objects-legend .objects .object .days > div,
/* .object-container > .objects-summary .objects .object .days > div, */
.object-container > .objects-legend .persons .person .days > div,
/* .object-container > .objects-summary .persons .person .days > div */ {
    width: var(--barLegendWidth);
}
.object-container > .objects-legend .objects .object .days > div,
.object-container > .objects-summary .objects .object .days > div {
    height: calc(var(--objectDayHeight) + var(--objectDayPadding));
}
.object-container > .objects-legend .persons .person .days > div,
.object-container > .objects-summary .persons .person .days > div {
    height: var(--calenderDayHeight);
}

.object-container > .objects-legend  .objects .object  .days  > .payrolls > .dayline-legend {
    background: #0088cc;
}

.objects-legend .person-wrapper,
.objects-scroller .person-wrapper {
    padding: var(--calendarPadding) 0;
    position: relative;
}

.object-container > .objects-legend .object-legend {
    padding-top: 5px;
}

.object-container .object-header .day {
    overflow: hidden;
    vertical-align: top;
    text-align: center;
    color: var(--foreground-color);
}
.object-container > .objects-scroller .header-days .day i {
    font-size: 14px;
}
.object-container > .objects-scroller .object-footer .header-days .day {
    padding: 3px;
}
.object-container > .objects-scroller .object-footer .header-days .day.has-warning {
    background: rgba(255,0,0,0.15) !important;
}
.object-container > .objects-scroller .object-footer .header-days .day.has-warning i {
}
.object-container > .objects-scroller .object-footer .header-days .day .has-warning-color {
    color: var(--danger-color) !important;
}

.object-container > .objects-summary .object-wrapper .days > div {
    position: relative;
}

.object-container > .objects-summary .statistics {
    position: absolute;
    /* left: 30px; */
    top: 0;
    bottom: 0;
    font-size: 11px;
    color: #ccc;
}

.entry_day {
    width: calc(var(--objectDayWidth) / 2);
    z-index: 11;
    text-align: center;
    height: var(--objectDayHeight);
    line-height: var(--objectDayHeight);
    /* margin-bottom: var(--objectDayPadding) solid var(--card-background); */
    position: relative;
    background: #eee;
}
/* .selectable.soll > .entry_day {
    background: #C7E6CB;
}
.selectable.ist > .entry_day {
    background: #F0E6C8;
} */

/*
.selectable.soll > .entry_day.disabled {
    background: #f8f8f8;
}
.selectable.ist > .entry_day.disabled {
    background: #f8f8f8;
}
*/


.objects-summary .object-header,
.objects-summary .statistics-footer {
    /* padding-left:  30px;
    padding-right: 10px; */
    padding-left:  10px;
    padding-right: 10px;
}
.objects-summary > .persons > .person-wrapper,
.objects-summary > .objects > .object-wrapper {
    padding-left:  10px;
    padding-right: 10px;
}
.statistics-entries .statistics-sum {
    display:    table-cell;
    text-align: right;
    color:      #777;
    font-size:  1rem;
}

.object-container .objectHeader {
    padding-top: 10px;
    height: 30px;
    border-bottom: 1px solid #f0f0f0;
    font-weight:bold;

}
.object-container .objects-legend .objectHeader {
    padding-left: 15px;
}

.object-header .objects {
    padding-left: 20px;
}


.object-type .object-header,
.object-type .object-footer,
.objects .object,
.persons .person {
    display: flex;
    position: relative;
}


.object-type .object-footer {
    border-top: 1px solid var(--control-border-color);
}

.objects-legend .persons,
.objects-summary .persons,
.objects-scroller .persons {
    padding: var(--calendarPadding) 0;
    border-top: 1px solid var(--control-border-color);
    height: 3.1rem;
}
.objects-legend .persons:empty,
.objects-summary .persons:empty,
.objects-scroller .persons:empty {
    display: none;
}

.objects-legend .persons.calendar,
.objects-summary .persons.calendar,
.objects-scroller .persons.calendar {
}

.object-type .object-header .day,
.object-type .object-footer .day {
    min-width: var(--objectDayWidth);
    width: var(--objectDayWidth);
    max-width: var(--objectDayWidth);
    background: var(--card-title-background);
}


.object-type .object-header .day,
.object-type .object-footer .day,
.object-type .object-footer .object-legend.first-col,
.objects-summary .object-header .statistics-sum {
    display: table-cell;
    padding: 5px 0;
    text-align: center;
    color: #999;
    font-size: 1rem;
}
.objects-summary .object-header .statistics-sum {
    text-align: right;
}
.object-type .object-footer .object-legend.first-col {
    padding: 3px 0;
    padding-left: 15px;
    text-align: left;
}
/* .objects .object .days,
.persons .person .days{
    display: flex;
} */

.objects .object .days .day,
.persons .person .days .day {
    display: table-cell;
    position: relative;
}
.objects .object .days .day:before,
.persons .person .days .day:before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    background: rgba(255,255,255,0.5);
    z-index: 10;
}

.objects .object .days .selectable,
.persons .person .days .selectable {
    display: flex;
}
.persons .person .days .selectable {
    height: var(--calenderDayHeight);
}
.objects .object .days .selectable {
    height: calc(var(--objectDayHeight) + var(--objectDayPadding));
}

.objects-scroller .objects .object .day-background,
.objects-scroller .persons .person .day-background {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
}

.objects-scroller .days {
    z-index: 2;
}

.objects .object-wrapper {
    border-top: 1px solid var(--control-border-color);
    padding-top: var(--objectTopPadding);
    padding-bottom: var(--objectBottomPadding);
    position: relative;
}
.objects-legend .objects .object-wrapper:before {
    content: " ";
    position: absolute;
    left: 0;
    width: var(--objectActionsWidth);
    top: 0;
    bottom: 0;
    background: var(--card-title-background);
    border-right: .1rem solid var(--control-border-color);
}
.objects-legend .objects .object-wrapper:last-child:before {
    border-bottom-left-radius: var(--border-radius);
}

.objects .object-wrapper.ui-sortable-helper {
    background: #f0f0f0;
}

.objects .object .days > .soll + .ist {
    /* margin-top: calc(var(--barDistance) + var(--objectDayPadding)); */
    margin-top: var(--barDistance);
}
.objects .object .days > .payrolls {
    margin-top: var(--barDistance);
    min-height: calc(var(--objectDayHeight) + var(--objectDayPadding));
}
.objects-scroller .objects .object .days > .payrolls {
    padding: 10px;
    background: #F0F0F0;
    position: relative;
}
.objects-scroller .objects .object .days > .payrolls > .payroll-entry {
    width: 82rem;
    left: 1rem;
    position: sticky;
}
.objects-scroller .objects .object .days > .payrolls .btn {
    padding: .2rem 1rem;
    line-height: 2rem;
    font-size: .9em !important;
    background: #0088cc;
    color: #fff;
}

.objects .object .object-legend,
.persons .person .person-legend {
    padding-top: 2px;
    overflow: hidden;
    line-height: 1.1;
}
.objects .object .object-legend .days > div {
    position: relative;
    width: 20px;
    border: none;
}
.object-type .object-header > .header-days,
.object-type .object-footer > .header-days {
    font-size: 1.0rem;
    padding: 0 1px;
}
.objects .object .day,
.persons .person .day {
    overflow: hidden;
    vertical-align: middle;
    text-align: center;
    color: #fff;
}
.objects .object > div.first-col,
.persons .person > div.first-col {
    /* display: table-cell;
    vertical-align: top; */
    padding-right: 5px;
}

.entry_day.enabled {
    cursor: crosshair !important;
}

.entry_day {
    background: #f0f0f0;
}
.entry_day.weekend {
    background: #e8e8e8;
}
.entry_day:not(.has-item).enabled {
    background: rgba(var(--selectionColorR),var(--selectionColorG),var(--selectionColorB),0.2);
}
.entry_day:not(.has-item).weekend.enabled {
    background: rgba(var(--selectionColorR),var(--selectionColorG),var(--selectionColorB),0.3);
}


.entry_day.disabled,
.entry_day.blocked {
    cursor: not-allowed !important;
}
.entry_day.has-item.disabled:after {
    position: absolute;
    content: " ";
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(255,255,255,0.5);
}

.ui-selectable-helper {
    border: 1px dashed #999;
    position: absolute;
    background: rgba(100,100,100,0.2);
    cursor: pointer;
    z-index: 1000;
}

.object .days .dayline-legend {
    padding-top: 4px;
    /* position: absolute; */
    width: var(--barLegendWidth);
    text-align: center;
    background: #f0f0f0;
    color: #fff;
    font-weight: bold;
    border-bottom: var(--objectDayPadding) solid var(--card-background);
    height: calc(var(--objectDayHeight) + var(--objectDayPadding));
    margin-right: 4px;
}


.object .object-actions {
    position: absolute;
    width: var(--objectActionsWidth);
    color: #999;
    padding: 0 3px;
}
.object .object-actions > span {
    display: inline-block;
    width: 14px;
    height: 14px;
    padding: 1px;
    text-align: center;
    line-height: 14px;
}
.object .object-actions > span:hover {
    cursor: pointer;
    background: #ccc;
}
.object .object-actions > span > i {
    font-size: 10px;
}

.object .object-title {
    margin-left: var(--objectActionsWidth);
    padding-left: 5px;
}

.object-container > .objects-legend {
    /* left: var(--inner-content-padding); */
}
.object-container > .objects-summary {
    /* right: var(--inner-content-padding); */
}

.object-container > .objects-legend {
    width: var(--objectLegendWidth);
}
.object-container > .objects-summary {
    width: var(--objectSummaryWidth);
}
.object-container > .objects-scroller {
    margin-left: var(--objectLegendWidth);
    margin-right: var(--objectSummaryWidth);
}

.object-container > .objects-scroller .header-days .day {
    width: var(--objectDayWidth);
    max-width: var(--objectDayWidth);
    min-width: var(--objectDayWidth);
}

.object-container > .objects-summary .object-wrapper .days > div {
    height: var(--objectDayHeight);
}

.object-container > .objects-summary .statistics {
    width: calc(var(--statisticsCellWidth) * 8);
    padding-top: 8px;
}

.statistics-entries .statistics-sum {
    min-width: var(--statisticsCellWidth);
    width:     var(--statisticsCellWidth);
    max-width: var(--statisticsCellWidth);
}

.object-type .object-header,
.object-type .object-footer {
    height: var(--objectHeaderHeight);
    background: var(--card-title-background);
}
.object-type .object-footer {
    height: var(--objectFooterHeight);
    background: var(--card-title-background);
    border-bottom-left-radius: var(--border-radius);
    border-top: .1rem solid var(--control-border-color);
}
.object-type .object-footer.statistics-footer {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: var(--border-radius);
    padding-top: 3px;
    padding-bottom: 3px;
}
.objects-scroller .objects .object .day-background {
    height: var(--objectDayHeight);
}
.objects-scroller .objects .object .day-background:after {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    content: " ";
    background: rgba(255,255,255,0.4);
}

.objects-scroller .persons .person .day-background {
    height: var(--calenderDayHeight);
}

.objects-scroller .objects .object .day-background.soll + .day-background.ist {
    top: calc(var(--objectDayHeight) + var(--objectDayPadding) + var(--barDistance));
}

.objects .object .object-legend,
.persons .person .person-legend {
    width: calc(var(--objectLegendWidth) - var(--barLegendWidth) - 4px);
    min-width: calc(var(--objectLegendWidth) - var(--barLegendWidth) - 4px);
    max-width: calc(var(--objectLegendWidth) - var(--barLegendWidth) - 4px);
}
.persons .person .person-legend {
    padding-left: calc(var(--objectActionsWidth) + 6px);
}
.objects .object .day {
    width: var(--objectDayWidth);
    max-width: var(--objectDayWidth);
    min-width: var(--objectDayWidth);
    height: var(--objectDayHeight);
    min-height: var(--objectDayHeight);
    max-height: var(--objectDayHeight);
}
.objects .object .day.invisible {
    width: var(--barLegendWidth)px;
    min-width: var(--barLegendWidth);
    max-width: var(--barLegendWidth);
}

.persons .person .day {
    width: var(--objectDayWidth);
    max-width: var(--objectDayWidth);
    min-width: var(--objectDayWidth);

    height: var(--calenderDayHeight);
}


.person .entry_day {
    width: var(--objectDayWidth);
    height: var(--calenderDayHeight);
    line-height: var(--calenderDayHeight);
}

.entry_day.has-item {
    border-radius: var(--entryBorderRadius);
    z-index: 10;
}
.entry_day.has-previous {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border: none;
}
.entry_day.has-next {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.entry_day.blocked {
    color: var(--blockedColor);
    border-radius: var(--entryBorderRadius);
    border: 1px solid var(--blockedColor);
}
.entry_day.blocked.has-previous {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: none;
}
.entry_day.blocked.has-next {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
}

.person .days .dayline-legend {
    height: var(--calenderDayHeight);
}

.entry_day > .reported {
    position: absolute;
    content: " ";
    left: 0;
    right: -1px;
    bottom: -5px;
    height: 3px;
    background: #0088cc;
}
.entry_day.blocked > .reported {
    bottom: -6px;
}

.entry_day .apps_1 {
    background: #ff0000;
}
.entry_day .apps_2 {
    background: #ffcc00;
}
.entry_day .apps_3 {
    background: #008800;
}
.entry_day .apps_4 {
    background: repeating-linear-gradient(
        to right,
        #ff0000,
        #ff0000 6px,
        #ffffff 6px,
        #ffffff 12px
    );
}
.entry_day.ui-selected {
    background-color: rgba(var(--selectionColorR),var(--selectionColorG),var(--selectionColorB), 1)!important;
    color: #fff!important;
}

.object-container .object-header .day.weekend {
    background: #e4e4e4;
}
.object-container .object-header .day.today {
    background: rgb(var(--selectionColorR),var(--selectionColorG),var(--selectionColorB));
    color: #fff;
}
.object-container .object-header .day.monthStart {
    background: #FFCCCC;
    color: #FF0000;
}

.report-simulation {
    margin-top: 1rem;
    border-radius: calc(var(--border-radius) / 2);
    border: .1rem solid var(--control-border-color);
    overflow: hidden;
}
.report-simulation .table {
    width: 82rem;
}
.report-simulation .table thead th,
.report-simulation .table tfoot th,
.report-simulation .table tbody td {
    background: #fff;
    font-size: .8em !important;
    padding: 3px 10px !important;
}
.report-simulation .button-panel {
    border-top: .1rem solid var(--control-border-color);
    background: #fff;
}

