.session-state-indicators {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
    vertical-align: middle;
}

.session-pending-indicator {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-height: 10px;
}

.session-pending-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.35;
    animation: sessionPendingPulse 1.2s infinite ease-in-out;
}

.session-pending-dot:nth-child(2) {
    animation-delay: 0.2s;
}

.session-pending-dot:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes sessionPendingPulse {
    0%, 80%, 100% {
        opacity: 0.25;
        transform: scale(0.85);
    }
    40% {
        opacity: 1;
        transform: scale(1);
    }
}

.session-unread-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary-color, #3498db);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

body.dark-theme .session-unread-indicator {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.session-item.has-unread-assistant {
    background: #96ddf626;
}

.session-item.has-unread-assistant:hover {
    background: #96ddf640;
}
