/**
 * tnxel.css
 * 对Element Plus样式的调整
 */
.text-info {
    color: var(--el-color-info) !important;
}

.bg-info {
    background-color: var(--el-color-info-light-8) !important;
}

.text-white {
    color: white !important;
}

.bg-white {
    background-color: white !important;
}

.text-regular {
    color: var(--el-text-color-regular) !important;
}

.text-muted,
.text-secondary {
    color: var(--el-text-color-secondary) !important;
}

.text-normal {
    color: var(--el-text-color-primary) !important;
}

.bg-muted {
    background-color: var(--el-bg-color-page) !important;
}

.border {
    border: 1px solid var(--el-border-color) !important;
}

.border-top {
    border-top: 1px solid var(--el-border-color) !important;
}

.border-bottom {
    border-bottom: 1px solid var(--el-border-color) !important;
}

.border-start {
    border-left: 1px solid var(--el-border-color) !important;
}

.border-end {
    border-right: 1px solid var(--el-border-color) !important;
}

.text-placeholder {
    color: var(--el-text-color-placeholder) !important;
}

.text-primary {
    color: var(--el-color-primary) !important;
}

.bg-primary {
    background-color: var(--el-color-primary) !important;
    color: white;
}

.bg-primary .el-dropdown {
    color: inherit;
}

.border-primary {
    border-color: var(--el-color-primary) !important;
}

.text-success,
.theme-success .el-checkbox__input.is-checked + .el-checkbox__label {
    color: var(--el-color-success) !important;
}

.bg-success {
    background-color: var(--el-color-success) !important;
    color: white;
}

.bg-success-light {
    background-color: var(--el-color-success-lighter) !important;
}

.border-success,
.theme-success .el-checkbox__input.is-focus .el-checkbox__inner,
.theme-success .el-input__inner:focus {
    border-color: var(--el-color-success) !important;
}

.theme-success .el-checkbox__input.is-checked .el-checkbox__inner,
.theme-success .el-checkbox__input.is-indeterminate .el-checkbox__inner {
    background-color: var(--el-color-success) !important;
    border-color: var(--el-color-success) !important;
}

.theme-success .el-button--primary {
    --el-button-text-color: var(--el-color-white);
    --el-button-bg-color: var(--el-color-success);
    --el-button-border-color: var(--el-color-success);
    --el-button-outline-color: var(--el-color-success-light-5);
    --el-button-active-color: var(--el-color-success-dark-2);
    --el-button-hover-text-color: var(--el-color-white);
    --el-button-hover-link-text-color: var(--el-color-success-light-5);
    --el-button-hover-bg-color: var(--el-color-success-light-3);
    --el-button-hover-border-color: var(--el-color-success-light-3);
    --el-button-active-bg-color: var(--el-color-success-dark-2);
    --el-button-active-border-color: var(--el-color-success-dark-2);
    --el-button-disabled-text-color: var(--el-color-white);
    --el-button-disabled-bg-color: var(--el-color-success-light-5);
    --el-button-disabled-border-color: var(--el-color-success-light-5);
}

.theme-success .el-button--primary:focus {
    background-color: var(--el-color-success-light-3) !important;
    border-color: var(--el-color-success-light-3) !important;
}

.theme-success .el-button:not(.el-button--primary):hover,
.theme-success .el-button:not(.el-button--primary):focus,
.theme-success .el-button:not(.el-button--primary):active {
    color: var(--el-color-success);
    background-color: var(--el-color-success-light-9);
    border-color: var(--el-color-success-light-5);
}

.theme-success .el-message-box__status,
.theme-success .el-message-box__headerbtn:hover .el-message-box__close {
    color: var(--el-color-success);
}

.text-warning,
.theme-warning .el-checkbox__input.is-checked + .el-checkbox__label {
    color: var(--el-color-warning) !important;
}

.bg-warning {
    background-color: var(--el-color-warning) !important;
    color: white;
}

.bg-warning-light {
    background-color: var(--el-color-warning-lighter) !important;
}

.border-warning,
.theme-warning .el-checkbox__input.is-focus .el-checkbox__inner,
.theme-warning .el-input__inner:focus {
    border-color: var(--el-color-warning) !important;
}

.theme-warning .el-checkbox__input.is-checked .el-checkbox__inner,
.theme-warning .el-checkbox__input.is-indeterminate .el-checkbox__inner {
    background-color: var(--el-color-warning) !important;
    border-color: var(--el-color-warning) !important;
}

