.wacs-agent-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.7;
}

.wacs-agent-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 24px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border: 2px solid rgba(37, 211, 102, 0.2);
    border-top-color: #25d366;
    border-radius: 50%;
    animation: wacs-spin 0.8s linear infinite;
}

.wacs-last-contact {
    font-size: 12px;
    color: #999;
    font-style: italic;
}

.wacs-agent-online .wacs-agent-status {
    display: block;
}

.wacs-agent-status-indicator {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    transition: all .3s ease;
}

.wacs-agent-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: relative;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px rgba(0,0,0,.1);
}

.wacs-agent-status-indicator.online .wacs-agent-status-dot {
    background-color: #28a745;
    box-shadow: 0 0 0 2px rgba(40,167,69,.3);
    animation: wacs-pulse-green 2s infinite;
}

.wacs-agent-status-indicator.offline .wacs-agent-status-dot {
    background-color: #dc3545;
    box-shadow: 0 0 0 2px rgba(220,53,69,.3);
}

@keyframes wacs-spin {
    to { transform: rotate(360deg); }
}

@keyframes wacs-pulse-green {
    0% {
        box-shadow: 0 0 0 0 rgba(40,167,69,.4);
    }
    70% {
        box-shadow: 0 0 0 6px rgba(40,167,69,0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(40,167,69,0);
    }
}