.el-menu {
    user-select: none;
    padding: 8px;
    background: transparent;
    .el-sub-menu__title:hover {
        background-color: var(--el-color-primary-light-9) !important;
    }
    .el-menu-item,
    .el-sub-menu__title {
        height: 42px;
        margin: 3px 0;
        border-radius: var(--ba-radius-control);
        line-height: 42px;
        transition:
            background-color 0.2s ease,
            color 0.2s ease,
            transform 0.2s ease;
    }
    .el-menu-item:hover,
    .el-sub-menu__title:hover {
        transform: translateX(2px);
    }
    .el-menu-item.is-active {
        background: var(--el-color-primary-light-9);
        color: var(--el-color-primary);
        font-weight: 600;
    }
}

.el-table {
    --el-table-border-color: var(--ba-border-color);
    --el-table-header-bg-color: var(--ba-bg-color-soft);
    --el-table-header-text-color: var(--el-text-color-primary);
    --el-table-row-hover-bg-color: var(--el-color-primary-light-9);
    color: var(--el-text-color-regular);
    font-variant-numeric: tabular-nums;
    .el-table__cell {
        padding: 9px 0;
    }
    .el-table__header th {
        font-weight: 600;
        letter-spacing: 0.01em;
    }
    .el-table__empty-block {
        min-height: 180px;
    }
    .el-table__empty-text {
        color: var(--el-text-color-secondary);
    }
}

.el-card {
    border: none;
    border-radius: var(--ba-radius-panel);
    box-shadow: var(--ba-shadow-card);
    .el-card__header {
        border-bottom: 1px solid var(--ba-border-color-soft);
        padding: 14px 18px;
        font-weight: 600;
    }
    .el-card__body {
        padding: 18px;
    }
}

.el-button {
    border-radius: var(--ba-radius-control);
    font-weight: 600;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        background-color 0.18s ease,
        border-color 0.18s ease;
    &:hover {
        transform: translateY(-1px);
    }
    &:active {
        transform: translateY(0);
    }
    &.is-link:hover,
    &.is-text:hover,
    &.is-circle:hover {
        transform: none;
    }
}

.el-button--primary:not(.is-link, .is-text, .is-plain) {
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18);
}

.el-button--danger:not(.is-link, .is-text, .is-plain) {
    box-shadow: 0 8px 18px rgba(220, 63, 77, 0.14);
}

.el-input__wrapper,
.el-textarea__inner,
.el-select__wrapper {
    border-radius: var(--ba-radius-control);
    box-shadow: 0 0 0 1px var(--ba-border-color-soft) inset;
    transition:
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.el-input__wrapper:hover,
.el-textarea__inner:hover,
.el-select__wrapper:hover {
    box-shadow: 0 0 0 1px var(--ba-border-color-strong) inset;
}

.el-input__wrapper.is-focus,
.el-textarea__inner:focus,
.el-select__wrapper.is-focused {
    box-shadow:
        0 0 0 1px var(--el-color-primary) inset,
        0 0 0 3px rgba(37, 99, 235, 0.12);
}

.el-date-editor.el-input__wrapper {
    border-radius: var(--ba-radius-control);
}

.el-dialog {
    border-radius: var(--ba-radius-panel);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.2);
    overflow: hidden;
}

.el-dialog__header {
    margin-right: 0;
    padding: 18px 22px;
    border-bottom: 1px solid var(--ba-border-color-soft);
}

.el-dialog__title {
    color: var(--el-text-color-primary);
    font-weight: 700;
}

.el-dialog__body {
    padding: 20px 22px;
}

.el-dialog__footer {
    padding: 14px 22px 18px;
    background: var(--ba-bg-color-soft);
    border-top: 1px solid var(--ba-border-color-soft);
}

.el-overlay {
    backdrop-filter: blur(2px);
}

.el-popper,
.el-dropdown__popper,
.el-popover.el-popper {
    border: 1px solid var(--ba-border-color-soft);
    border-radius: var(--ba-radius-panel);
    box-shadow: var(--ba-shadow-soft);
}

.el-dropdown-menu {
    padding: 6px;
}

.el-dropdown-menu__item {
    border-radius: 6px;
}

.el-pagination {
    font-variant-numeric: tabular-nums;
}

.el-pagination.is-background .el-pager li,
.el-pagination.is-background .btn-prev,
.el-pagination.is-background .btn-next {
    border-radius: 7px;
}

.el-tag {
    border-radius: 6px;
    font-weight: 600;
}

.el-alert {
    border-radius: var(--ba-radius-panel);
}

.el-divider__text.is-center {
    transform: translateX(-50%) translateY(-62%);
}

/* 修复 Chrome 浏览器输入框内选中字符行高异常的问题开始 <<< */
.el-input {
    .el-input__inner {
        line-height: calc(var(--el-input-height, 40px) - 4px);
    }
}
/* 修复 Chrome 浏览器输入框内选中字符行高异常的问题结束 >>> */

/* 输入框样式统一开始 <<< */
.el-input-number.is-controls-right {
    .el-input__wrapper {
        padding-left: 11px;
    }
    .el-input__inner {
        text-align: left;
    }
}
.el-textarea__inner {
    padding: 7px 11px;
}
.datetime-picker {
    height: 32px;
    padding-top: 0;
    padding-bottom: 0;
}
/* 输入框样式统一结束 >>> */

/* dialog 滚动条样式优化开始 <<< */
.el-overlay-dialog,
.ba-scroll-style {
    &::-webkit-scrollbar {
        width: 5px;
        height: 5px;
    }
    &::-webkit-scrollbar-thumb {
        background: #d5dde8;
        border-radius: var(--el-border-radius-base);
        box-shadow: none;
        -webkit-box-shadow: none;
    }
    &:hover {
        &::-webkit-scrollbar-thumb:hover {
            background: #aeb9c8;
        }
    }
}
@supports not (selector(::-webkit-scrollbar)) {
    .el-overlay-dialog,
    .ba-scroll-style {
        scrollbar-width: thin;
        scrollbar-color: #aeb9c8 #d5dde8;
    }
}
/* dialog 滚动条样式优化结束 >>> */

/* 小屏设备 el-radio-group 样式优化开始 <<< */
.ba-input-item-radio {
    margin-bottom: 10px;
    .el-radio-group {
        .el-radio {
            margin-bottom: 8px;
        }
    }
}
/* 小屏设备 el-radio-group 样式优化结束 >>> */