.theme-warning .el-button--primary {
    --el-button-text-color: var(--el-color-white);
    --el-button-bg-color: var(--el-color-warning);
    --el-button-border-color: var(--el-color-warning);
    --el-button-outline-color: var(--el-color-warning-light-5);
    --el-button-active-color: var(--el-color-warning-dark-2);
    --el-button-hover-text-color: var(--el-color-white);
    --el-button-hover-link-text-color: var(--el-color-warning-light-5);
    --el-button-hover-bg-color: var(--el-color-warning-light-3);
    --el-button-hover-border-color: var(--el-color-warning-light-3);
    --el-button-active-bg-color: var(--el-color-warning-dark-2);
    --el-button-active-border-color: var(--el-color-warning-dark-2);
    --el-button-disabled-text-color: var(--el-color-white);
    --el-button-disabled-bg-color: var(--el-color-warning-light-5);
    --el-button-disabled-border-color: var(--el-color-warning-light-5);
}

.theme-warning .el-button--primary:focus {
    background-color: var(--el-color-warning-light-3) !important;
    border-color: var(--el-color-warning-light-3) !important;
}

.theme-warning .el-button:not(.el-button--primary):hover,
.theme-warning .el-button:not(.el-button--primary):focus,
.theme-warning .el-button:not(.el-button--primary):active {
    color: var(--el-color-warning);
    background-color: var(--el-color-warning-light-9);
    border-color: var(--el-color-warning-light-5);
}

.theme-warning .el-message-box__status,
.theme-warning .el-message-box__headerbtn:hover .el-message-box__close {
    color: var(--el-color-warning);
}

.text-danger,
.theme-danger .el-checkbox__input.is-checked + .el-checkbox__label {
    color: var(--el-color-danger) !important;
}

.bg-danger {
    background-color: var(--el-color-danger) !important;
    color: white;
}

.bg-danger-light {
    background-color: var(--el-color-danger-lighter) !important;
}

.border-danger,
.theme-danger .el-checkbox__input.is-focus .el-checkbox__inner,
.theme-danger .el-input__inner:focus,
.is-error .el-input__inner,
.theme-success .is-error .el-input__inner:focus,
.theme-warning .is-error .el-input__inner:focus {
    border-color: var(--el-color-danger) !important;
}

.theme-danger .el-checkbox__input.is-checked .el-checkbox__inner,
.theme-danger .el-checkbox__input.is-indeterminate .el-checkbox__inner {
    background-color: var(--el-color-danger) !important;
    border-color: var(--el-color-danger) !important;
}

.theme-danger .el-button--primary {
    --el-button-text-color: var(--el-color-white);
    --el-button-bg-color: var(--el-color-danger);
    --el-button-border-color: var(--el-color-danger);
    --el-button-outline-color: var(--el-color-danger-light-5);
    --el-button-active-color: var(--el-color-danger-dark-2);
    --el-button-hover-text-color: var(--el-color-white);
    --el-button-hover-link-text-color: var(--el-color-danger-light-5);
    --el-button-hover-bg-color: var(--el-color-danger-light-3);
    --el-button-hover-border-color: var(--el-color-danger-light-3);
    --el-button-active-bg-color: var(--el-color-danger-dark-2);
    --el-button-active-border-color: var(--el-color-danger-dark-2);
    --el-button-disabled-text-color: var(--el-color-white);
    --el-button-disabled-bg-color: var(--el-color-danger-light-5);
    --el-button-disabled-border-color: var(--el-color-danger-light-5);
}

.theme-danger .el-button--primary:focus {
    background-color: var(--el-color-danger-light-3) !important;
    border-color: var(--el-color-danger-light-3) !important;
}

.theme-danger .el-button:not(.el-button--primary):hover,
.theme-danger .el-button:not(.el-button--primary):focus,
.theme-danger .el-button:not(.el-button--primary):active {
    color: var(--el-color-danger);
    background-color: var(--el-color-danger-light-9);
    border-color: var(--el-color-danger-light-5);
}

.theme-danger .el-message-box__status,
.theme-danger .el-message-box__headerbtn:hover .el-message-box__close {
    color: var(--el-color-danger);
}

.disabled {
    color: var(--el-text-color-placeholder) !important;
}

.el-dropdown-menu__item .el-icon {
    text-align: center;
    margin-right: 6px;
}

.el-dropdown-menu__item .el-icon:before {
    width: calc(100vw); /* 尽可能撑开，以与高度保持一致 */
}

