.htmx-indicator {
    display: none;
}

.htmx-request .htmx-indicator, .htmx-request.htmx-indicator {
    display: inline;
}

a .htmx-indicator, button .htmx-indicator {
    position: absolute;
    inset: 0;
    margin: auto;
    pointer-events: none;
    opacity: 0;
    transition: opacity 200ms ease;
}

.htmx-request a .htmx-indicator, .htmx-request button .htmx-indicator {
    display: inline-block;
    opacity: 1;
}

.htmx-indicator-remove {
    opacity: 1;
    transition: opacity 200ms ease;
}

.htmx-request .htmx-indicator-remove {
    opacity: 0;
}

.htmx-request tr.htmx-indicator {
    opacity: 1;
    display: table-row;
}

.spinner-border-lg {
    width: 1.5rem;
    height: 1.5rem;
}

.spinner-xxl {
    width: 5rem;
    height: 5rem;
}

::view-transition-group(*) {
    animation-duration: 100ms;
}

.htmx-request a, .htmx-request button, a.htmx-request, button.htmx-request {
    pointer-events: none;
    cursor: default;
    filter: grayscale(30%);
}
