/* Dashboard Styles */

/* Table sorting indicators */
th.sorting-asc::after {
    content: ' ↑';
    color: #3b82f6;
}

th.sorting-desc::after {
    content: ' ↓';
    color: #3b82f6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }
}

/* Loader animation for async operations */
.loader {
    width: 48px;
    height: 48px;
    border: 3px solid #FFF;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

.loader::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 3px solid;
    border-color: #3b82f6 transparent;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Search field animations */
.search-field {
    transition: all 0.3s ease;
}

.search-field:focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
}

/* Pagination styling */
.pagination-controls button {
    transition: all 0.2s ease;
}

.pagination-controls button:hover:not(:disabled) {
    transform: translateY(-2px);
}

.pagination-controls button:active:not(:disabled) {
    transform: translateY(0);
}

/* Dark overlay for modals */
.modal-overlay {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(3px);
    transition: opacity 0.3s ease;
}

/* Modal animations */
.modal-container {
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.3s ease;
}

.modal-container.active {
    transform: translateY(0);
    opacity: 1;
}