.el-form-item {
    margin-bottom: 1rem;
}

.el-form-item.el-form-item--large {
    margin-bottom: 20px;
}

.el-form-item__label,
.el-form-item__label .el-checkbox__label {
    font-weight: 600;
}

.el-form--label-right .el-form-item__label {
    padding-right: 1rem;
}

.el-form--label-top .el-form-item__label {
    padding-bottom: 0;
    margin-bottom: 0.25rem;
    line-height: 2rem;
}

.el-form--label-top .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before {
    content: '';
    margin-right: 0;
}

.el-form--label-top .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:after {
    content: '*';
    color: var(--el-color-danger);
    margin-left: 4px;
}

.el-form-item.form-title {
    width: 100%;
}

.el-form-item.form-title:not(:first-child) {
    padding-top: 0.5rem;
}

.el-form-item.form-title .el-form-item__label-wrap {
    margin-left: 0 !important;
}

.el-form-item.form-title .el-form-item__label,
.el-form-item.form-title .el-form-item__content {
    color: inherit;
    font-size: 1rem;
    font-weight: bold;
}

.form-columns,
.form-columns-2,
.form-columns-3,
.form-columns-4 {
    display: flex;
    flex-wrap: wrap;
}

.form-columns-2 .el-form-item:not(.form-title) {
    width: 50%;
}

.form-columns-3 .el-form-item:not(.form-title) {
    width: 33.33%;
}

.form-columns-4 .el-form-item:not(.form-title) {
    width: 25%;
}

.el-form-item .el-table__empty-block,
.el-form-item .el-table__empty-text {
    min-height: 48px;
    line-height: 48px;
}

.el-form-item__content .el-input__inner {
    --el-input-inner-height: var(--el-input-height, 32px);
}

.el-form-item--feedback.ignore-feedback .el-form-item__label:before {
    content: unset;
}

.el-form-item--feedback.ignore-feedback .el-input__inner,
.el-form-item--feedback .ignore-feedback .el-input__inner {
    border-color: var(--el-border-color);
}

.el-form-item--feedback.ignore-feedback .el-input__validateIcon,
.el-form-item--feedback .ignore-feedback .el-input__validateIcon {
    display: none;
}

.mx-auto.el-form--label-top .el-form-item__content > .el-button:not(.w-fit-content),
.mx-auto .el-form--label-top .el-form-item__content > .el-button:not(.w-fit-content) {
    width: 100%;
}

.mx-auto.el-form--label-top .el-form-item__content > .el-button:not(.w-fit-content):not(:first-child),
.mx-auto .el-form--label-top .el-form-item__content > .el-button:not(.w-fit-content):not(:first-child) {
    margin: 0.75rem 0 0 0;
}

.mx-auto .el-form--label-top.el-form--small .el-form-item__content > .el-button:not(.w-fit-content):not(:first-child) {
    margin-top: 0.5rem;
}

.new-error-line .el-form-item__content,
.el-form-item__content + .new-error-line {
    flex-wrap: wrap;
}

.el-form-item__content > p {
    margin-top: 0;
    margin-bottom: 0;
}

.el-form-item__content tr {
    line-height: 1;
}

