.nexora-status-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .12);
    transition: background-color 160ms ease-out, box-shadow 160ms ease-out;
}

.nexora-chatbot-status[data-connection-state="connecting"] .nexora-status-dot,
.nexora-chatbot-status[data-connection-state="reconnecting"] .nexora-status-dot {
    background: #eab308;
    box-shadow: 0 0 0 3px rgba(234, 179, 8, .13);
    animation: nexora-status-pulse 1.2s ease-in-out infinite;
}

.nexora-chatbot-status[data-connection-state="disconnected"] .nexora-status-dot,
.nexora-chatbot-status[data-connection-state="error"] .nexora-status-dot {
    background: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .12);
}

.nexora-chatbot-status[data-connection-state="disabled"] .nexora-status-dot,
.nexora-chatbot-status[data-connection-state="closed"] .nexora-status-dot {
    background: #94a3b8;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, .14);
}

@keyframes nexora-status-pulse {
    0%, 100% { opacity: .58; transform: scale(.9); }
    50% { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .nexora-status-dot { transition: none; }
    .nexora-chatbot-status[data-connection-state="connecting"] .nexora-status-dot,
    .nexora-chatbot-status[data-connection-state="reconnecting"] .nexora-status-dot { animation: none; }
}
