/*
 * 导航栏样式
 * 包含侧边栏和导航项的样式
 */

/* 侧边栏样式 */
.w-64 {
    width: 16rem; /* 256px */
}

.bg-gray-800 {
    background-color: #1f2937; /* gray-800 */
}

.text-white {
    color: white;
}

.flex-col {
    flex-direction: column;
}

.shadow-xl {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.z-10 {
    z-index: 10;
}

/* 导航项样式 */
.nav-item {
    display: flex;
    align-items: center;
    padding-left: 1.5rem; /* px-6 */
    padding-right: 1.5rem;
    padding-top: 0.75rem; /* py-3 */
    padding-bottom: 0.75rem;
    transition: background-color 0.2s ease;
}

.nav-item:hover {
    background-color: #374151; /* gray-700 */
}

/* 导航栏活动项样式 */
.nav-item.active {
    background-color: #34495e;
    border-right: 4px solid #3498db;
}

/* 侧边栏底部状态区域 */
.bg-gray-900 {
    background-color: #111827; /* gray-900 */
}

.border-gray-700 {
    border-color: #374151; /* gray-700 */
}

/* 连接状态指示器 */
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: .5;
    }
}

/* 响应式设计 */
@media (max-width: 768px) {
    .w-64 {
        width: 100%;
        height: auto;
    }

    .flex.h-screen {
        flex-direction: column;
    }

    .nav-item {
        padding: 0.5rem 1rem;
    }
}