.presence-chart {
    border-collapse: separate;
    border-spacing: 0;
}

.presence-chart thead {
    position: sticky;
    top: 69px;
    background-color: var(--ct-secondary-bg);
    border-bottom: 1px solid var(--ct-secondary-color);
}

.presence-chart th {
    border: solid;
    border-width: 1px 1px 0 0;
    border-color: var(--ct-border-color);
    border-left: none;
}

.presence-chart .presence-month-header {
    border: none;
}

.presence-chart th:first-of-type {
    border-width: 0 1px 0 0;
}

.presence-chart tbody tr {
    height: 32px;
}

.presence-chart tbody td {
    width: calc(90%/31);
    padding: 0;
    border-color: var(--ct-border-color);
    border-width: 1px 1px 0 0;
}

.presence-chart tbody tr:last-child td:not(:first-of-type) {
    border-bottom: 1px solid var(--ct-border-color);
}

.presence-chart tbody td:first-of-type {
    width: 1px;
    max-width: 1px;
    padding: 0;
    border-width: 0 1px 0 0;
}

.presence-chart .weekend-col {
    background-color: rgba(var(--ct-dark-rgb), 0.1);
}

.presence-chart .holiday-col {
    background-color: rgba(var(--ct-info-rgb), 0.2);
}

.presence-chart .holiday-cell-content {
    width: 100%;
    height: 32px;
}

.presence-chart .bar {
    width: 100%;
    height: 15px;
}

.presence-chart .bar.start {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.presence-chart .bar.end {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

.presence-chart td:has(> .bar.start) {
    padding-left: 0.3%;
}

.presence-chart td:has(> .bar.end) {
    padding-right: 0.3%;
}

.presenceChartBlur {
    filter: blur(5px);
}
