/* Dashboard refresh — optimistic UI transitions */

[data-refresh-section].is-refreshing {
    opacity: 0.5;
    transition: opacity 0.15s ease-in;
    pointer-events: none;
}

[data-refresh-section] {
    transition: opacity 0.2s ease-out;
}

#dashboardRefreshBtn.is-loading .bi-arrow-clockwise {
    animation: spin 0.8s linear infinite;
    display: inline-block;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
