/* Roster toolbar, export button, assignment filters, and week navigation controls. */

.roster-export-button[disabled] {
    opacity: 0.7;
}

.roster-assignment-filter-grid {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 1rem;
}

.roster-week-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 0.5rem;
}

.roster-week-action-form {
    min-width: 0;
}

.roster-week-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.roster-week-nav-arrow {
    width: 2.5rem;
    padding-inline: 0;
    font-size: 1rem;
}

.roster-grid-header[data-bepis-dropzone-ref="delete-shift-dropzone"] {
    position: relative;
    transition: background 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

.roster-grid-header[data-bepis-dropzone-ref="delete-shift-dropzone"]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
    border: 1px solid color-mix(in srgb, var(--bs-danger) 58%, transparent);
    border-radius: inherit;
    background: color-mix(in srgb, var(--bs-danger) 8%, transparent);
    opacity: 0;
    pointer-events: none;
    transition: opacity 140ms ease, background 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

html[data-bepis-active-source-ref="shift-drag-source"] .roster-grid-header[data-bepis-dropzone-ref="delete-shift-dropzone"]::after {
    opacity: 1;
}

.roster-grid-header[data-bepis-dropzone-ref="delete-shift-dropzone"].bepis-dropzone-highlight {
    background: color-mix(in srgb, var(--bs-danger) 10%, var(--app-surface));
    box-shadow:
        0 0 0 2px color-mix(in srgb, var(--bs-danger) 34%, transparent),
        0 0.6rem 1.2rem var(--app-shadow-md-raw),
        inset 0 0 0 1px var(--app-white-alpha-03);
}

.roster-grid-header[data-bepis-dropzone-ref="delete-shift-dropzone"].bepis-dropzone-highlight::after {
    border-color: var(--bs-danger);
    background: color-mix(in srgb, var(--bs-danger) 16%, transparent);
}
