input:focus {
    outline: none;
}

.dt-buttons.btn-group button {
    border-radius: .375rem !important;
}
#processando {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    display: none;
    align-items: center;
}

/* Contêiner interno para o cubo */
.loading-container {
    display: flex;
    height: 100vh;
    justify-content: center;
    align-items: center;
}
.sk-fold {
    width: 40px;
    height: 40px;
    position: relative;
    transform: rotateZ(45deg);
}

.sk-fold-cube {
    float: left;
    width: 50%;
    height: 50%;
    position: relative;
    transform: scale(1.1);
    background-color: #fff;
}

    .sk-fold-cube:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #8c57ff;
        animation: sk-foldCubeAngle 2.4s infinite linear both;
        transform-origin: 100% 100%;
    }

    .sk-fold-cube:nth-child(2):before {
        animation-delay: 0.3s;
    }

    .sk-fold-cube:nth-child(3):before {
        animation-delay: 0.6s;
    }

    .sk-fold-cube:nth-child(4):before {
        animation-delay: 0.9s;
    }

@keyframes sk-foldCubeAngle {
    0%, 10% {
        transform: perspective(140px) rotateX(-180deg);
        opacity: 0;
    }

    25%, 75% {
        transform: perspective(140px) rotateX(0deg);
        opacity: 1;
    }

    90%, 100% {
        transform: perspective(140px) rotateY(180deg);
        opacity: 0;
    }
}

.icon-base {
    block-size: var(--bs-icon-size);
    font-size: var(--bs-icon-size);
    inline-size: var(--bs-icon-size);
    line-height: 1;
    vertical-align: middle;
}

.icon-6px, .icon-6px::before {
    block-size: 6px !important;
    font-size: 6px !important;
    inline-size: 6px !important;
}

.icon-8px, .icon-8px::before {
    block-size: 8px !important;
    font-size: 8px !important;
    inline-size: 8px !important;
}

.icon-10px, .icon-10px::before {
    block-size: 10px !important;
    font-size: 10px !important;
    inline-size: 10px !important;
}

.icon-12px, .icon-12px::before {
    block-size: 12px !important;
    font-size: 12px !important;
    inline-size: 12px !important;
}

.icon-14px, .icon-14px::before {
    block-size: 14px !important;
    font-size: 14px !important;
    inline-size: 14px !important;
}

.icon-16px, .icon-16px::before {
    block-size: 16px !important;
    font-size: 16px !important;
    inline-size: 16px !important;
}

.icon-18px, .icon-18px::before {
    block-size: 18px !important;
    font-size: 18px !important;
    inline-size: 18px !important;
}

.icon-20px, .icon-20px::before {
    block-size: 20px !important;
    font-size: 20px !important;
    inline-size: 20px !important;
}

.icon-22px, .icon-22px::before {
    block-size: 22px !important;
    font-size: 22px !important;
    inline-size: 22px !important;
}

.icon-24px, .icon-24px::before {
    block-size: 24px !important;
    font-size: 24px !important;
    inline-size: 24px !important;
}

.icon-26px, .icon-26px::before {
    block-size: 26px !important;
    font-size: 26px !important;
    inline-size: 26px !important;
}

.icon-28px, .icon-28px::before {
    block-size: 28px !important;
    font-size: 28px !important;
    inline-size: 28px !important;
}

.icon-30px, .icon-30px::before {
    block-size: 30px !important;
    font-size: 30px !important;
    inline-size: 30px !important;
}

.icon-32px, .icon-32px::before {
    block-size: 32px !important;
    font-size: 32px !important;
    inline-size: 32px !important;
}

.icon-36px, .icon-36px::before {
    block-size: 36px !important;
    font-size: 36px !important;
    inline-size: 36px !important;
}

.icon-40px, .icon-40px::before {
    block-size: 40px !important;
    font-size: 40px !important;
    inline-size: 40px !important;
}

.icon-42px, .icon-42px::before {
    block-size: 42px !important;
    font-size: 42px !important;
    inline-size: 42px !important;
}

.icon-46px, .icon-46px::before {
    block-size: 46px !important;
    font-size: 46px !important;
    inline-size: 46px !important;
}

.icon-48px, .icon-48px::before {
    block-size: 48px !important;
    font-size: 48px !important;
    inline-size: 48px !important;
}

.icon-xs, .icon-xs::before {
    block-size: var(--bs-icon-size-xs);
    font-size: var(--bs-icon-size-xs);
    inline-size: var(--bs-icon-size-xs);
}

.icon-sm, .icon-sm::before {
    block-size: var(--bs-icon-size-sm);
    font-size: var(--bs-icon-size-sm);
    inline-size: var(--bs-icon-size-sm);
}

.icon-md, .icon-md::before {
    block-size: var(--bs-icon-size-md);
    font-size: var(--bs-icon-size-md);
    inline-size: var(--bs-icon-size-md);
}

.icon-lg, .icon-lg::before {
    block-size: var(--bs-icon-size-lg);
    font-size: var(--bs-icon-size-lg);
    inline-size: var(--bs-icon-size-lg);
}

.icon-xl, .icon-xl::before {
    block-size: var(--bs-icon-size-xl);
    font-size: var(--bs-icon-size-xl);
    inline-size: var(--bs-icon-size-xl);
}