.checkbox {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;

    &.disabled, .disabled:hover, .disabled:focus-visible {
        cursor: default;
        background-color: transparent !important;

        & * {
            cursor: default;
            color: var(--palette-text-disabled);
        }
    }

    &.readonly, .readonly:hover {
        cursor: default;
    }

    & .checkbox-dense {
        padding: 4px;
    }
}

.checkbox-input {
    top: 0;
    left: 0;
    width: 100%;
    cursor: inherit;
    height: 100%;
    margin: 0;
    opacity: 0;
    padding: 0;
    z-index: 1;
    position: absolute;
}

.checkbox-span {
    display: inline-block;
    width: 100%;
    cursor: pointer;
}

