/* Admin Contact FAB Styles */

/* Ensure FAB doesn't overlap with other fixed elements */
#adminContactFab {
    z-index: 9999;
}

/* Prevent FAB from overlapping page content on small screens */
@media (max-width: 768px) {
    #adminContactFab {
        bottom: 1rem;
        right: 1rem;
        transform: scale(0.85);
    }
}

/* Adjust for pages with fixed footers */
.admin-page-with-footer #adminContactFab {
    bottom: 5rem;
}

/* Smooth transitions for the panel */
#contactPanel {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Loading animation for refresh button */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.refresh-spin {
    animation: spin 1s linear infinite;
}

/* Badge animation */
#contactBadge {
    transition: all 0.2s ease-in-out;
}

#contactBadge.pulse {
    animation: pulse 0.5s ease-in-out;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

/* Dark mode adjustments */
.dark #contactPanel {
    border-left: 1px solid #374151;
}

/* Focus states for accessibility */
#adminContactFab:focus {
    outline: 2px solid #ec4899;
    outline-offset: 2px;
}

/* Hover effects */
#adminContactFab:hover #contactBadge {
    transform: scale(1.1);
}

/* Responsive adjustments for the panel */
@media (max-width: 640px) {
    #contactPanel {
        width: 100%;
        max-width: 320px;
    }
}