/**
 * Sidebar Menu & Top Navigation Styles
 * 侧边栏和顶部菜单样式
 */

/* 侧边栏和顶部菜单字体设置 */
.sidebar-menu,
.sidebar-menu .main-menu a,
.sidebar-menu .main-menu .title,
.user-info-navbar,
.user-info-navbar .user-info-menu>li>a {
    font-family: 'Microsoft Yahei', 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
}

/* 侧边栏菜单字体大小 */
.sidebar-menu .main-menu a {
    font-size: 14px;
}

.sidebar-menu .main-menu .title {
    font-size: 14px;
}

/* 子菜单字体大小 */
.sidebar-menu .main-menu ul li a {
    font-size: 13px;
}

/* 顶部导航栏字体 */
.user-info-navbar {
    font-size: 14px;
}

.user-info-navbar .user-info-menu>li>a {
    font-size: 14px;
}

/* 侧边栏设置更高的z-index，避免被footer遮挡 */
.sidebar-menu,
.sidebar-menu.collapsed {
    z-index: 1001 !important;
}

/* 侧边栏内层也需要高z-index */
.sidebar-menu .sidebar-menu-inner {
    z-index: 1002 !important;
}

/* 固定底部在右侧内容页 */
.main-footer {
    position: fixed;
    bottom: 0;
    left: 260px;
    right: 0;
    z-index: 999;
}

/* 侧边栏收缩时调整footer位置 - 紧贴sidebar右侧 */
.sidebar-menu.collapsed ~ .main-footer {
    left: 80px;
    margin-left: 0;
    padding-left: 0;
}

/* 调整内容区域，避免被底部遮挡 */
.page-content {
    padding-bottom: 80px;
}

/* 确保footer-inner内容居中 */
.footer-inner {
    text-align: center;
    padding: 10px 0;
}

/* 移动端footer固定在底部 */
@media (max-width: 768px) {
    .main-footer {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 999 !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        background-color: #f5f5f5 !important;
        border-top: 1px solid #e0e0e0 !important;
    }
    
    .sidebar-menu.collapsed ~ .main-footer {
        left: 0 !important;
        width: 100% !important;
    }
    
    /* 移动端内容区域调整，避免被footer遮挡 */
    .page-content {
        padding-bottom: 100px !important;
    }
}

/* 侧边栏链接悬浮效果 - 蓝色竖线 */
.sidebar-menu .main-menu a:hover {
    border-left: 3px solid #4285F4;
    padding-left: 12px;
}

/* 收缩模式 - 滚动条在左侧 */
.sidebar-menu.collapsed .sidebar-menu-inner {
    overflow: visible !important;
    height: 100vh;
}

/* 收缩模式下主菜单可滚动，滚动条在左侧 */
.sidebar-menu.collapsed .main-menu {
    height: calc(100vh - 100px);
    overflow-y: auto;
    overflow-x: hidden;
    /* 滚动条在左侧 - 使用 Firefox 和 Webkit 兼容方式 */
    direction: rtl;
}

/* 内部内容恢复正常方向 */
.sidebar-menu.collapsed .main-menu > li,
.sidebar-menu.collapsed .main-menu > li > a {
    direction: ltr;
    text-align: left;
}

/* 子菜单样式 - 保持 nav.css 原始样式，只添加 direction: ltr */
.sidebar-menu.collapsed .main-menu > li > ul {
    direction: ltr;
    position: absolute;
    left: 100%;
    top: 0;
    min-width: 200px;
}

/* 滚动条样式 - Webkit 浏览器 */
.sidebar-menu.collapsed .main-menu::-webkit-scrollbar {
    width: 6px;
}

.sidebar-menu.collapsed .main-menu::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.05);
}

.sidebar-menu.collapsed .main-menu::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.2);
    border-radius: 3px;
}

.sidebar-menu.collapsed .main-menu::-webkit-scrollbar-thumb:hover {
    background: rgba(0,0,0,0.4);
}

/* Firefox 滚动条 */
.sidebar-menu.collapsed .main-menu {
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.2) rgba(0,0,0,0.05);
}

/* 侧边栏菜单点击后的临时 hover 效果 - 蓝色竖线（只设置在 li 上） */
.sidebar-menu .main-menu > li.temp-hover > a {
    border-left: 3px solid #4285F4;
    background-color: #f5f7fa;
    padding-left: 12px;
}

/* 锚点激活状态 - 紫色竖线 */
.sidebar-menu .main-menu > li.anchor-active > a,
.sidebar-menu .main-menu > li > ul > li.anchor-active > a {
    border-left: 3px solid #9C27B0;
    background-color: #f5f7fa;
    padding-left: 12px;
}

/* 修复收缩模式下图标显示问题 */
.sidebar-menu.collapsed .main-menu > li > a > i {
    margin-right: 0;
    text-align: center;
    width: 100%;
}

/* 修复收缩模式下文本隐藏 */
.sidebar-menu.collapsed .main-menu > li > a > span.title {
    display: none;
}

/* GitHub corner 响应式调整 */
@media (max-width: 768px) {
    .github-corner {
        display: none;
    }
}

/* 默认页面内容样式 */
.page-content {
    padding: 40px 15px 0px;
    margin-bottom: 100px;
}

.page-content .container {
    padding-left: 15px;
    padding-right: 15px;
}

/* 移动端菜单头部固定 */
@media screen and (max-width: 767px) {
    .sidebar-menu .sidebar-menu-inner .logo-env {
        position: sticky;
        top: 0;
        background: #fff;
        z-index: 10;
    }
    
    /* 移动端内容区域宽度优化 - 最大化利用屏幕宽度 */
    .main-content .page-content,
    .page-content {
        padding: 5px !important;
    }
    
    .main-content .page-content .container,
    .page-content .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .main-content .page-content .panel,
    .page-content .panel {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 10px !important;
    }
    
    /* 移除row的负边距影响 */
    .page-content .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* 确保列没有额外padding */
    .page-content [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* 内容区域内部元素 */
    .page-content .panel-body {
        padding: 10px 5px !important;
    }
    
    .page-content h1,
    .page-content h2,
    .page-content .h2 {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    
    /* 覆盖 nav.css 中 .panel 的大 padding */
    .page-content .panel-default,
    .page-content .panel {
        padding: 10px !important;
    }
}

/* 菜单按钮颜色：展开时为浅灰色，收起时为深灰色 */
.mobile-menu-toggle a {
    color: #979898 !important;
}
.mobile-menu-toggle a.active,
.mobile-menu-toggle.active a {
    color: #ccc !important;
}

/* 闪烁动画效果 */
@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 20px 10px rgba(255, 107, 107, 0);
        transform: scale(1.05);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 107, 107, 0);
        transform: scale(1);
    }
}
