/* 用户在线状态指示器样式 */

.user-status-indicator {
    position: relative;
    display: inline-block;
}

.status-dot {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

.status-dot.online {
    background-color: #4ade80;
    box-shadow: 0 0 0 2px #ffffff, 0 0 8px rgba(74, 222, 128, 0.6);
}

.status-dot.offline {
    background-color: #6b7280;
    box-shadow: 0 0 0 2px #ffffff, 0 0 8px rgba(107, 114, 128, 0.3);
}

/* 在线状态动画效果 */
.status-dot.online::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border-radius: 50%;
    background-color: rgba(74, 222, 128, 0.3);
    animation: pulse-online 2s infinite;
}

@keyframes pulse-online {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.7;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* 用户头像容器 */
.user-avatar-with-status {
    position: relative;
    display: inline-block;
}

.user-avatar-with-status img {
    border-radius: 50%;
    display: block;
}

/* 小尺寸状态指示器 */
.status-dot.small {
    width: 8px;
    height: 8px;
    border-width: 1px;
}

/* 大尺寸状态指示器 */
.status-dot.large {
    width: 16px;
    height: 16px;
    border-width: 3px;
    bottom: 4px;
    right: 4px;
}

/* 在线状态文本 */
.user-status-text {
    font-size: 12px;
    color: #6b7280;
    margin-left: 4px;
}

.user-status-text.online {
    color: #4ade80;
}

.user-status-text.offline {
    color: #6b7280;
}

/* 响应式设计 */
@media (max-width: 768px) {
    .status-dot {
        width: 10px;
        height: 10px;
        border-width: 1px;
    }
    
    .status-dot.large {
        width: 14px;
        height: 14px;
        border-width: 2px;
    }
}