.el-form-item__content .el-radio-group,
.el-form-item__content .el-checkbox-group:not(.el-transfer-panel__list) {
    min-height: 2rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.el-form-item__content .el-radio-group .el-radio,
.el-form-item__content .el-checkbox-group:not(.el-transfer-panel__list) .el-checkbox {
    line-height: 2rem;
}

.content-flex-column .el-form-item__content {
    flex-direction: column;
    align-items: start;
}

.el-form-item__content ul {
    padding-left: 1.5rem;
}

/*
 * 水平表单的字段错误
 */
.el-form-item__error--inline {
    padding-top: 0;
    margin: 0 0 0 0.5rem;
}

.new-error-line .el-form-item__error--inline,
.w-100 + .el-form-item__error--inline,
.el-col-24 + .el-form-item__error--inline {
    position: absolute;
    top: 100%;
    margin: 2px 0;
    white-space: nowrap;
}

.form-item-tip {
    font-size: 0.75rem;
    line-height: 1rem;
    color: var(--el-text-color-secondary);
    font-weight: normal;
}

div.form-item-tip {
    margin-top: 4px;
    width: 100%;
}

span.form-item-tip {
    margin-top: 0;
    margin-left: 1rem;
}

.el-form > .form-item-tip {
    margin-top: -6px;
    margin-bottom: 1rem;
}

.is-error div.form-item-tip {
    visibility: hidden;
}

.is-error span.form-item-tip {
    display: none;
}

.el-form--label-top .el-form-item__error {
    padding-top: 3px; /* 确保表单栏后紧跟按钮时，与按钮之间的间距均衡 */
}

div.form-item-tip + .el-form-item__error {
    position: absolute;
    top: calc(100% - 14px);
    margin: 0;
    padding-top: 0;
}

.is-success .el-form-item__error {
    display: none;
}

.el-input__wrapper {
    padding: 0 10px;
}

.el-input--large .el-input__wrapper {
    padding: 0 12px;
}

.el-textarea__inner {
    padding: 4px 10px;
}

.el-button:not(.el-button--large):not(.el-button--small) {
    height: unset;
    min-height: var(--el-button-size);
}

.el-input:not(.el-input--large):not(.el-input--small) .el-button {
    height: 32px;
}

.el-button + .el-button {
    margin-left: 0.5rem;
}

.el-button.w-100 + .el-button {
    margin-left: 0;
}

.el-button--text.is-disabled,
.el-button--text.is-disabled:focus,
.el-button--text.is-disabled:hover {
    background-color: transparent;
}

.el-dropdown > div {
    cursor: pointer;
    width: 100%;
}

.el-dropdown > .el-button-group,
.el-dropdown > .el-button-group > .el-button {
    height: 100%;
}

.el-card__header .el-dropdown {
    display: flex;
    align-items: center;
    color: var(--el-color-primary);
}

/*
 * 在没渲染前不可见
 */
el-header {
    display: none;
}

el-header ul.tnxel-nav,
.el-header ul.tnxel-nav {
    display: flex;
    flex-direction: row;
    list-style: none;
    margin: 0;
    height: 100%;
}

.el-header ul.tnxel-nav li {
    display: flex;
    align-items: center;
    color: inherit;
}

.el-header ul.tnxel-nav li i {
    font-size: 18px;
}

.el-header ul.tnxel-nav li a {
    padding-left: 1rem;
    padding-right: 1rem;
    text-decoration: none;
}

.el-header ul.tnxel-nav li a:hover,
.el-header ul.tnxel-nav li a:focus {
    text-decoration: none;
}

.el-header ul.tnxel-nav li a i,
.el-header ul.tnxel-nav li button i {
    color: rgba(96, 98, 102, 0.7);
}

.el-header ul.tnxel-nav li a:hover i {
    color: rgba(96, 98, 102, 1);
}

.el-header ul.tnxel-nav li button {
    height: 100%;
    border-radius: 0;
    border: none;
    padding-left: 1rem;
    padding-right: 1rem;
}

.el-header ul.tnxel-nav li .el-badge {
    height: 100%;
}

.el-header ul.tnxel-nav li .el-badge .el-badge__content.is-fixed {
    top: 16px;
    right: 24px;
}

/*
 * 渲染之前占位
 */
el-card {
    visibility: hidden;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.el-card__header {
    padding: 0.75rem 1rem;
}

.el-card__body {
    padding: 1rem;
}

.el-card__body .card-body-text {
    font-size: 14px;
}

.el-form .el-card__body,
.pb-0 > .el-card__body {
    padding: 1rem 1rem 0 1rem;
}

.el-alert {
    margin-bottom: 1rem;
}

.el-alert.w-100 .el-alert__content {
    width: 100%;
}

.el-alert .el-alert__icon {
    margin-right: 0.5rem;
}

.el-alert .el-alert__content {
    padding: 0;
}

.el-message-box {
    padding: 0;
}

.el-message-box__header {
    padding: 12px 1rem;
    border-bottom: 1px solid var(--el-border-color);
}

.el-message-box__title {
    font-size: 14px;
}

.el-message-box__headerbtn {
    margin-top: 4px;
}

.el-message-box__content {
    padding: 1rem;
}

.el-message-box__btns {
    padding: 0 1rem 1rem 1rem;
    flex-direction: row-reverse;
    justify-content: flex-start;
}

.el-message-box__btns button:nth-child(2) {
    margin-left: 0;
    margin-right: 0.5rem;
}

.el-message.tnxel-toast {
    padding: 1rem;
    width: fit-content;
    min-width: 60px;
    max-width: 300px;
    display: flex;
    flex-direction: column;
}

.el-message.tnxel-toast .el-message__icon {
    margin: 0 0 0.5rem 0;
    font-size: 1.5rem;
}

/**
 * 页签中的图标显示在文本后
 */
.el-tabs__item .el-badge__content.is-fixed {
    position: unset;
    transform: translateY(6px) translateX(8px);
}

.el-table__row .is-center .cell .w-fit-content {
    width: auto !important;
}

.el-table .cell > .el-image {
    display: table-cell;
}

.tnxel-tag-select .el-input {
    margin-bottom: 5px;
    width: 210px;
}

.tnxel-table_tags.el-table__cell {
    padding-top: 10px;
    padding-bottom: 10px;
}

.tnxel-table_tags.el-table__cell .el-tag {
    margin: 2px 4px 2px 0;
}

.tnxel-tag-select .el-pagination {
    margin-top: 5px;
    line-height: 28px;
}

.tnxel-tag-select .el-pagination .el-pager {
    line-height: 28px;
}

.el-sub-menu .el-menu-item {
    min-width: unset;
}

.el-drawer__header {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #dcdfe6;
    margin-bottom: 0.5rem;
}

.el-drawer__body {
    padding: 1rem;
}

.el-empty {
    --el-empty-padding: 1rem 0;
}

.el-empty__description {
    margin-top: 0.75rem;
}

.el-popover__reference-wrapper {
    cursor: pointer;
}

.el-tabs--border-card {
    box-shadow: none;
}

.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
    color: var(--el-text-color-primary);
}

.el-tabs--border-card > .el-tabs__content {
    padding: 1rem;
}

.el-checkbox {
    margin-right: 1.5rem;
}

.el-checkbox__label {
    padding-left: 0.5rem;
}

.el-card__header .el-checkbox {
    height: auto;
}

.el-card__header .el-checkbox__input {
    margin-top: 2px;
}

.el-card__header .el-checkbox__label {
    font-size: var(--bs-body-font-size);
}

.el-divider__text {
    padding: 0 0.5rem;
}

.el-divider__text.is-left {
    left: 1rem;
}

.el-icon:not(.el-message-box__status) {
    font-size: unset;
}

/*
 * 修正Bootstrap造成的影响
 */
i svg {
    vertical-align: unset;
}

.el-button-group > .el-dropdown:first-child .el-button {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.el-button-group > .el-dropdown:last-child .el-button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.el-button-group > .el-dropdown:not(:first-child):not(:last-child) .el-button {
    border-radius: 0;
}

.el-dialog {
    --el-dialog-padding-primary: 0;
}

.el-dialog__header {
    margin-right: 0;
}

.el-dialog__headerbtn {
    top: 0;
}

.el-dialog__body {
    padding: 1rem;
    color: inherit;
    overflow-x: hidden;
    overflow-y: auto;
}

.el-message__content {
    text-align: center;
    line-height: 1.2;
}

.el-button-group .el-button--primary:not(:first-child).is-plain {
    border-left-color: var(--el-button-border-color);
}

.el-button-group .el-button--primary:not(:last-child).is-plain {
    border-right-color: var(--el-button-border-color);
}

.el-message-box .el-message-box__btns .el-button--primary:focus {
    background-color: var(--el-color-primary);
}

.el-message-box.reverse .el-message-box__btns .el-button--primary {
    order: -1;
    margin-right: 0;
    margin-left: 0.5rem;
}

.el-popper.is-dark .el-popover__title {
    color: var(--el-bg-color);
}

.el-tabs__nav.is-top {
    display: flex;
}

.el-input-group__append,
.el-input-group__prepend {
    padding: 0 16px;
}

/* 修正表单保存后，位于输入框前置部分的下拉菜单高度未撑满导致的样式偏差 */
.el-input-group__prepend .el-select,
.el-input-group__prepend .el-select .select-trigger,
.el-input-group__prepend .el-select .select-trigger .el-input {
    height: 100%;
}

.el-message-box__message {
    word-break: break-all;
    overflow-wrap: break-word;
}

.link {
    color: var(--el-color-primary);
    text-decoration: none;
    cursor: pointer;
}

.link:hover {
    color: var(--el-color-primary-light-5);
}

.is-disabled .link {
    color: var(--el-color-primary-light-5);
    cursor: not-allowed;
}

.el-input-group__append div.el-select .el-select__wrapper,
.el-input-group__append div.el-select:hover .el-select__wrapper,
.el-input-group__prepend div.el-select .el-select__wrapper,
.el-input-group__prepend div.el-select:hover .el-select__wrapper {
    background-color: var(--el-color-white);
}
