.day {
    aspect-ratio: 1;
    width: 100%;
    border-radius: var(--calendar-day-radius, var(--control-radius-md));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--control-transition);
    position: relative;
    border: 1px solid transparent;
    font-weight: 600;
    overflow: hidden;
}

.day {
    --calendar-day-radius: var(--control-radius-md);
    border-width: 1px;
    border-color: var(--calendar-day-border);
}

.day {
    background: var(--surface-control);
    box-shadow: none;
}

.day[data-status="work"] {
    background: var(--work-bg-start);
    color: var(--work-text);
    box-shadow: var(--day-work-shadow);
}

.day[data-status="off"] {
    background: var(--off-bg-start);
    color: var(--off-text);
    box-shadow: var(--day-off-shadow);
}

.day:hover:not(.empty) {
    transform: var(--calendar-day-hover-transform);
    z-index: var(--z-content);
}

.day[data-status="work"]:hover {
    box-shadow: var(--day-work-hover-shadow);
}

.day[data-status="off"]:hover {
    box-shadow: var(--day-off-hover-shadow);
}

.day:active:not(.empty) {
    transform: scale(0.98) !important;
}

.day.empty {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    cursor: default;
    pointer-events: none;
}

.day.today {
    border: 2px solid var(--accent);
    box-shadow: var(--calendar-today-shadow) !important;
}

.day.selected {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--surface-tint-strong), var(--surface-panel-elevated-shadow) !important;
}

.day[data-manual="true"] {
    border-style: dashed;
}

.day[data-manual="true"] .date-num::after {
    content: "•";
    display: inline-block;
    margin-left: var(--space-1);
    font-size: 0.8em;
    vertical-align: top;
}

.day.today .date-num {
    font-weight: 800;
}

.date-num {
    font-family: var(--font-family-numeric);
    font-size: var(--type-number-calendar-size, clamp(17px, 2.5vw, 20px));
    font-weight: 700;
    position: relative;
}

.day[data-holiday] {
    border-color: var(--holiday-day-ring);
    box-shadow: inset 0 0 0 1px var(--holiday-day-ring), var(--holiday-day-glow), var(--day-work-shadow);
}

.day[data-holiday][data-status="off"] {
    box-shadow: inset 0 0 0 1px var(--holiday-day-ring), var(--holiday-day-glow), var(--day-off-shadow);
}

.day.today[data-holiday] {
    box-shadow: inset 0 0 0 1px var(--holiday-day-ring), var(--holiday-day-glow), var(--calendar-today-shadow) !important;
}

.holiday-marker {
    display: none;
}

.summary-legend {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-5);
    padding: var(--space-5);
    background: var(--main-container-bg);
}

.stats {
    display: flex;
    flex: 1;
    gap: var(--space-3);
}

.stat-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    cursor: pointer;
    flex: 1;
    padding: var(--surface-block-padding-sm);
    border-radius: var(--surface-block-radius-sm);
    border: 1px solid transparent;
    transition: var(--control-transition);
    user-select: none;
}

.stat-item:hover {
    background: var(--surface-control);
    border-color: var(--surface-panel-muted-border);
}

[data-theme="dark"] .stat-item:hover,
.stat-item.is-active {
    background: var(--surface-control);
}

.stat-item.is-active {
    border-color: var(--interactive-active-border);
    box-shadow: var(--interactive-active-inset), var(--interactive-active-shadow);
}

[data-theme="dark"] .stat-item:hover {
    background: var(--surface-control);
}

.legend-circle {
    width: var(--marker-cube-size);
    height: var(--marker-cube-size);
    border-radius: var(--marker-cube-radius);
    border: 1px solid var(--calendar-day-border);
    box-shadow: var(--marker-cube-ring);
}

.stat-num {
    font-family: var(--font-family-numeric);
    font-size: var(--type-number-md-size);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: var(--type-number-md-line);
    letter-spacing: var(--type-number-md-track);
}

.stat-label {
    font-size: var(--type-body-ui-size);
    color: var(--text-secondary);
    font-weight: 600;
    line-height: var(--type-body-ui-line);
}

.separator {
    width: 1px;
    height: 42px;
    background: var(--card-border);
}

.logo-area {
    font-family: var(--font-family-display);
    font-size: var(--type-label-md-size);
    font-weight: 800;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    opacity: 0.52;
    white-space: nowrap;
}

/* Фільтрація кліком по легенді */
.grid-dim .day:not(.filtered) {
    opacity: 0.24;
    filter: none;
    transform: scale(0.98) !important;
}

.day.filtered {
    transform: scale(1.08) !important;
    box-shadow: var(--surface-button-accent-shadow) !important;
    z-index: var(--z-header);
}
