.mm-checkbox { cursor: pointer; &__input-wrapper { position: relative; } &__input { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; &:hover:not(:disabled) { background-color: var(--color-background-default-hover); } &:focus { border-color: var(--color-primary-default); } &:disabled { color: var(--color-icon-muted); cursor: not-allowed; } } &__input--checked:hover:not(:disabled), &__input--indeterminate:hover:not(:disabled) { border-color: var(--color-primary-alternative); background-color: var(--color-primary-alternative); } &__input--checked#{&}__input--readonly, &__input--checked#{&}__input--readonly:hover, &__input--indeterminate#{&}__input--readonly, &__input--indeterminate#{&}__input--readonly:hover { border-color: var(--color-icon-alternative); background-color: var(--color-icon-alternative); cursor: not-allowed; } &--disabled { opacity: var(--opacity-disabled); } &__icon { position: absolute; top: 0; left: 0; pointer-events: none; } }