/* ===== 星诺云 - 黑白风格移动端优先 ===== */
* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
    background:#f5f5f5; color:#1a1a1a;
    min-height:100vh; line-height:1.6; font-size:14px;
}
a { color:#1a1a1a; text-decoration:none; }
a:hover { opacity:0.75; }
img { max-width:100%; height:auto; }
ul, ol { list-style:none; }

/* ===== 顶部导航 ===== */
.xn-topbar {
    background:#fff; border-bottom:1px solid #e5e5e5;
    position:fixed; top:0; left:0; right:0; height:60px; z-index:10002;
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-align:center; -ms-flex-align:center; align-items:center; padding:0 12px;
}
.xn-hamburger {
    width:36px; height:36px; border:none; background:transparent; cursor:pointer;
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column;
    -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
    -webkit-box-align:center; -ms-flex-align:center; align-items:center;
    padding:0; margin-right:8px; border-radius:6px;
}
.xn-hamburger:hover { background:#f0f0f0; }
.xn-hamburger span { display:block; width:18px; height:2px; background:#1a1a1a; margin:2px 0; border-radius:1px; }
.xn-topbar-title {
    font-size:16px; font-weight:700; color:#1a1a1a;
    -webkit-box-flex:1; -ms-flex:1; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.xn-topbar-right { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align:center; -ms-flex-align:center; align-items:center; }
.xn-topbar-cart {
    font-size:12px; color:#555; padding:5px 12px; background:#f5f5f5; border-radius:10px;
}
.xn-topbar-cart:hover { background:#eee; color:#1a1a1a; opacity:1; }

/* ===== 侧边抽屉 ===== */
.xn-sidebar-overlay {
    display:none; position:fixed; top:0; left:0; right:0; bottom:0;
    background:rgba(0,0,0,0.45); z-index:10000;
}
.xn-sidebar-overlay.active { display:block; }
.xn-sidebar {
    position:fixed; top:0; left:-280px; width:260px; height:100%;
    background:#fff; z-index:10001;
    -webkit-transition:left 0.25s ease; transition:left 0.25s ease;
    overflow-y:auto; -webkit-overflow-scrolling:touch;
    border-right:1px solid #e5e5e5;
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column;
}
.xn-sidebar.active { left:0; }
.xn-sidebar-header {
    padding:18px 16px 14px; border-bottom:1px solid #eee; background:#fafafa;
}
.xn-sidebar-logo { font-size:18px; font-weight:800; color:#1a1a1a; margin-bottom:4px; }
.xn-sidebar-subtitle { font-size:11px; color:#999; }

.xn-sidebar-menu {
    list-style:none; padding:8px 0; margin:0;
    -webkit-box-flex:1; -ms-flex:1; flex:1;
}
.xn-menu-section {
    padding:12px 18px 6px; font-size:10px; color:#aaa;
    text-transform:uppercase; letter-spacing:1px; font-weight:600;
}
.xn-menu-link {
    display:block; padding:11px 18px; font-size:13px; color:#333;
    border-left:3px solid transparent; -webkit-transition:all 0.15s; transition:all 0.15s;
}
.xn-menu-link:hover { background:#f5f5f5; color:#1a1a1a; opacity:1; }
.xn-menu-icon { display:inline-block; width:20px; margin-right:10px; text-align:center; font-size:14px; }

/* ===== 侧边栏底部用户信息 ===== */
.xn-sidebar-footer {
    padding:14px 16px; border-top:1px solid #eee; background:#fafafa;
}
.xn-user-box {
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-align:center; -ms-flex-align:center; align-items:center;
    padding:10px 12px; background:#fff; border:1px solid #eee; border-radius:8px;
    cursor:pointer; margin-bottom:10px; -webkit-transition:all 0.15s; transition:all 0.15s;
}
.xn-user-box:hover { border-color:#1a1a1a; }
.xn-user-avatar {
    width:36px; height:36px; border-radius:50%; background:#1a1a1a; color:#fff;
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-align:center; -ms-flex-align:center; align-items:center;
    -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
    font-size:15px; font-weight:700; margin-right:10px; flex-shrink:0;
}
.xn-user-info { -webkit-box-flex:1; -ms-flex:1; flex:1; min-width:0; }
.xn-user-name { font-size:13px; font-weight:600; color:#1a1a1a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.xn-user-role { font-size:10px; color:#999; margin-top:2px; }
.xn-logout-btn {
    display:block; width:100%; padding:10px; font-size:12px; font-weight:600;
    color:#dc3545; background:#fff5f5; border:1px solid #ffe0e0; border-radius:8px;
    text-align:center; cursor:pointer; -webkit-transition:all 0.15s; transition:all 0.15s;
}
.xn-logout-btn:hover { background:#ffe0e0; opacity:1; }

/* ===== 主内容区 ===== */
.xn-main { padding-top:60px; min-height:100vh; }
.xn-container { max-width:960px; margin:0 auto; padding:0 14px; }

/* ===== Hero区域 ===== */
.xn-hero {
    background:linear-gradient(135deg, #1a1a1a 0%, #333 100%);
    color:#fff; padding:50px 0 40px; text-align:center;
}
.xn-hero-title {
    font-size:36px; font-weight:800; margin-bottom:10px; letter-spacing:2px;
}
.xn-hero-desc { font-size:14px; color:#aaa; margin-bottom:24px; }
.xn-hero-btns {
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
    gap:12px; flex-wrap:wrap;
}

/* ===== 按钮 ===== */
.xn-btn {
    display:inline-block; padding:10px 24px; font-size:14px; font-weight:600;
    border-radius:8px; cursor:pointer; border:none; text-align:center;
    -webkit-transition:all 0.15s; transition:all 0.15s; line-height:1.4;
}
.xn-btn:hover { opacity:0.85; }
.xn-btn-primary { background:#fff; color:#1a1a1a; }
.xn-btn-outline { background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.5); }
.xn-btn-outline:hover { background:rgba(255,255,255,0.1); border-color:#fff; opacity:1; }
.xn-btn-block { display:block; width:100%; }

/* 深色背景上的按钮变体 */
.xn-section .xn-btn-primary { background:#1a1a1a; color:#fff; }
.xn-section .xn-btn-outline { background:transparent; color:#1a1a1a; border:1px solid #1a1a1a; }
.xn-section .xn-btn-outline:hover { background:#1a1a1a; color:#fff; opacity:1; }

/* ===== 区块 ===== */
.xn-section { padding:30px 0; }
.xn-section-gray { background:#fafafa; border-top:1px solid #eee; border-bottom:1px solid #eee; }
.xn-section-title {
    font-size:18px; font-weight:700; color:#1a1a1a; margin-bottom:18px;
    padding-left:10px; border-left:3px solid #1a1a1a;
}

/* ===== 产品卡片 ===== */
.xn-product-grid {
    display:grid; grid-template-columns:1fr; gap:14px;
}
@media (min-width:640px) {
    .xn-product-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (min-width:900px) {
    .xn-product-grid { grid-template-columns:repeat(3, 1fr); }
}
.xn-product-card {
    background:#fff; border:1px solid #e5e5e5; border-radius:10px;
    padding:18px; position:relative; -webkit-transition:all 0.2s; transition:all 0.2s;
}
.xn-product-card:hover { border-color:#1a1a1a; box-shadow:0 4px 12px rgba(0,0,0,0.08); }
.xn-product-featured { border-color:#1a1a1a; }
.xn-product-badge {
    position:absolute; top:-1px; right:14px; background:#1a1a1a; color:#fff;
    font-size:10px; padding:3px 10px; border-radius:0 0 6px 6px; font-weight:600;
}
.xn-product-name { font-size:15px; font-weight:700; color:#1a1a1a; margin-bottom:10px; }
.xn-product-price { margin-bottom:14px; }
.xn-price-num { font-size:28px; font-weight:800; color:#1a1a1a; }
.xn-price-unit { font-size:12px; color:#999; margin-left:4px; }
.xn-product-features { margin-bottom:16px; }
.xn-product-features li {
    font-size:12px; color:#666; padding:5px 0; border-bottom:1px dashed #eee;
}
.xn-product-features li:last-child { border-bottom:none; }

/* ===== 服务条款 ===== */
.xn-tos-box {
    background:#fff; border:1px solid #e5e5e5; border-radius:10px;
    padding:24px; font-size:13px; color:#444; line-height:1.8;
}
.xn-tos-box p { margin-bottom:8px; }
.xn-tos-box ol { padding-left:22px; margin:10px 0; }
.xn-tos-box li { margin-bottom:8px; line-height:1.8; }
.xn-link { color:#1a1a1a; font-weight:600; text-decoration:underline; }

/* ===== 页脚 ===== */
.xn-footer {
    background:#1a1a1a; color:#999; padding:24px 0; text-align:center;
}
.xn-footer-links {
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
    flex-wrap:wrap; gap:16px; margin-bottom:14px;
}
.xn-footer-links a { color:#ccc; font-size:12px; }
.xn-footer-links a:hover { color:#fff; opacity:1; }
.xn-footer-copy { font-size:11px; color:#666; line-height:1.8; }

/* ===== 响应式 ===== */
@media (min-width:768px) {
    .xn-hero { padding:70px 0 60px; }
    .xn-hero-title { font-size:48px; }
    .xn-hero-desc { font-size:16px; }
    .xn-section { padding:40px 0; }
    .xn-section-title { font-size:22px; }
}


/* ===== 手机端优化 ===== */
@media (max-width: 768px) {
    .xn-topbar { height: 60px !important; padding: 0 10px !important; }
    .xn-topbar-title { font-size: 15px !important; }
    .xn-hamburger { width: 40px !important; height: 40px !important; }
    .xn-sidebar { width: 280px !important; left: -280px !important; }
    .xn-sidebar.active { left: 0 !important; }
    .xn-hero { padding: 40px 0 30px !important; }
    .xn-hero-title { font-size: 32px !important; }
    .xn-hero-desc { font-size: 13px !important; }
    .xn-hero-btns { flex-direction: column !important; align-items: center !important; gap: 10px !important; }
    .xn-hero-btns .xn-btn { width: 200px !important; }
    .xn-section { padding: 20px 0 !important; }
    .xn-section-title { font-size: 16px !important; }
    .xn-product-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    .xn-product-card { padding: 16px !important; }
    .xn-product-name { font-size: 14px !important; }
    .xn-price-num { font-size: 24px !important; }
    .xn-tos-box { padding: 16px !important; }
    .xn-tos-box ol { padding-left: 18px !important; line-height: 2 !important; }
    .xn-tos-box li { font-size: 12px !important; margin-bottom: 6px !important; }
    .xn-footer { padding: 20px 0 !important; }
    .xn-footer-links { gap: 12px !important; }
    .xn-footer-links a { font-size: 11px !important; }
    .xn-footer-copy { font-size: 10px !important; }
    .xn-user-box { padding: 8px 10px !important; }
    .xn-user-avatar { width: 32px !important; height: 32px !important; font-size: 13px !important; }
    .xn-user-name { font-size: 12px !important; }
    .xn-logout-btn { padding: 8px !important; font-size: 11px !important; }
    .xn-menu-link { padding: 10px 16px !important; font-size: 13px !important; }
    .xn-menu-section { padding: 10px 16px 4px !important; font-size: 10px !important; }
}
@media (max-width: 375px) {
    .xn-hero-title { font-size: 28px !important; }
    .xn-product-features li { font-size: 12px !important; }
}


/* ===== 堆叠式菜单样式 ===== */
.xn-sidebar-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
    overflow-y: auto;
}
.xn-menu-item {
    border-bottom: 1px solid #f0f0f0;
}
.xn-menu-link {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s;
    width: 100%;
    box-sizing: border-box;
}
.xn-menu-link:hover {
    background: #f5f5f5;
}
.xn-menu-icon {
    width: 24px;
    text-align: center;
    margin-right: 10px;
    font-size: 16px;
}
.xn-menu-arrow {
    margin-left: auto;
    font-size: 10px;
    transition: transform 0.2s;
    color: #999;
}
.xn-submenu {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: #fafafa;
}
.xn-submenu.open {
    max-height: 500px;
}
.xn-submenu-link {
    display: block;
    padding: 10px 16px 10px 50px;
    color: #666;
    text-decoration: none;
    font-size: 13px;
    transition: background 0.2s, color 0.2s;
}
.xn-submenu-link:hover {
    background: #f0f0f0;
    color: #000;
}
.xn-menu-section {
    padding: 12px 16px 6px;
    font-size: 11px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

/* ============================================================
   追加层 r2：动态菜单图标 / 底部用户区 / 三级菜单 / PC常驻侧栏
   ============================================================ */

/* 菜单 bx 图标 */
.xn-menu-icon{ width:24px; text-align:center; margin-right:10px; font-size:17px; display:inline-flex; justify-content:center; color:#666; flex-shrink:0; }
.xn-menu-link .xn-menu-icon i{ line-height:1; }
.xn-menu-link:hover .xn-menu-icon, .xn-menu-link:hover .xn-menu-icon i{ color:#1a1a1a; }
.xn-menu-arrow{ margin-left:auto; font-size:10px; color:#999; transition:transform .2s; }
.xn-has-submenu > .xn-menu-link .xn-menu-arrow{ display:inline-block; }

/* 二级子菜单 */
.xn-submenu{ list-style:none; padding:0; margin:0; max-height:0; overflow:hidden; transition:max-height .3s ease; background:#fafafa; }
.xn-submenu.open{ max-height:720px; overflow-y:auto; }
.xn-submenu-link{ display:block; padding:10px 16px 10px 50px; color:#666; font-size:13px; }
.xn-submenu-link:hover{ background:#f0f0f0; color:#000; }
/* 三级分组标题 + 链接 */
.xn-submenu-parent{ display:block; padding:10px 16px 4px 50px; color:#999; font-size:11px; font-weight:600; }
a.xn-submenu-lv3{ padding-top:4px !important; padding-bottom:4px !important; padding-left:62px !important; font-size:12px !important; }

/* 顶栏购物车图标对齐 */
.xn-topbar-cart i{ vertical-align:-2px; }

/* ---------- 侧边栏底部用户区 ---------- */
.xn-sidebar-user{
    display:flex; align-items:center; gap:10px;
    padding:9px 10px; background:#fff; border:1px solid #eee; border-radius:8px;
    margin-bottom:8px; text-decoration:none;
}
.xn-sidebar-user:hover{ border-color:#1a1a1a; }
.xn-sidebar-avatar{
    width:36px; height:36px; border-radius:50%; object-fit:cover;
    background:#eee; flex-shrink:0; border:1px solid #eee;
}
.xn-sidebar-meta{ display:flex; flex-direction:column; min-width:0; }
.xn-sidebar-meta b{ font-size:13px; color:#1a1a1a; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.xn-sidebar-meta small{ font-size:10px; color:#999; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* 抽屉打开时禁止背景滚动 */
body.xn-lock{ overflow:hidden; }

/* ============================================================
   平板 / PC（≥992px）：侧边栏常驻，不再是抽屉
   ============================================================ */
@media (min-width:992px){
    .xn-hamburger{ display:none; }
    .xn-sidebar-overlay{ display:none !important; }
    .xn-sidebar{
        left:0 !important; width:240px; border-right:1px solid #e5e5e5;
    }
    .xn-topbar{ left:240px; right:0; }
    .xn-main{ padding-left:240px; padding-top:54px; }
    /* PC 端子菜单默认展开（悬停/点击仍可切换），这里默认收起，点击展开，保持整洁 */
    .xn-container{ max-width:1080px; }
}

/* 平板（768–991）：抽屉宽度适中 */
@media (min-width:768px) and (max-width:991.98px){
    .xn-sidebar{ width:280px; left:-290px; }
}

/* 手机端菜单图标/用户区微调 */
@media (max-width:767.98px){
    .xn-sidebar-user{ padding:8px 10px; }
    .xn-sidebar-avatar{ width:32px; height:32px; }
    .xn-sidebar-meta b{ font-size:12px; }
    .xn-submenu-link{ padding-left:52px; }
}

/* ============================================================
   服务条款 / 内容页（tos/about/contact 等独立页面）
   ============================================================ */
.xn-tos-page{ padding-top:18px; }
.xn-page-head{ text-align:center; margin-bottom:20px; }
.xn-page-title{ font-size:24px; font-weight:800; color:#1a1a1a; margin:0 0 8px; }
.xn-page-sub{ font-size:13px; color:#888; margin:0; line-height:1.7; }
.xn-tos-full{ padding:22px 24px; line-height:1.9; }
.xn-tos-full .xn-tos-lead{
    background:#fafafa; border:1px solid #eee; border-radius:8px;
    padding:12px 14px; font-size:13px; color:#555; margin-bottom:18px;
}
.xn-tos-full h3{
    font-size:16px; font-weight:700; color:#1a1a1a;
    margin:22px 0 10px; padding-left:10px; border-left:3px solid #1a1a1a;
}
.xn-tos-full ol{ padding-left:22px; margin:0 0 8px; }
.xn-tos-full > ol > li{ margin-bottom:8px; font-size:13.5px; color:#333; }
.xn-tos-full ol ul{ padding-left:20px; margin:6px 0; list-style:disc; }
.xn-tos-full ol ul li{ font-size:13px; color:#555; margin-bottom:4px; }
.xn-tos-final{
    margin-top:22px; padding-top:14px; border-top:1px solid #eee;
    font-size:12.5px; color:#999;
}
@media (max-width:767.98px){
    .xn-tos-page{ padding-top:10px; }
    .xn-page-title{ font-size:20px; }
    .xn-tos-full{ padding:16px 15px; border-radius:8px; }
    .xn-tos-full > ol > li{ font-size:13px; line-height:1.85; }
    .xn-tos-full h3{ font-size:15px; margin:18px 0 8px; }
    .xn-tos-full ol{ padding-left:18px; }
}

/* ===== 星诺云 r5：统一侧边栏移动端（覆盖旧xn-sidebar） ===== */
@media (max-width:991.98px){
    .vertical-menu{display:block !important;position:fixed !important;top:0 !important;left:-280px !important;width:260px !important;height:100vh !important;z-index:10001 !important;transition:left .25s ease !important;overflow-y:auto !important;background:#fff !important;box-shadow:2px 0 12px rgba(0,0,0,.18) !important;}
    body.sidebar-open .vertical-menu{left:0 !important;}
    .xn-sidebar-overlay{display:none !important;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:10000;}
    body.sidebar-open .xn-sidebar-overlay{display:block !important;}
    body.sidebar-open{overflow:hidden;}
    .xn-main{padding-left:0 !important;}
    .xn-topbar{left:0 !important;}
}
@media (min-width:992px){
    .xn-hamburger{display:none !important;}
    .vertical-menu{left:0 !important;top:0 !important;height:100vh !important;display:block !important;position:fixed !important;}
    .xn-main{padding-left:260px !important;}
    .xn-topbar{left:260px !important;}
    .xn-sidebar-overlay{display:none !important;}
}

/* 关于页面tab样式 */
.xn-info-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
.xn-info-tab{padding:8px 20px;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s;background:#fff;}
.xn-info-tab.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
.xn-info-detail{display:none;line-height:1.8;color:#333;font-size:12px;}
.xn-info-detail.active{display:block;}
.xn-info-detail h3{font-size:16px;margin-bottom:12px;color:#1a1a1a;}
@media (max-width:768px){
    .xn-info-tab{padding:6px 14px;font-size:11px;}
}

.xn-menu-user-footer{margin-top:auto;padding:12px 16px;border-top:1px solid #eee;border-bottom:none;background:#fafafa;}
.xn-menu-user-box{display:flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:8px;}
.xn-menu-user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#eee;border:1px solid #eee;}
.xn-menu-user-info{min-width:0;flex:1;}
.xn-menu-user-name{font-size:13px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.xn-menu-user-uid{font-size:10px;color:#999;}
.xn-menu-logout-btn{display:block;text-align:center;padding:6px 12px;background:#1a1a1a;color:#fff;border-radius:6px;font-size:11px;text-decoration:none;}
.xn-menu-logout-btn:hover{background:#333;color:#fff;}


/* 侧边栏可折叠箭头 - 黑白风格 */
.xn-sidebar .has-arrow:after{
    content: "\25BE" !important;
    font-family: inherit !important;
    font-size: 10px;
    color: #999;
    float: right;
    margin-top: 2px;
    transition: transform 0.2s;
}
.xn-sidebar .has-arrow[aria-expanded="true"]:after{
    transform: rotate(180deg);
}
.xn-sidebar .mm-active > .has-arrow:after{
    transform: rotate(180deg);
    color: #1a1a1a;
}

/* ===== 重置global.css对用户中心侧边栏的覆盖，首页/用户中心完全统一 ===== */
.vertical-menu{width:260px !important;}
/* 侧边栏内容避开顶部栏，统一位置 */
.vertical-menu #sidebar-menu{padding-top:60px !important;padding-bottom:20px !important;}
.vertical-menu #sidebar-menu .metismenu{margin:0;}
.vertical-menu #side-menu > li > a,
.vertical-menu #sidebar-menu > ul > li > a{
    padding:15px 20px !important;
    min-height:auto !important;
    border-left:none !important;
    font-size:13px !important;
    font-weight:400 !important;
}
.vertical-menu #side-menu > li > a i,
.vertical-menu #sidebar-menu > ul > li > a i{
    font-size:21px !important;
    margin-left:0 !important;
    margin-right:8px !important;
    min-width:24px !important;
}
.vertical-menu #side-menu li a:hover{
    background:#f5f5f5 !important;
}
.vertical-menu #side-menu li.mm-active > a,
.vertical-menu #side-menu li a.active{
    background:transparent !important;
    border-left:none !important;
    font-weight:400 !important;
}
.vertical-menu ul.sub-menu li a{
    padding:10px 20px 10px 45px !important;
    min-height:auto !important;
}
.vertical-menu ul.sub-menu ul.sub-menu li a{
    padding:10px 20px 10px 60px !important;
}

/* 统一菜单项颜色，首页/用户中心完全一致 */
.vertical-menu #side-menu > li > a,
.vertical-menu #sidebar-menu > ul > li > a,
.vertical-menu .metismenu > li > a{
    color:#6c757d !important;
}
.vertical-menu #side-menu > li > a i,
.vertical-menu #sidebar-menu > ul > li > a i,
.vertical-menu .metismenu > li > a i{
    color:#8a8f98 !important;
}
.vertical-menu #side-menu > li.mm-active > a,
.vertical-menu #side-menu > li > a.active,
.vertical-menu #sidebar-menu > ul > li.mm-active > a,
.vertical-menu .metismenu > li.mm-active > a{
    color:#6c757d !important;
    background:transparent !important;
    font-weight:400 !important;
}
.vertical-menu #side-menu > li.mm-active > a i,
.vertical-menu .metismenu > li.mm-active > a i{
    color:#8a8f98 !important;
}
.vertical-menu #side-menu > li > a:hover,
.vertical-menu .metismenu > li > a:hover{
    color:#383c40 !important;
    background:#f5f5f5 !important;
}


/* ============================================================
   最终统一覆盖：确保首页/用户中心侧边栏完全一致
   ============================================================ */
/* 强制侧边栏容器不是flex，避免用户信息被推到底部 */
.vertical-menu #sidebar-menu{
    display:block !important;
    padding-top:60px !important;
    padding-bottom:20px !important;
}
.vertical-menu .simplebar-content{
    display:block !important;
}
.vertical-menu [data-simplebar]{
    display:block !important;
}

/* 用户信息区：强制在顶部，margin-top:0 */
.vertical-menu .xn-menu-user-footer{
    display:block !important;
    position:relative !important;
    margin-top:auto !important;
    margin-bottom:0 !important;
    padding:12px 16px !important;
    border-top:1px solid #eee !important;
    border-bottom:none !important;
    background:#fafafa !important;
    order:0 !important;
}

/* 菜单项：统一大小 */
.vertical-menu #sidebar-menu ul li a,
.vertical-menu #side-menu li a{
    display:flex !important;
    align-items:center !important;
    padding:12px 20px !important;
    font-size:13px !important;
    line-height:1.5 !important;
    min-height:auto !important;
    border-left:none !important;
    color:#6c757d !important;
    position:relative !important;
}
.vertical-menu #sidebar-menu ul li a i,
.vertical-menu #side-menu li a i{
    font-size:21px !important;
    min-width:24px !important;
    width:24px !important;
    margin-right:8px !important;
    margin-left:0 !important;
    padding-bottom:0 !important;
    line-height:1 !important;
    text-align:center !important;
    color:#8a8f98 !important;
    flex-shrink:0 !important;
}
.vertical-menu #sidebar-menu ul li a span,
.vertical-menu #side-menu li a span{
    vertical-align:middle !important;
    line-height:1.5 !important;
    flex:1 !important;
}
.vertical-menu #sidebar-menu ul li a:hover,
.vertical-menu #side-menu li a:hover{
    background:#f5f5f5 !important;
    color:#383c40 !important;
}
.vertical-menu #sidebar-menu ul li.mm-active > a,
.vertical-menu #side-menu li.mm-active > a,
.vertical-menu #sidebar-menu ul li a.active,
.vertical-menu #side-menu li a.active{
    background:transparent !important;
    color:#6c757d !important;
    font-weight:400 !important;
    border-left:none !important;
}

/* 子菜单 */
.vertical-menu #sidebar-menu ul.sub-menu li a{
    padding:8px 20px 8px 48px !important;
    font-size:12px !important;
}
.vertical-menu #sidebar-menu ul.sub-menu ul.sub-menu li a{
    padding:8px 20px 8px 64px !important;
}

/* 侧边栏宽度统一 */
.vertical-menu{
    width:260px !important;
}

/* 折叠箭头统一 */
.vertical-menu .has-arrow:after{
    content:"\25BE" !important;
    font-family:inherit !important;
    font-size:10px !important;
    color:#999 !important;
    float:none !important;
    margin-left:auto !important;
    display:inline-block !important;
    line-height:1 !important;
    margin-top:2px !important;
}

/* 侧边栏用户信息贴底 */
.vertical-menu #sidebar-menu{
    display:flex !important;
    flex-direction:column !important;
    min-height:100% !important;
}
.vertical-menu #sidebar-menu #side-menu{
    flex:1 !important;
}
