/* 侧边栏菜单样式优化 */
#app-sidebar .navbar-nav .nav-link {
    border-radius: 8px;
    border: none;
    margin: 2px 12px; /* 减小上下间距 */
    padding: 8px 12px; /* 减小内边距，使菜单项更紧凑 */
    transition: all 0.2s ease;
    
    /* 弹性布局确保垂直居中 */
    display: flex;
    align-items: center;
    gap: 8px;

    /* 字体样式调整 */
    color: #1f2937; /* Gray 800 - 加深颜色，从 Slate 600 改为 Gray 800 */
    font-weight: 400; /* 字体变细 */
    font-size: 14px; /* 调整字体大小与图标匹配 */
}

/* 专门优化数字显示：使用 Arial 字体 */
@font-face {
    font-family: "DigitFix";
    src: local("Arial");
    unicode-range: U+0030-0039, U+002E, U+002C; /* 0-9, . , */
}

/* 全局字体优化 - 使用更通用的系统字体 */
body {
    font-family: "DigitFix", "Segoe UI", "Roboto", "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif !important;
    font-weight: 400 !important; /* 强制全局默认字重为常规 */
    color: #1f2937; /* 全局字体颜色加深 */
}

/* 强制详情页和卡片内容字重 */
.card, .card-body, 
dl, dt, dd,
.form-control, .form-select, .form-label,
p, span, div,
.table, .table td {
    font-weight: 400 !important;
}

/* 标题字重微调，避免过粗 */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.card-title,
.table th,
strong, b {
    font-weight: 600 !important; /* 相比默认的 700/bold 略细 */
}

/* 列表链接默认不加粗 */
.table a:not(.btn),
.list-group-item a:not(.btn),
.table td,
.list-group-item,
.card-body,
.form-control,
.form-select,
.form-label,
dl, dt, dd,
p, span, div,
input, textarea, select,
.badge,
.text-muted,
small,
.log-item,
.modal-body {
    font-weight: 400 !important;
}

/* 强制覆盖 input 的字体，确保数字字体生效 */
input, textarea, select, .form-control {
    font-family: "DigitFix", "Segoe UI", "Roboto", "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif !important;
}

.table th {
    font-weight: 600 !important;
}

.table a:not(.btn):hover,
.list-group-item a:not(.btn):hover {
    text-decoration: underline;
    font-weight: 400 !important;
}

/* 悬停状态 */
#app-sidebar .navbar-nav .nav-link:hover {
    background-color: #f3f4f6; /* Gray 100 - 极浅灰色 */
    color: #1f2937; /* Gray 800 - 悬停时加深 */
    text-decoration: none;
}

/* 选中状态 */
#app-sidebar .navbar-nav .nav-link.active {
    color: #0ea5e9; /* Sky 500 - 亮蓝色文字 */
    background-color: #e0f2fe; /* Sky 100 - 浅蓝色背景 */
    font-weight: 500; /* 选中时稍微加粗，但不像之前那么粗 */
}

/* 图标样式调整 */
#app-sidebar .navbar-nav .nav-link .nav-link-icon {
    margin-right: 0;
    color: inherit; /* 图标颜色跟随文字 */
    opacity: 0.9;
    min-width: 18px; /* 确保图标容器宽度一致 */
    display: inline-flex !important; /* 覆盖 d-lg-inline-block，确保图标与文字垂直居中 */
    align-items: center;
    justify-content: center;
}

/* 专门针对 Tabler Icons 的调整 */
#app-sidebar .navbar-nav .nav-link .nav-link-icon i {
    font-size: 16px !important; /* 图标大小改为 16px */
    width: 16px;
    height: 16px;
    display: block;
    line-height: 1;
    stroke-width: 2; /* 线条粗细适中 */
    vertical-align: middle;
}

#app-sidebar .navbar-nav .nav-link .nav-link-title {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}

#app-sidebar .navbar-nav .nav-link.active .nav-link-icon,
#app-sidebar .navbar-nav .nav-link.active .nav-link-title {
    color: inherit;
}

/* 侧边栏二级菜单层级 */
#app-sidebar .navbar-nav .nav-link[data-bs-toggle="collapse"] {
    font-weight: 500;
    position: relative;
    padding-right: 34px;
}

/* 系统管理右侧展开箭头（无方框） */
#app-sidebar .navbar-nav .nav-link[data-bs-toggle="collapse"]::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #4b5563;
    border-bottom: 2px solid #4b5563;
    transform: translateY(-60%) rotate(45deg);
    transition: transform 0.15s ease;
}

#app-sidebar .navbar-nav .nav-link[data-bs-toggle="collapse"][aria-expanded="true"]::after {
    transform: translateY(-35%) rotate(-135deg);
}

#app-sidebar .navbar-nav .nav-submenu {
    margin: 4px 12px 8px 42px;
    padding: 2px 0 4px 0;
    border-left: none;
    background: transparent;
    border-radius: 0;
}

#app-sidebar .navbar-nav .nav-submenu .navbar-nav {
    padding-left: 0;
}

#app-sidebar .navbar-nav .nav-subitem .nav-link {
    margin: 2px 0;
    padding: 8px 12px;
    font-size: 14px;
}

/* 隐藏侧栏滚动条，但保留滚动能力 */
#app-sidebar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

#app-sidebar::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

/* 侧栏滚动只作用于菜单区，避免顶部品牌区出现空白占位 */
#app-sidebar .container-fluid {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

#app-sidebar #sidebar-menu,
#app-sidebar .navbar-collapse {
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1 1 auto;
    min-height: 0;
}

#app-sidebar #sidebar-menu::-webkit-scrollbar,
#app-sidebar .navbar-collapse::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

#app-sidebar .sidebar-brand-wrap {
    display: block;
    width: 100%;
    flex: 0 0 auto;
}

#app-sidebar .sidebar-brand-wrap .navbar-brand {
    display: block;
    width: 100%;
    margin-right: 0;
    padding-right: 0;
    min-width: 0;
    margin-bottom: 0;
}

#app-sidebar .sidebar-brand-wrap .sidebar-brand-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 统一页面主卡片容器 */
.page-content-card {
    margin-bottom: 0;
}

.page-content-card-body {
    padding: 1rem 1.25rem;
}

/* 统一顶部栏左侧对齐，去掉侧栏与主区之间的视觉空白 */
.page-wrapper > .navbar > .container-fluid {
    padding-left: 0 !important;
}

.page-wrapper > header.navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: #ffffff;
}

/* 主体壳层高度控制：避免新增页脚后出现页面级滚动条 */
.page {
    height: 100vh;
    overflow: hidden;
}

.page-wrapper {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-wrapper .page-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    margin-bottom: 0 !important;
}

.page-wrapper .page-body > .container-fluid {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 0 !important;
}

.page-wrapper > footer.footer {
    flex: 0 0 auto;
    background: #eaf2ff !important;
    border-top: 1px solid #c7d6ee !important;
    color: #4f6482 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

/* 页脚紧凑化，避免底部区域过高 */
.page-wrapper > footer.footer {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 32px;
}

.page-wrapper > footer.footer .container-fluid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.page-wrapper > footer.footer .d-flex {
    min-height: 32px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-weight: 500;
}

/* 桌面端强制隐藏侧栏折叠按钮，避免占位 */
@media (min-width: 992px) {
    #app-sidebar .navbar-toggler {
        display: none !important;
    }

    #app-sidebar .container-fluid {
        overflow: visible;
    }

    #app-sidebar .sidebar-brand-wrap .navbar-brand {
        margin-right: 0 !important;
        padding-right: 0 !important;
    }
}
