/* ========================================== */
/* Dashboard Page Styles (pages/dashboard/view.css) */
/* ========================================== */

.dashboard-title-bar {
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 28px -18px rgba(0, 45, 98, 0.45);
}

.dashboard-title-bar>* {
    position: relative;
    z-index: 1;
}

.dashboard-refresh-btn {
    min-height: 42px;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.dashboard-refresh-btn:hover:not(:disabled) #dashboard-refresh-icon {
    transform: rotate(60deg);
}

.dashboard-refresh-btn.is-refreshing {
    border-color: #fde047 !important;
    background-color: #fefce8 !important;
    color: #854d0e !important;
    box-shadow: 0 0 0 3px rgba(234, 179, 8, 0.2) !important;
    cursor: wait !important;
}

.dashboard-refresh-btn.is-success {
    border-color: #86efac !important;
    background-color: #f0fdf4 !important;
    color: #166534 !important;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2) !important;
}

/* KPI Numbers Pulse Animation on Refresh */
@keyframes kpiRefreshHighlight {
    0% {
        transform: scale(1);
        filter: brightness(1);
    }
    35% {
        transform: scale(1.05);
        filter: brightness(1.2);
        color: #0284c7;
    }
    100% {
        transform: scale(1);
        filter: brightness(1);
    }
}

.kpi-refresh-pulse {
    display: inline-block;
    animation: kpiRefreshHighlight 0.65s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Table Refresh Soft Flash */
@keyframes tableCardSoftGlow {
    0% {
        box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.18), 0 10px 25px -5px rgba(14, 165, 233, 0.1);
    }
    100% {
        box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
    }
}

.table-card-pulse {
    animation: tableCardSoftGlow 0.8s ease-out;
}

#public-donations-table-card {
    transition: box-shadow 0.3s ease;
}