/* 全局滚动条样式 - 更细的滚动条 */
/* Firefox 滚动条 */
* { scrollbar-width: thin; scrollbar-color: #1a5276 transparent; }
/* WebKit 内核浏览器滚动条 (Chrome/Safari/Edge) */
::-webkit-scrollbar { width: 2px; height: 2px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #1a5276; border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: #3498db; }
/* IE 滚动条样式 */
* { -ms-scrollbar-track-color: transparent; -ms-scrollbar-face-color: #1a5276; }
html { direction: ltr; }
body { direction: ltr; color: #555; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; background: #f5f5f5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a { color: #333; text-decoration: none; }
a:hover, a:focus { color: #000; text-decoration: none; outline: none; }
h4.text-gray { font-size: 16px; font-weight: 600; color: #888; padding: 10px 0; margin: 20px 0 10px 0; border-bottom: 2px solid #eee; }
h4.text-gray i { margin-right: 8px; }
.overflowClip_1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overflowClip_2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.page-container { position: relative; min-height: 100vh; }
.sidebar-menu { position: fixed; top: 0; left: 0; z-index: 1000; width: 210px; height: 100%; background: #2c2e3e; color: #aaa; transition: all 0.3s ease; }
.sidebar-menu .logo-env { padding: 25px 20px; border-bottom: 1px solid #3a3d4e; }
.sidebar-menu .logo h1 { color: #fff; font-size: 20px; font-weight: 700; margin: 0; }
.sidebar-menu .main-menu { list-style: none; padding: 0; margin: 0; overflow-y: auto; height: calc(100% - 130px); }
.sidebar-menu .main-menu > li > a { display: block; padding: 12px 20px; color: #aaa; font-size: 14px; transition: all 0.2s; border-left: 3px solid transparent; position: relative; }
.sidebar-menu .main-menu > li > a:hover { color: #fff; background: #35384a; border-left-color: #00a8ff; }
.sidebar-menu .main-menu > li > a:hover .menu-arrow { color: #fff; }
.sidebar-menu .main-menu > li > a i { margin-right: 10px; width: 18px; text-align: center; font-size: 15px; }
.sidebar-menu .main-menu > li > a .menu-arrow { position: absolute; right: 5px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); font-size: 12px; color: #777; float: none; margin: 0; }
.sidebar-menu .search { padding: 15px 20px; position: relative; }
.sidebar-menu .search .form-control { background: #35384a; border: 1px solid #3a3d4e; color: #ddd; border-radius: 20px; padding: 6px 15px; width: 100%; font-size: 13px; outline: none; }
.sidebar-menu .search .form-control:focus { border-color: #00a8ff; }
.sidebar-menu .search i { position: absolute; right: 35px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); color: #777; }
.sidebar-menu .search .search-clear { position: absolute; right: 60px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); cursor: pointer; font-size: 18px; color: #999; line-height: 1; z-index: 2; padding: 4px; transition: color 0.2s; }
.sidebar-menu .search .search-clear:hover { color: #fff; }
.main-content { margin-left: 210px; padding: 20px 30px; min-height: 100vh; background: #f5f5f5; }
.navbar.user-info-navbar { background: #fff; border: none; border-radius: 0; margin: -20px -30px 20px -30px; padding: 0 30px 0 0; box-shadow: 0 1px 3px rgba(0,0,0,0.08); min-height: 50px; }
.navbar.user-info-navbar .user-info-menu { list-style: none; padding: 0; margin: 0; }
.navbar.user-info-navbar .user-info-menu.left-links { float: left; }
.navbar.user-info-navbar .user-info-menu.right-links { float: right; }
.navbar.user-info-navbar .user-info-menu li { float: left; }
.navbar.user-info-navbar .user-info-menu li a { display: block; padding: 15px 15px; color: #888; font-size: 14px; }
/* 响应式隐藏 - 不依赖 Bootstrap，确保虚拟主机也能正常隐藏 */
@media (max-width: 767px) {
    .navbar.user-info-navbar .left-links,
    .navbar.user-info-navbar .right-links {
        display: none !important;
    }
}
.mobile-nav-header { display: none; }
.mobile-nav-header h1 { margin: 0; font-size: clamp(24px, 6vw, 44px); font-weight: 700; color: #333; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 767px) {
    .mobile-nav-header { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; padding: 0 15px; height: 50px; position: relative; }
    .mobile-nav-header h1 { margin: 0; font-size: clamp(24px, 6vw, 44px); font-weight: 700; color: #333; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .mobile-nav-header a { color: #888; font-size: 20px; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; position: absolute; right: 50px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
}
.row { margin-left: -15px; margin-right: -15px; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.col-sm-3 { position: relative; min-height: 1px; padding-right: 6px; padding-left: 6px; box-sizing: border-box; width: 25%; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
/* 浏览器放大比例时增加列数 */
@media (min-width: 1400px) { .col-sm-3 { width: 20%; -webkit-flex: 0 0 20%; -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } }
@media (min-width: 1600px) { .col-sm-3 { width: 16.666%; -webkit-flex: 0 0 16.666%; -ms-flex: 0 0 16.666%; flex: 0 0 16.666%; max-width: 16.666%; } }
@media (min-width: 1800px) { .col-sm-3 { width: 14.285%; -webkit-flex: 0 0 14.285%; -ms-flex: 0 0 14.285%; flex: 0 0 14.285%; max-width: 14.285%; } }
@media (min-width: 2000px) { .col-sm-3 { width: 12.5%; -webkit-flex: 0 0 12.5%; -ms-flex: 0 0 12.5%; flex: 0 0 12.5%; max-width: 12.5%; } }
.xe-widget.xe-conversations { display: block; background: #fff; border-radius: 6px; padding: 10px; margin-bottom: 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); cursor: pointer; transition: all 0.3s ease; color: #555; overflow: hidden; }
.link-main { display: block; color: #555; }
.link-main:hover { text-decoration: none; color: #555; }
.link-main:focus { outline: none; }
.star-indicator { position: absolute; top: 8px; right: 10px; font-size: 16px; color: #f5a623; z-index: 2; }
#starFilter.active { color: #f5a623; }
#starFilter.active .fa-star { color: #f5a623; }
.xe-widget.xe-conversations:hover { box-shadow: 0 3px 12px rgba(0,0,0,0.12); -webkit-transform: translateY(-2px); -ms-transform: translateY(-2px); transform: translateY(-2px); }
.xe-widget.xe-conversations.box2.label-info { border-left: 3px solid #5bc0de; }
.xe-comment-entry { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
.xe-user-img { -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; margin-right: 8px; }
.xe-comment { -webkit-flex: 1; -ms-flex: 1; flex: 1; min-width: 0; }
.xe-user-name { font-size: 15px; font-weight: 600; color: #333; display: block; }
.xe-comment p { color: #999; font-size: 13px; margin: 2px 0 0 0; }
.icon-placeholder { width: 32px; height: 32px; border-radius: 50%; color: #fff; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; font-size: 12px; font-weight: 700; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; margin-right: 8px; }
.icon-placeholder.color1 { background: -webkit-linear-gradient(135deg, #667eea 0%, #764ba2 100%); background: -o-linear-gradient(135deg, #667eea 0%, #764ba2 100%); background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.icon-placeholder.color2 { background: -webkit-linear-gradient(135deg, #f093fb 0%, #f5576c 100%); background: -o-linear-gradient(135deg, #f093fb 0%, #f5576c 100%); background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); }
.icon-placeholder.color3 { background: -webkit-linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); background: -o-linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); }
.icon-placeholder.color4 { background: -webkit-linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); background: -o-linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); }
.icon-placeholder.color5 { background: -webkit-linear-gradient(135deg, #fa709a 0%, #fee140 100%); background: -o-linear-gradient(135deg, #fa709a 0%, #fee140 100%); background: linear-gradient(135deg, #fa709a 0%, #fee140 100%); }
.icon-placeholder.color6 { background: -webkit-linear-gradient(135deg, #a18cd1 0%, #fbc2eb 100%); background: -o-linear-gradient(135deg, #a18cd1 0%, #fbc2eb 100%); background: linear-gradient(135deg, #a18cd1 0%, #fbc2eb 100%); }
.icon-placeholder.color7 { background: -webkit-linear-gradient(135deg, #fccb90 0%, #d57eeb 100%); background: -o-linear-gradient(135deg, #fccb90 0%, #d57eeb 100%); background: linear-gradient(135deg, #fccb90 0%, #d57eeb 100%); }
.icon-placeholder.color8 { background: -webkit-linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%); background: -o-linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%); background: linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%); }
.icon-placeholder.color9 { background: -webkit-linear-gradient(135deg, #f5576c 0%, #ff6f00 100%); background: -o-linear-gradient(135deg, #f5576c 0%, #ff6f00 100%); background: linear-gradient(135deg, #f5576c 0%, #ff6f00 100%); }
.icon-placeholder.color10 { background: -webkit-linear-gradient(135deg, #667eea 0%, #43e97b 100%); background: -o-linear-gradient(135deg, #667eea 0%, #43e97b 100%); background: linear-gradient(135deg, #667eea 0%, #43e97b 100%); }
.icon-placeholder.color11 { background: -webkit-linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); background: -o-linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); }
.icon-placeholder.color12 { background: -webkit-linear-gradient(135deg, #d4fc79 0%, #96e6a1 100%); background: -o-linear-gradient(135deg, #d4fc79 0%, #96e6a1 100%); background: linear-gradient(135deg, #d4fc79 0%, #96e6a1 100%); }
.top { position: fixed; bottom: 30px; right: 30px; z-index: 999; width: 40px; height: 40px; background: #00a8ff; border-radius: 50%; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,0.2); transition: all 0.3s; }
.top:hover { -webkit-transform: translateY(-3px); -ms-transform: translateY(-3px); transform: translateY(-3px); box-shadow: 0 4px 15px rgba(0,0,0,0.3); }
.top a { color: #fff; }
footer.main-footer { background: #fff; padding: 15px 30px; margin: 30px -30px -20px -30px; border-top: 1px solid #e8e8e8; color: #999; font-size: 12px; }
footer.main-footer a { color: #00a8ff; }
.main-content.sidebar-collapsed { margin-left: 50px; }
.sidebar-menu.collapsed { width: 50px !important; overflow: visible; }
.sidebar-menu.collapsed .logo-env { padding: 15px 5px; text-align: center; }
.sidebar-menu.collapsed .logo h1 { font-size: 14px; }
.sidebar-menu.collapsed .search { display: none; }
.sidebar-menu.collapsed .main-menu > li > a { padding: 12px 5px; text-align: center; }
.sidebar-menu.collapsed .main-menu > li > a i { margin-right: 0; font-size: 18px; }
.sidebar-menu.collapsed .main-menu > li > a .title { display: none; }
.sidebar-menu.collapsed .main-menu > li > a .menu-arrow { display: none; }
.sidebar-menu.collapsed .main-menu > li > a:hover { border-left-color: transparent; }
.sidebar-menu.collapsed .main-menu > li > a:hover::after { content: attr(data-title); position: absolute; left: 55px; background: #2c2e3e; color: #fff; padding: 8px 12px; border-radius: 4px; font-size: 13px; white-space: nowrap; z-index: 1001; }
.mobile-menu-toggle { display: none; float: right; color: #fff; font-size: 22px; cursor: pointer; padding: 5px; }
@media (max-width: 767px) {
    .sidebar-menu { width: 0; overflow: hidden; }
    .sidebar-menu.mobile-visible { width: auto; min-width: 200px; overflow: visible; }
    .sidebar-menu.mobile-visible .search { padding: 10px 10px 10px 36px; position: relative; }
    .sidebar-menu.mobile-visible .search .form-control { width: 100%; font-size: 13px; padding: 6px 12px; }
    .sidebar-menu.mobile-visible .search i { position: absolute; right: 22px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
    .sidebar-menu.mobile-visible .search .search-clear { position: absolute; right: 45px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
    .main-content { margin-left: 0; }
    .mobile-menu-toggle { display: block; }
    .main-content { padding: 15px; overflow-x: hidden; }
    .row { margin-left: 0; margin-right: 0; }
    .col-sm-3 { width: 100%; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
    .xe-user-name { font-size: 15px; }
    .xe-comment p { font-size: 13px; }
    .icon-placeholder { width: 36px; height: 36px; font-size: 14px; }
    .sidebar-menu.mobile-visible .main-menu > li > a { font-size: 15px; padding: 12px 10px 12px 20px; }
    .sidebar-menu.mobile-visible .search .form-control { font-size: 14px; }
}
.holmes-search { background: #fff3cd !important; }
/* 搜索框行 */
.search-row { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }
.search-box-wrapper { position: relative; width: 100%; max-width: 600px; }
.search-box-input { width: 100%; padding: 10px 40px 10px 16px; border: 2px solid #e0e0e0; border-radius: 25px; font-size: 15px; outline: none; box-sizing: border-box; transition: border-color 0.3s; }
.search-box-input:focus { border-color: #00a8ff; }
.search-box-icon { position: absolute; right: 16px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); color: #aaa; font-size: 16px; }
.search-box-clear { position: absolute; right: 40px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); cursor: pointer; font-size: 20px; color: #999; line-height: 1; z-index: 2; padding: 2px 6px; transition: color 0.2s; display: none; }
/* 电脑端隐藏搜索框，仅移动端显示 */
@media (min-width: 768px) { .search-row { display: none !important; } }
.search-box-clear:hover { color: #333; }
/* 移动端分类下拉菜单 */
#category-dropdown { display: none; position: absolute; top: 50px; left: 0; right: 0; z-index: 999; background: #fff; border-bottom: 1px solid #eee; box-shadow: 0 4px 12px rgba(0,0,0,0.1); max-height: 70vh; overflow-y: auto; }
#category-dropdown.active { display: block; }
#category-dropdown .cd-list { list-style: none; padding: 0; margin: 0; }
#category-dropdown .cd-list li { border-bottom: 1px solid #f5f5f5; }
#category-dropdown .cd-list li:last-child { border-bottom: none; }
#category-dropdown .cd-list li a { display: block; padding: 12px 15px 12px 20px; color: #333; font-size: 16px; text-decoration: none; }
#category-dropdown .cd-list li a:hover { background: #f0f7ff; color: #00a8ff; }
#category-dropdown .cd-list li a i { margin-right: 10px; width: 18px; text-align: center; color: #888; }
