.el-badge {
    --el-badge-bg-color: var(--el-color-danger);
    --el-badge-radius: 10px;
    --el-badge-font-size: 12px;
    --el-badge-padding: 6px;
    --el-badge-size: 18px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    width: fit-content
}

.el-badge__content {
    align-items: center;
    background-color: var(--el-badge-bg-color);
    border: 1px solid var(--el-bg-color);
    border-radius: var(--el-badge-radius);
    color: var(--el-color-white);
    display: inline-flex;
    font-size: var(--el-badge-font-size);
    height: var(--el-badge-size);
    justify-content: center;
    padding: 0 var(--el-badge-padding);
    white-space: nowrap
}

.el-badge__content.is-fixed {
    position: absolute;
    right: calc(1px + var(--el-badge-size)/2);
    top: 0;
    transform: translateY(-50%) translate(100%);
    z-index: var(--el-index-normal)
}

.el-badge__content.is-fixed.is-dot {
    right: 5px
}

.el-badge__content.is-dot {
    border-radius: 50%;
    height: 8px;
    padding: 0;
    right: 0;
    width: 8px
}

.el-badge__content--primary {
    background-color: var(--el-color-primary)
}

.el-badge__content--success {
    background-color: var(--el-color-success)
}

.el-badge__content--warning {
    background-color: var(--el-color-warning)
}

.el-badge__content--info {
    background-color: var(--el-color-info)
}

.el-badge__content--danger {
    background-color: var(--el-color-danger)
}

.el-message {
    --el-message-bg-color: var(--el-color-info-light-9);
    --el-message-border-color: var(--el-border-color-lighter);
    --el-message-padding: 11px 15px;
    --el-message-close-size: 16px;
    --el-message-close-icon-color: var(--el-text-color-placeholder);
    --el-message-close-hover-color: var(--el-text-color-secondary);
    align-items: center;
    background-color: var(--el-message-bg-color);
    border-color: var(--el-message-border-color);
    border-radius: var(--el-border-radius-base);
    border-style: var(--el-border-style);
    border-width: var(--el-border-width);
    box-sizing: border-box;
    display: flex;
    gap: 8px;
    left: 50%;
    max-width: calc(100% - 32px);
    padding: var(--el-message-padding);
    position: fixed;
    top: 20px;
    transform: translate(-50%);
    transition: opacity var(--el-transition-duration), transform .4s, top .4s;
    width: fit-content
}

.el-message.is-center {
    justify-content: center
}

.el-message.is-plain {
    background-color: var(--el-bg-color-overlay);
    border-color: var(--el-bg-color-overlay);
    box-shadow: var(--el-box-shadow-light)
}

.el-message p {
    margin: 0
}

.el-message--success {
    --el-message-bg-color: var(--el-color-success-light-9);
    --el-message-border-color: var(--el-color-success-light-8);
    --el-message-text-color: var(--el-color-success)
}

.el-message--success .el-message__content {
    color: var(--el-message-text-color);
    overflow-wrap: break-word
}

.el-message .el-message-icon--success {
    color: var(--el-message-text-color)
}

.el-message--info {
    --el-message-bg-color: var(--el-color-info-light-9);
    --el-message-border-color: var(--el-color-info-light-8);
    --el-message-text-color: var(--el-color-info)
}

.el-message--info .el-message__content {
    color: var(--el-message-text-color);
    overflow-wrap: break-word
}

.el-message .el-message-icon--info {
    color: var(--el-message-text-color)
}

.el-message--warning {
    --el-message-bg-color: var(--el-color-warning-light-9);
    --el-message-border-color: var(--el-color-warning-light-8);
    --el-message-text-color: var(--el-color-warning)
}

.el-message--warning .el-message__content {
    color: var(--el-message-text-color);
    overflow-wrap: break-word
}

.el-message .el-message-icon--warning {
    color: var(--el-message-text-color)
}

.el-message--error {
    --el-message-bg-color: var(--el-color-error-light-9);
    --el-message-border-color: var(--el-color-error-light-8);
    --el-message-text-color: var(--el-color-error)
}

.el-message--error .el-message__content {
    color: var(--el-message-text-color);
    overflow-wrap: break-word
}

.el-message .el-message-icon--error {
    color: var(--el-message-text-color)
}

.el-message .el-message__badge {
    position: absolute;
    right: -8px;
    top: -8px
}

.el-message__content {
    font-size: 14px;
    line-height: 1;
    padding: 0
}

.el-message__content:focus {
    outline-width: 0
}

.el-message .el-message__closeBtn {
    color: var(--el-message-close-icon-color);
    cursor: pointer;
    font-size: var(--el-message-close-size)
}

.el-message .el-message__closeBtn:focus {
    outline-width: 0
}

.el-message .el-message__closeBtn:hover {
    color: var(--el-message-close-hover-color)
}

.el-message-fade-enter-from,
.el-message-fade-leave-to {
    opacity: 0;
    transform: translate(-50%, -100%)
}

:root {
    --el-loading-spinner-size: 42px;
    --el-loading-fullscreen-spinner-size: 50px
}

.el-loading-parent--relative {
    position: relative !important
}

.el-loading-parent--hidden {
    overflow: hidden !important
}

.el-loading-mask {
    background-color: var(--el-mask-color);
    bottom: 0;
    left: 0;
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity var(--el-transition-duration);
    z-index: 2000
}

.el-loading-mask.is-fullscreen {
    position: fixed
}

.el-loading-mask.is-fullscreen .el-loading-spinner {
    margin-top: calc((0px - var(--el-loading-fullscreen-spinner-size))/2)
}

.el-loading-mask.is-fullscreen .el-loading-spinner .circular {
    height: var(--el-loading-fullscreen-spinner-size);
    width: var(--el-loading-fullscreen-spinner-size)
}

.el-loading-spinner {
    margin-top: calc((0px - var(--el-loading-spinner-size))/2);
    position: absolute;
    text-align: center;
    top: 50%;
    width: 100%
}

.el-loading-spinner .el-loading-text {
    color: var(--el-color-primary);
    font-size: 14px;
    margin: 3px 0
}

.el-loading-spinner .circular {
    animation: loading-rotate 2s linear infinite;
    display: inline;
    height: var(--el-loading-spinner-size);
    width: var(--el-loading-spinner-size)
}

.el-loading-spinner .path {
    animation: loading-dash 1.5s ease-in-out infinite;
    stroke-dasharray: 90, 150;
    stroke-dashoffset: 0;
    stroke-width: 2;
    stroke: var(--el-color-primary);
    stroke-linecap: round
}

.el-loading-spinner i {
    color: var(--el-color-primary)
}

.el-loading-fade-enter-from,
.el-loading-fade-leave-to {
    opacity: 0
}

@keyframes loading-rotate {
    to {
        transform: rotate(1turn)
    }
}

@keyframes loading-dash {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -40px
    }
    to {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -120px
    }
}