/* ERP homepage components; site models retain their own fields and URLs. */
.home-news{--bd-violet:var(--bs-primary);--bd-purple:var(--bs-primary);--bd-violet-rgb:var(--bs-primary-rgb)}
.mx-section {
    margin-top: 2rem;
}
.mx-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: .75rem;
    margin-bottom: 1rem;
    border-bottom: 2px solid var(--bs-border-color);
}
.mx-section-title {
    position: relative;
    margin: 0;
    padding-left: .75rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--bs-emphasis-color);
}
.mx-section-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: .1em;
    bottom: .1em;
    width: 4px;
    border-radius: 2px;
    background: linear-gradient(180deg, var(--bd-violet), var(--bd-purple));
}
.mx-section-more {
    font-size: .875rem;
    color: var(--bs-secondary-color);
    white-space: nowrap;
}
.mx-section-more:hover {
    color: var(--bd-violet);
}

.mx-rank {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: mxrank;
}
.mx-rank-item {
    display: flex;
    align-items: baseline;
    gap: .625rem;
    padding: .5rem 0;
    border-bottom: 1px dashed var(--bs-border-color);
    counter-increment: mxrank;
}
.mx-rank-item:last-child {
    border-bottom: 0;
}
.mx-rank-item::before {
    content: counter(mxrank);
    flex: 0 0 1.5rem;
    text-align: center;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.5rem;
    color: var(--bs-secondary-color);
    background: var(--bs-tertiary-bg);
    border-radius: .375rem;
}
.mx-rank-item:nth-child(-n+3)::before {
    color: #fff;
    background: linear-gradient(135deg, var(--bd-violet), var(--bd-purple));
}
.mx-rank-link {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--bs-body-color);
}
.mx-rank-link:hover {
    color: var(--bd-violet);
}
/* 标签胶囊云 */
.mx-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.mx-tag {
    display: inline-block;
    padding: .3rem .75rem;
    font-size: .85rem;
    color: var(--bs-body-color);
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 50rem;
    transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}
.mx-tag:hover {
    color: #fff;
    background: linear-gradient(135deg, var(--bd-violet), var(--bd-purple));
    border-color: transparent;
}

.mx-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin-top: auto;
    font-size: .78rem;
    color: var(--bs-secondary-color);
}
.mx-meta-row .mx-meta-item {
    display: inline-flex;
    align-items: center;
    gap: .275rem;
}
.mx-meta-row .mx-meta-item i {
    font-size: .85rem;
    opacity: .85;
}
.mx-meta-author {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-weight: 500;
    color: var(--bs-body-color);
}
.mx-meta-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    font-size: .72rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--bd-violet), var(--bd-purple));
    border-radius: 50%;
}
.mx-meta-sep {
    margin-left: auto;
}
/* 元信息行内的小话题标签（替代作者名，控制数量） */
.mx-meta-tag {
    display: inline-block;
    padding: .05rem .5rem;
    font-size: .72rem;
    color: var(--bd-violet);
    background: rgba(var(--bd-violet-rgb), .1);
    border-radius: 50rem;
}
.mx-media:hover .mx-meta-tag,
.mx-fcard:hover .mx-meta-tag {
    background: rgba(var(--bd-violet-rgb), .16);
}

/* 媒体列表项：左缩略图 + 右标题/摘要/元信息 */
.mx-media {
    display: flex;
    gap: .875rem;
    padding: .875rem 0;
    height: 7.5rem;
    overflow: hidden;
    border-bottom: 1px solid var(--bs-border-color);
}
.mx-media:last-child {
    border-bottom: 0;
}
.mx-media-thumb {
    flex: 0 0 auto;
    width: 7rem;
    height: 4.75rem;
    border-radius: .5rem;
    overflow: hidden;
    background-color: var(--bs-tertiary-bg);
}
.mx-media-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
.mx-media:hover .mx-media-thumb img {
    transform: scale(1.06);
}
.mx-media-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}
.mx-media-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--bs-emphasis-color);
    margin: 0 0 .3rem;
}
.mx-media:hover .mx-media-title {
    color: var(--bd-violet);
}
.mx-media-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .82rem;
    line-height: 1.5;
    color: var(--bs-secondary-color);
    margin: 0 0 .5rem;
}
@media (max-width: 575.98px) {
    .mx-media {
        height: 6.25rem;
    }
    .mx-media-thumb {
        width: 5.5rem;
        height: 4rem;
    }
    .mx-media-excerpt {
        display: none;
    }
}

/* 问答卡片：Q 徽章 + 标题 + 答案预览 */
.mx-qa {
    display: flex;
    gap: .75rem;
    padding: .875rem 1rem;
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    height: 100%;
}
.mx-qa:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--bd-violet-rgb), .4);
    box-shadow: 0 .375rem 1rem rgba(var(--bd-violet-rgb), .12);
}
.mx-qa-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    font-size: .85rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, var(--bd-violet), var(--bd-purple));
    border-radius: .45rem;
}
.mx-qa-body {
    min-width: 0;
    flex: 1 1 auto;
}
.mx-qa-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.45;
    color: var(--bs-emphasis-color);
    margin: 0 0 .25rem;
}
.mx-qa:hover .mx-qa-title {
    color: var(--bd-violet);
}
.mx-qa-answer {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .8rem;
    line-height: 1.5;
    color: var(--bs-secondary-color);
    margin: 0;
}


.mx-rank-item .mx-rank-meta {
    flex: 0 0 auto;
    font-size: .75rem;
    color: var(--bs-secondary-color);
}
/* ERP compact related-content lists; desktop two columns, mobile one column. */
.mx-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.mx-list-item {
    display: flex;
    align-items: baseline;
    gap: .75rem;
    padding: .5rem 0;
    border-bottom: 1px dashed var(--bs-border-color);
}
.mx-list-item:last-child {
    border-bottom: 0;
}
.mx-list-link {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--bs-body-color);
}
.mx-list-cols .mx-list-link {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}
.mx-list-link:hover {
    color: var(--bd-violet);
}
.mx-list-item .mx-meta {
    flex: 0 0 auto;
    font-size: .8rem;
    color: var(--bs-secondary-color);
}
.mx-list-more {
    list-style: none;
    height: 1px;
}
/* 双列紧凑列表（桌面分两栏，移动单栏）
   容器为 grid，内部放两个独立 <ul class="mx-list">，
   左右各一栏，条目与虚线分隔按栏对齐，避免 CSS columns 高度重排导致错位 */
.mx-list-cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 2rem;
    min-width: 0;
    max-width: 100%;
}
.mx-list-cols .mx-list {
    min-width: 0;
}
@media (min-width: 768px) {
.mx-list-cols {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
